mcp-deep-research
Version:
[](https://smithery.ai/server/@baranwang/mcp-deep-research) [](https://www.npmjs.com/package/mcp-deep-research) .default('general').describe('Search topic'),
rounds: external_zod_namespaceObject.z.number().default(1).describe('Current search round, defaults to 1')
});
async function deepResearch(args) {
if (!CONFIG.TAVILY_API_KEY) return {
isError: true,
content: [
{
type: 'text',
text: 'Please configure the `TAVILY_API_KEY` environment variable, get it from https://tavily.com/'
}
]
};
const { question, reference = '', keywords = [], topic, rounds } = DeepResearchToolSchema.parse(args);
let searchResults = reference;
if (keywords.length) {
const results = await Promise.allSettled(keywords.map((keyword)=>searchTavily(keyword, {
topic
})));
searchResults += results.filter((result)=>'fulfilled' === result.status).map((result)=>result.value).join('\n');
}
return {
content: [
{
type: 'text',
text: generatePrompt(question, searchResults, rounds)
}
]
};
}
async function main() {
const mcpServer = new mcp_js_namespaceObject.McpServer({
name: 'DeepResearch',
version: CONFIG.PACKAGE_VERSION
}, {
capabilities: {
tools: {}
}
});
mcpServer.server.setRequestHandler(types_js_namespaceObject.ListToolsRequestSchema, ()=>({
tools: [
{
name: 'deep-research',
description: 'Deep web information search tool that can conduct multi-round in-depth research based on keywords and topics',
inputSchema: (0, external_zod_to_json_schema_namespaceObject.zodToJsonSchema)(DeepResearchToolSchema)
}
]
}));
mcpServer.server.setRequestHandler(types_js_namespaceObject.CallToolRequestSchema, (request)=>deepResearch(request.params.arguments));
const transport = new stdio_js_namespaceObject.StdioServerTransport();
await mcpServer.connect(transport);
}
main().catch((error)=>{
console.error(error);
process.exit(1);
});
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
Object.defineProperty(exports, '__esModule', {
value: true
});