markov-exa-mcp-server
Version:
A Model Context Protocol server with Exa for web search, academic paper search, and Twitter/X.com search. Provides real-time web searches with configurable tool selection, allowing users to enable or disable specific search capabilities. Supports customiz
133 lines • 3.53 kB
TypeScript
export type EntityType = 'company' | 'person' | 'article' | 'research_paper' | 'custom';
export type WebsetStatus = 'idle' | 'running' | 'canceled';
export type SearchStatus = 'running' | 'completed' | 'canceled';
export type ImportStatus = 'pending' | 'processing' | 'completed' | 'failed';
export type ExportStatus = 'pending' | 'completed' | 'failed';
export interface SearchConfig {
query: string;
count: number;
criteria?: Array<{
description: string;
}>;
behavior?: 'append' | 'replace';
}
export interface EnrichmentConfig {
description: string;
format: 'text' | 'number' | 'boolean' | 'json';
schema?: any;
}
export interface EntityConfig {
type: EntityType;
customType?: string;
}
export interface CreateWebsetRequest {
search?: SearchConfig;
enrichments?: EnrichmentConfig[];
entity?: EntityConfig;
metadata?: Record<string, any>;
webhookUrl?: string;
}
export interface WebsetResponse {
id: string;
status: WebsetStatus;
entity?: EntityConfig;
metadata?: Record<string, any>;
createdAt: string;
updatedAt: string;
itemCount?: number;
currentSearches?: Array<{
id: string;
status: SearchStatus;
progress?: {
completed: number;
total: number;
};
}>;
webhookUrl?: string;
}
export interface WebsetItem {
id: string;
websetId: string;
url: string;
title?: string;
content?: string;
verifications?: Array<{
criteria: string;
result: boolean;
explanation?: string;
}>;
enrichments?: Record<string, any>;
metadata?: Record<string, any>;
createdAt: string;
updatedAt: string;
}
export interface ListWebsetsResponse {
data: WebsetResponse[];
hasMore: boolean;
cursor?: string;
}
export interface ListItemsResponse {
data: WebsetItem[];
hasMore: boolean;
cursor?: string;
}
export interface CreateSearchRequest {
websetId: string;
search: SearchConfig;
}
export interface SearchResponse {
id: string;
websetId: string;
status: SearchStatus;
config: SearchConfig;
progress?: {
completed: number;
total: number;
};
createdAt: string;
updatedAt: string;
}
export interface CreateExportRequest {
format?: 'csv' | 'json';
fields?: string[];
}
export interface ExportResponse {
id: string;
websetId: string;
status: ExportStatus;
format: 'csv' | 'json';
downloadUrl?: string;
downloadValidUntil?: string;
createdAt: string;
completedAt?: string;
}
export type EventType = 'webset.created' | 'webset.deleted' | 'webset.paused' | 'webset.idle' | 'webset.search.created' | 'webset.search.updated' | 'webset.search.completed' | 'webset.search.canceled' | 'webset.item.created' | 'webset.item.enriched' | 'webset.export.created' | 'webset.export.completed';
export interface EventResponse {
id: string;
type: EventType;
data: any;
createdAt: string;
}
export interface CreateImportRequest {
size: number;
count: number;
format: 'csv';
entity: EntityConfig;
csv: {
identifier: number;
};
title?: string;
metadata?: Record<string, any>;
}
export interface ImportResponse {
id: string;
status: ImportStatus;
uploadUrl?: string;
uploadValidUntil?: string;
title?: string;
entity: EntityConfig;
metadata?: Record<string, any>;
createdAt: string;
updatedAt: string;
}
//# sourceMappingURL=websets.d.ts.map