mirror of
https://github.com/Lydanne/spaceflow.git
synced 2026-03-11 19:52:45 +08:00
2.1 KiB
2.1 KiB
mcp — MCP 服务
启动 Model Context Protocol (MCP) 服务器,聚合所有已安装 Extension 提供的 MCP 工具。
基本用法
# 启动 MCP Server
spaceflow mcp
# 启动 MCP Inspector(调试模式)
spaceflow mcp --inspector
工作原理
- 扫描 Extension — 加载所有已安装的 Extension
- 收集工具 — 查找带有
@McpServer装饰器的类,提取其 MCP 工具定义 - 启动服务 — 通过 stdio 传输协议启动 MCP Server
- 注册工具 — 将所有工具注册到 MCP Server,支持 JSON Schema 参数校验
MCP Inspector
使用 --inspector 启动 MCP Inspector,提供 Web UI 调试界面:
spaceflow mcp --inspector
Inspector 会自动下载并启动 @modelcontextprotocol/inspector,提供:
- 工具列表查看
- 工具调用测试
- 请求/响应日志
在编辑器中配置
Claude Desktop
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"spaceflow": {
"command": "spaceflow",
"args": ["mcp"]
}
}
}
Cursor
在 .cursor/mcp.json 中添加:
{
"mcpServers": {
"spaceflow": {
"command": "spaceflow",
"args": ["mcp"]
}
}
}
开发 MCP 工具
Extension 可以通过 @McpServer 和 @McpTool 装饰器暴露 MCP 工具:
import { McpServer, McpTool, Injectable } from "@spaceflow/core";
@McpServer({ name: "my-tools", description: "我的工具集" })
@Injectable()
export class MyMcpTools {
@McpTool({
name: "hello",
description: "打招呼",
inputSchema: {
type: "object",
properties: {
name: { type: "string", description: "名字" },
},
required: ["name"],
},
})
async hello(args: { name: string }): Promise<string> {
return `Hello, ${args.name}!`;
}
}
命令行选项
| 选项 | 简写 | 说明 |
|---|---|---|
--inspector |
-i |
启动 MCP Inspector 调试模式 |
--verbose |
-v |
详细日志(-v 基本,-vv 详细,-vvv 调试) |