Skip to the content.

Task 25 — MCP-адаптер

Phase: 2 Status: done Owner: — Slug: mcp-adapter

Goal

Hercules может потреблять выбранные MCP-серверы и экспонировать подходящие инструменты через MCP-совместимый адаптер. Built-in tools остаются .NET-имплементациями без отдельного процесса.

Acceptance criteria

Sub-tasks

Scope / Likely files

src/agent/Mcp/, src/agent/Tools/McpAdapter/

Dependencies

Implementation notes

2026-08-12

Добавлено:

src/agent/Mcp/Models.cs — McpServerHealthStatus enum + McpServerState record: Name, Transport, Status, ConnectedAt, LastErrorAt, LastError, ToolCount, ServerVersion.

src/agent/Mcp/IMcpClientTool.cs — interface for testability of McpToolAdapter:

src/agent/Mcp/McpToolAdapter.cs — ITool wrapper for MCP client tools:

src/agent/Mcp/McpClientService.cs — manages MCP server connections:

src/agent/Mcp/McpServerHost.cs — BackgroundService hosting Hercules tools as MCP server:

src/agent/Mcp/HerculesMcpServerTool.cs — adapter converting ITool → MCP Tool:

src/agent/Hercules.WebApi/Controllers/McpController.cs — 3 endpoints:

src/agent/Config/AppConfig.cs — McpServerConfig extended with:

src/agent/Tools/Registry/ToolRegistryService.cs — added RegisterTool(ITool):

Program.cs (CLI + WebAPI):

tests/.../Mcp/McpToolAdapterTests.cs — 16 тестов:

tests/.../Mcp/McpClientServiceTests.cs — 8 тестов:

Validation:

Risks / Rollback

Поверхность атаки MCP-серверов; strict capability allowlist.