feat: MCP tool client infrastructure for agent extensibility

Add the full MCP tool pipeline enabling agents to invoke external tools
(like Brave Search) via MCP servers:

- Add ToolRequest/ToolResponse types and mcp-tool topics to @trustgraph/base
- Create McpToolService (FlowProcessor) that connects to external MCP servers
  via @modelcontextprotocol/sdk StreamableHTTP transport
- Add createMcpTool() to wire MCP tools into the agent's ReAct loop
- Implement config-driven tool registration in AgentService with backward-
  compatible fallback to hardcoded tools
- Add tool filtering by group and state (port of Python tool_filter.py)
- Register mcp-tool in gateway dispatcher and export from @trustgraph/flow
- Fix flow restart race condition: skip restart when flow definitions unchanged
- Update seed config with MCP server config and tool definitions
- Add run scripts for MCP tool service and Brave Search MCP server

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
elpresidank 2026-04-10 05:45:46 -05:00
parent f2b376abef
commit b854b56558
17 changed files with 600 additions and 17 deletions

View file

@ -32,6 +32,7 @@
"document-rag": "tsx scripts/run-document-rag.ts",
"create-test-pdf": "tsx scripts/create-test-pdf.ts",
"seed:demo": "tsx scripts/seed-demo.ts",
"mcp-tool": "tsx scripts/run-mcp-tool.ts",
"llm:azure-openai": "tsx scripts/run-llm-azure-openai.ts",
"llm:openai-compat": "tsx scripts/run-llm-openai-compatible.ts",
"llm:mistral": "tsx scripts/run-llm-mistral.ts"