Skip to main content
Glama

OpenDeepSearch

by tositon
mcp.ts1.97 kB
/** * Type definitions for Model Context Protocol (MCP) * Since we don't have access to the official SDK, we'll define our own types */ /** * MCP Tool Definition */ export interface MCPToolDefinition { name: string; description: string; parameters: { type: string; properties: Record<string, any>; required?: string[]; }; } /** * MCP Tool Response */ export interface MCPToolResponse { status: 'success' | 'error'; result?: any; error?: string; } /** * MCP Tool Interface */ export interface MCPTool { getDefinition(): MCPToolDefinition; execute(params: any): Promise<MCPToolResponse>; } /** * MCP Server Options */ export interface MCPServerOptions { name: string; version: string; description: string; } /** * MCP Server */ export class MCPServer { private options: MCPServerOptions; private tools: Map<string, MCPTool> = new Map(); constructor(options: MCPServerOptions) { this.options = options; } /** * Register a tool with the server * @param tool The tool to register */ registerTool(tool: MCPTool): void { const definition = tool.getDefinition(); this.tools.set(definition.name, tool); } /** * Start the MCP server * This is a simplified implementation that doesn't actually start a server * In a real implementation, this would start a WebSocket server */ async start(): Promise<void> { // In a real implementation, this would start a WebSocket server // For now, we'll just log that the server is starting console.log(`Starting MCP server: ${this.options.name} v${this.options.version}`); console.log(`Description: ${this.options.description}`); console.log(`Registered tools: ${Array.from(this.tools.keys()).join(', ')}`); } /** * Stop the MCP server */ async stop(): Promise<void> { // In a real implementation, this would stop the WebSocket server console.log(`Stopping MCP server: ${this.options.name}`); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tositon/OpenDeepSearch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server