feat(mcp): mcp 独立应用与 /mcp Streamable HTTP 端点(官方 SDK + PSR-7 桥接)

This commit is contained in:
augushong
2026-08-16 22:15:19 +08:00
parent 1ab276b1e9
commit c21bf9f240
9 changed files with 489 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
<?php
declare(strict_types=1);
namespace base\mcp\service;
/**
* MCP 工具分发器T8 实现真实分发).
*
* 职责T8以 McpService::verifyNode 还原编码工具名 -> 校验权限 ->
* 内部 HTTP 调用对应节点 -> McpService::logCall 审计。
*
* T7 仅提供空壳占位,保证 tools/list 与 tools/call 链路可用:
* call 返回固定错误文案,由 ToolResultFormatter 包装为 TextContent。
*/
class McpDispatchBase
{
/**
* 分发一次 MCP 工具调用.
*
* @param array $auth McpService::authenticate() 的返回结构key_row + creator
* @param string $toolName MCP 编码工具名(如 system-quick--index需 verifyNode 还原)
* @param array $arguments 客户端原始参数(已剔除 _session/_request 内部键)
* @return string 工具执行结果(文本)
*/
public function call(array $auth, string $toolName, array $arguments): string
{
// T8 实现真实分发逻辑
return '[ERROR] 分发器未就绪T8 实现)';
}
}