{"_id":"@agentics.org/agentic-mcp","_rev":"5-8572dfd4fd752d221fd9b0a97779e348","name":"@agentics.org/agentic-mcp","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@agentics.org/agentic-mcp","version":"1.0.0","keywords":["openai","agent","mcp","agentics","ai","llm","research","summarize","web-search","database","customer-support","model-context-protocol","claude","gpt","agentic"],"author":{"name":"Agentics Foundation","email":"info@agentics.org"},"license":"MIT","_id":"@agentics.org/agentic-mcp@1.0.0","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agentics/openai-mcp#readme","bugs":{"url":"https://github.com/agentics/openai-mcp/issues"},"bin":{"agentic-mcp":"dist/index.js"},"dist":{"shasum":"109ca7fa7ddd7acc1957501bb3f4ac0370850c68","tarball":"https://registry.npmjs.org/@agentics.org/agentic-mcp/-/agentic-mcp-1.0.0.tgz","fileCount":41,"integrity":"sha512-lyU7ntjqzjA7mRbmbRmf2bqZje1ANil6Wiurx8KUFyy4l7xyM3OR3nkf+7JHvQpntMyu0aBCuycInbxElCPQmw==","signatures":[{"sig":"MEYCIQDahx7MLAR0qtdpnrYKuSNZUhZb0NsMv5ge9DzuyM0P/QIhAN5tV5G1+12fajysr06R3uTcDJsd+O7NCAWcMVy9qwpI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102188},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"fa05af5695249af45d2d1e28a965adc0a334f920","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","start":"node dist/index.js","test:unit":"jest src/tests/tools.test.ts","prepublishOnly":"npm run build","test:integration":"jest src/tests/integration.test.ts"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agentics/openai-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Agentic MCP Server with advanced AI capabilities including web search, summarization, database querying, and customer support. Built by the Agentics Foundation to enhance AI agents with powerful tools for research, content generation, and data analysis.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.4.7","openai":"^4.20.1","@supabase/supabase-js":"^2.7.1","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agentic-mcp_1.0.0_1741805860263_0.29487542828201607","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agentics.org/agentic-mcp","version":"1.0.1","keywords":["openai","agent","mcp","agentics","ai","llm","research","summarize","web-search","database","customer-support","model-context-protocol","claude","gpt","agentic"],"author":{"name":"Agentics Foundation","email":"info@agentics.org"},"license":"MIT","_id":"@agentics.org/agentic-mcp@1.0.1","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://github.com/agenticsorg/edge-agents#readme","bugs":{"url":"https://github.com/agenticsorg/edge-agents/issues"},"bin":{"agentic-mcp":"dist/index.js"},"dist":{"shasum":"9588de875f8fa47ec6c4fcd2b47f897bb4189905","tarball":"https://registry.npmjs.org/@agentics.org/agentic-mcp/-/agentic-mcp-1.0.1.tgz","fileCount":55,"integrity":"sha512-J1eUZ3ZeT0fJGRyu7o4OBSTB/U6PmrI+7D4wNON8l4FfgQbt6xKIRQAB0Oi2HeVxdTYFbe12tnusIrVCaD5jrA==","signatures":[{"sig":"MEYCIQCniRYWc0W3HhWlWbuDw+ItAI1ARjkWNmaW9z2sZLX5QwIhAJuqGLDX0AkpR6uTpiVfJ9beHEOfbc9T10SAm5yhjfjc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146547},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a09a411026cefa0bc084898156ded688f23e8747","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","start":"node dist/index.js","test:unit":"jest src/tests/tools.test.ts","prepublishOnly":"npm run build","test:integration":"jest src/tests/integration.test.ts"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agenticsorg/edge-agents.git","type":"git","directory":"scripts/agentic-mcp"},"_npmVersion":"10.8.2","description":"Agentic MCP Server with advanced AI capabilities including web search, summarization, database querying, and customer support. Built by the Agentics Foundation to enhance AI agents with powerful tools for research, content generation, and data analysis.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.4.7","openai":"^4.20.1","@supabase/supabase-js":"^2.7.1","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agentic-mcp_1.0.1_1741808506522_0.23776094313748852","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@agentics.org/agentic-mcp","version":"1.0.2","keywords":["openai","agent","mcp","agentics","ai","llm","research","summarize","web-search","database","customer-support","model-context-protocol","claude","gpt","agentic"],"author":{"name":"Agentics Foundation","email":"info@agentics.org"},"license":"MIT","_id":"@agentics.org/agentic-mcp@1.0.2","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://agentics.org","bugs":{"url":"https://github.com/agenticsorg/edge-agents/issues"},"bin":{"agentic-mcp":"dist/index.js"},"dist":{"shasum":"cb7be5424aaf53b2261b86ef75999113d17eb28d","tarball":"https://registry.npmjs.org/@agentics.org/agentic-mcp/-/agentic-mcp-1.0.2.tgz","fileCount":56,"integrity":"sha512-4wlifH/S1TzzSgaKJSTq6m7Dd3W0xkFyLWsTVQQPrHHjJD6STqF1WTuXTxyqTVaw0Dd4H2185vjE6l7z5P0tVg==","signatures":[{"sig":"MEQCIEACT2w0fFiFNCT/b7WA1NX5vYXB7uF54ul+xv6ML0qGAiASeVbMVBw2FS/JTyU7kwTU4D9ZkM/5jTm4/xmu718ixQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147661},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a09a411026cefa0bc084898156ded688f23e8747","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","start":"node dist/index.js","test:unit":"jest src/tests/tools.test.ts","prepublishOnly":"npm run build","test:integration":"jest src/tests/integration.test.ts"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agenticsorg/edge-agents.git","type":"git","directory":"scripts/agentic-mcp"},"_npmVersion":"10.8.2","description":"Agentic MCP Server with advanced AI capabilities including web search, summarization, database querying, and customer support. Built by the Agentics Foundation to enhance AI agents with powerful tools for research, content generation, and data analysis.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.4.7","openai":"^4.20.1","@supabase/supabase-js":"^2.7.1","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agentic-mcp_1.0.2_1741808681776_0.5409893637909777","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@agentics.org/agentic-mcp","version":"1.0.3","keywords":["openai","agent","mcp","agentics","ai","llm","research","summarize","web-search","database","customer-support","model-context-protocol","claude","gpt","agentic"],"author":{"name":"Agentics Foundation","email":"info@agentics.org"},"license":"MIT","_id":"@agentics.org/agentic-mcp@1.0.3","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"homepage":"https://agentics.org","bugs":{"url":"https://github.com/agenticsorg/edge-agents/issues"},"bin":{"agentic-mcp":"dist/index.js"},"dist":{"shasum":"c6540eb065183e73979b5cb4a0f8bebfd5a9ad97","tarball":"https://registry.npmjs.org/@agentics.org/agentic-mcp/-/agentic-mcp-1.0.3.tgz","fileCount":56,"integrity":"sha512-nQoqt087sWcFEV6mw6WATfww7+D85xqtxUK8L3gsHrExyD3vr9puzsFQdEc2cbAxXu+ML2vWjojb917ewj8m3w==","signatures":[{"sig":"MEUCIQCXVBOtDznMQBh25yocPlSw5b7NDfJDtwCeq72Lnq36aQIgIRdLsERc6vlC25PcigArzYfVXTJlvO77eUckPLITz8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147011},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a09a411026cefa0bc084898156ded688f23e8747","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","start":"node dist/index.js","test:unit":"jest src/tests/tools.test.ts","prepublishOnly":"npm run build","test:integration":"jest src/tests/integration.test.ts"},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"repository":{"url":"git+https://github.com/agenticsorg/edge-agents.git","type":"git","directory":"scripts/agentic-mcp"},"_npmVersion":"10.8.2","description":"Agentic MCP Server with advanced AI capabilities including web search, summarization, database querying, and customer support. Built by the Agentics Foundation to enhance AI agents with powerful tools for research, content generation, and data analysis.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dotenv":"^16.4.7","openai":"^4.20.1","@supabase/supabase-js":"^2.7.1","@modelcontextprotocol/sdk":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.0.0","@types/jest":"^29.5.14","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/agentic-mcp_1.0.3_1741809402685_0.19974718255882107","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@agentics.org/agentic-mcp","version":"1.0.4","description":"Agentic MCP Server with advanced AI capabilities including web search, summarization, database querying, and customer support. Built by the Agentics Foundation to enhance AI agents with powerful tools for research, content generation, and data analysis.","main":"dist/index.js","bin":{"agentic-mcp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch","test":"jest","test:unit":"jest src/tests/tools.test.ts","test:integration":"jest src/tests/integration.test.ts","prepublishOnly":"npm run build"},"keywords":["openai","agent","mcp","agentics","ai","llm","research","summarize","web-search","database","customer-support","model-context-protocol","claude","gpt","agentic"],"author":{"name":"Agentics Foundation","email":"info@agentics.org"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/agenticsorg/edge-agents.git","directory":"scripts/agentic-mcp"},"homepage":"https://agentics.org","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","@supabase/supabase-js":"^2.7.1","dotenv":"^16.4.7","openai":"^4.20.1"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^20.0.0","jest":"^29.7.0","ts-jest":"^29.2.6","typescript":"^5.0.0"},"_id":"@agentics.org/agentic-mcp@1.0.4","gitHead":"a09a411026cefa0bc084898156ded688f23e8747","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/agenticsorg/edge-agents/issues"},"_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tmBkJ+1UreY3/44t/2xYIUkBpEqF9CWMabARAS8WYB/0NCV+kMwOzImkiM3OGPAt9j6eMsWcFawlI9h9XJJjNA==","shasum":"0c855ba2c8027310ed120870e5ef6737703e9e5f","tarball":"https://registry.npmjs.org/@agentics.org/agentic-mcp/-/agentic-mcp-1.0.4.tgz","fileCount":64,"unpackedSize":196347,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBluPJ1Pr3Fr817yS15Khg50646qRrqiUrksZkW65WWxAiARIS/lHWGu8fGyUOQbF4zcTv9y97bgRBQGlKii4TOi7w=="}]},"_npmUser":{"name":"ruvnet","email":"ruv@ruv.net"},"directories":{},"maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agentic-mcp_1.0.4_1741815729817_0.28499116887791787"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-12T18:57:40.186Z","modified":"2025-03-12T21:42:10.214Z","1.0.0":"2025-03-12T18:57:40.504Z","1.0.1":"2025-03-12T19:41:46.731Z","1.0.2":"2025-03-12T19:44:41.958Z","1.0.3":"2025-03-12T19:56:42.868Z","1.0.4":"2025-03-12T21:42:10.003Z"},"bugs":{"url":"https://github.com/agenticsorg/edge-agents/issues"},"author":{"name":"Agentics Foundation","email":"info@agentics.org"},"license":"MIT","homepage":"https://agentics.org","keywords":["openai","agent","mcp","agentics","ai","llm","research","summarize","web-search","database","customer-support","model-context-protocol","claude","gpt","agentic"],"repository":{"type":"git","url":"git+https://github.com/agenticsorg/edge-agents.git","directory":"scripts/agentic-mcp"},"description":"Agentic MCP Server with advanced AI capabilities including web search, summarization, database querying, and customer support. Built by the Agentics Foundation to enhance AI agents with powerful tools for research, content generation, and data analysis.","maintainers":[{"name":"ruvnet","email":"ruv@ruv.net"}],"readme":"# @agentics.org/agentic-mcp\n\n[![npm version](https://img.shields.io/npm/v/@agentics.org/agentic-mcp.svg)](https://www.npmjs.com/package/@agentics.org/agentic-mcp)\n[![GitHub Repository](https://img.shields.io/badge/GitHub-Repository-blue.svg)](https://github.com/agenticsorg/edge-agents/tree/main/scripts/agentic-mcp)\n\n![Agentics Foundation](https://img.shields.io/badge/Agentics-Foundation-blue)\n![Version](https://img.shields.io/npm/v/@agentics.org/agentic-mcp)\n![License](https://img.shields.io/npm/l/@agentics.org/agentic-mcp)\n\n# ♾️ Agentic MCP\n\nA powerful Model Context Protocol server with advanced AI capabilities by the Agentics Foundation. Built on the OpenAI Agents API/SDK using TypeScript, this package implements a comprehensive MCP server that enhances AI agents with sophisticated tools and orchestration capabilities:\n\n## 🌟 Core Capabilities\n\n- **🔍 Web Search Research**: Generate comprehensive reports with up-to-date information from the web using `gpt-4o-search-preview`\n- **📝 Smart Summarization**: Create concise, well-structured summaries with key points and citations\n- **🗄️ Database Integration**: Query and analyze data from Supabase databases with structured results\n- **👥 Customer Support**: Handle inquiries and provide assistance with natural language understanding\n- **🔄 Agent Orchestration**: Seamlessly transfer control between specialized agents based on query needs\n- **🔀 Multi-Agent Workflows**: Create complex agent networks with parent-child relationships and shared context\n- **🧠 Context Management**: Sophisticated state tracking with memory, resources, and workflow management\n- **🛡️ Guardrails System**: Configurable input and output validation to ensure safe and appropriate responses\n- **📊 Tracing & Debugging**: Comprehensive logging and debugging capabilities for development\n- **🔌 Edge Function Deployment**: Ready for deployment as Supabase Edge Functions\n- **🔄 Streaming Support**: Real-time streaming responses for interactive applications\n\n## 🚀 Installation\n\n```bash\n# Install globally\nnpm install -g @agentics.org/agentic-mcp\n\n# Or as a project dependency\nnpm install @agentics.org/agentic-mcp\n```\n\n## 🏗️ Architecture\n\nThe Agentic MCP server is built on a modular architecture that enables seamless integration between AI agents and external tools:\n\n### Core Components\n\n- **MCP Server**: The central server that registers and routes tool execution requests\n- **Tool Registry**: Manages the available tools, ensuring each tool is validated and can be executed\n- **Context System**: Sophisticated state management with parent-child relationships for complex workflows\n- **Agent Orchestration**: Intelligent routing between specialized agents based on query requirements\n- **Guardrails System**: Configurable input and output validation to ensure safe and appropriate responses\n\n### Agent Types\n\n- **Research Agent**: Utilizes web search to gather and analyze information with citations\n- **Database Agent**: Queries and analyzes data from Supabase databases\n- **Customer Support Agent**: Handles user inquiries with natural language understanding\n- **Specialized Agents**: Extensible framework for creating domain-specific agents\n\n## 🔧 Configuration\n\nCreate a configuration file for the MCP server. Here's a sample configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"openai-agent\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"dist/index.js\"\n      ],\n      \"env\": {\n        \"OPENAI_API_KEY\": \"YOUR_API_KEY_HERE\",\n        \"SUPABASE_URL\": \"https://your-supabase-project.supabase.co\",\n        \"SUPABASE_KEY\": \"YOUR_SUPABASE_KEY_HERE\",\n        \"LLM_DEBUG\": \"true\",\n        \"AGENT_LIFECYCLE\": \"true\",\n        \"TOOL_DEBUG\": \"true\"\n      },\n      \"disabled\": false,\n      \"autoApprove\": [\n        \"research\",\n        \"support\",\n        \"customer_support\",\n        \"database_query\",\n        \"handoff_to_agent\",\n        \"summarize\"\n      ]\n    }\n  }\n}\n```\n\n## 🏃‍♂️ Usage\n\n### As a Command Line Tool\n\n```bash\n# Set required environment variables\nexport OPENAI_API_KEY=your_api_key_here\nexport SUPABASE_PROJECT_ID=your_project_id\nexport SUPABASE_ACCESS_TOKEN=your_access_token\n\n# Run the MCP server\nagentic-mcp\n```\n\n### As a Library\n\n```javascript\nimport { OpenAIAgentMCPServer } from '@agentics.org/agentic-mcp';\n\nconst server = new OpenAIAgentMCPServer({\n  name: 'openai-agent',\n  version: '1.0.0',\n  openai: {\n    apiKey: process.env.OPENAI_API_KEY,\n    defaultModel: 'gpt-4o-mini'\n  },\n  tracing: {\n    enabled: true,\n    level: 'debug'\n  },\n  tools: {\n    enabled: ['research', 'database_query', 'customer_support', 'handoff_to_agent', 'summarize'],\n    config: {\n      database: {\n        projectId: process.env.SUPABASE_PROJECT_ID,\n        key: process.env.SUPABASE_ACCESS_TOKEN\n      },\n      openai: {\n        apiKey: process.env.OPENAI_API_KEY\n      }\n    }\n  },\n  guardrails: {\n    enabled: true,\n    rules: []\n  }\n});\n\nserver.serve().catch(error => {\n  console.error(\"❌ Server error:\", error);\n  process.exit(1);\n});\n```\n\n## 🧩 Advanced Features\n\n### Context Management System\n\nThe Agentic MCP includes a sophisticated context management system that enables:\n\n- **Hierarchical Context**: Parent-child relationships for complex agent workflows\n- **State Tracking**: Persistent state across multiple interactions\n- **Memory Management**: Store and retrieve information across agent calls\n- **Resource Sharing**: Share resources between agents in a workflow\n- **Action Tracking**: Monitor and log agent actions for auditing and debugging\n\n```javascript\n// Example of context management\nconst context = new Context();\ncontext.initializeWorkflow();\ncontext.remember('user_preference', { theme: 'dark' });\ncontext.trackAction('research_initiated');\n```\n\n### Agent Orchestration\n\nThe system supports sophisticated agent orchestration patterns:\n\n- **Dynamic Routing**: Automatically route queries to the most appropriate agent\n- **Handoff Protocol**: Seamlessly transfer control between specialized agents\n- **Workflow Tracking**: Maintain context and state across agent transitions\n- **Multi-Agent Collaboration**: Enable multiple agents to work together on complex tasks\n\n```javascript\n// Example of agent handoff\nconst handoffTool = {\n  name: \"handoff_to_agent\",\n  description: \"Transfer the conversation to another specialized agent\",\n  parameters: {\n    type: \"object\",\n    properties: {\n      agent_name: {\n        type: \"string\",\n        enum: [\"researcher\", \"database_expert\", \"customer_support\"]\n      },\n      reason: {\n        type: \"string\"\n      }\n    },\n    required: [\"agent_name\", \"reason\"]\n  },\n  execute: async (params) => {\n    // Handoff logic\n  }\n};\n```\n\n### Guardrails System\n\nThe Agentic MCP includes a configurable guardrails system for ensuring safe and appropriate responses:\n\n- **Input Validation**: Filter and validate user inputs before processing\n- **Output Validation**: Ensure agent responses meet safety and quality standards\n- **Custom Rules**: Define custom validation rules for specific use cases\n- **Failure Handling**: Graceful handling of guardrail violations\n\n```javascript\n// Example guardrail implementation\nconst customGuardrail = {\n  async check(msgs, context) {\n    // Validation logic\n    return true;\n  },\n  onFailure(msgs, context) {\n    // Failure handling\n  }\n};\n```\n\n### Streaming Support\n\nThe system supports real-time streaming responses for interactive applications:\n\n- **Partial Results**: Stream partial results as they become available\n- **Tool Call Events**: Stream tool call events for visibility into agent actions\n- **Progress Indicators**: Provide progress updates during long-running operations\n\n```javascript\n// Example of streaming usage\nconst streamIterator = AgentRunner.run_streamed(agent, [input]);\nfor await (const event of streamIterator) {\n  // Process streaming event\n  console.log(event.delta);\n}\n```\n\n## 🛠️ Creating and Using Tools\n\n### Creating a New Tool\n\n1. **Create a New Module**: Add a new TypeScript file in the `src/mcp/tools/` directory\n2. **Implement the Interface**: Your tool should implement the `MCPTool` interface\n3. **Register the Tool**: Update the tool registration logic in `src/mcp/server.ts` to include the new tool\n\n```typescript\n// Example tool implementation\nexport class CustomTool implements MCPTool {\n  name = 'custom_tool';\n  description = 'Description of your custom tool';\n  inputSchema = {\n    type: 'object',\n    properties: {\n      param1: {\n        type: 'string',\n        description: 'Description of parameter 1'\n      }\n    },\n    required: ['param1']\n  };\n\n  async execute(params: any, context: Context): Promise<any> {\n    // Tool implementation\n    return { result: 'Success' };\n  }\n}\n```\n\n### Using the Tools\n\n- **Tool Requests**: MCP clients issue requests by specifying the tool name and parameters\n- **Web Search Integration**: The research tool utilizes the `gpt-4o-search-preview` model with web search enabled\n- **Approval**: Tools must be listed in the `autoApprove` section of the MCP settings\n\n## 🔍 Troubleshooting and Debugging\n\n- **Logging**: The server is configured with tracing options (LLM_DEBUG, AGENT_LIFECYCLE, TOOL_DEBUG)\n- **Registry Debugging**: The `ToolRegistry` class logs tool registration and execution details\n- **Web Search**: For the research tool, ensure that the model `gpt-4o-search-preview` is used\n- **Context Inspection**: Examine the context state for debugging complex workflows\n- **Action Tracking**: Review tracked actions to understand agent behavior\n\n## 📄 License\n\nMIT\n\n## 👥 Contributors\n\n- Agentics Foundation ([@agenticsorg](https://github.com/agenticsorg))\n- rUv ([@ruvnet](https://github.com/ruvnet))\n\n---\n\nCreated by the Agentics Foundation\n","readmeFilename":"README.md"}