FOUNDATION Local MCP Server
- 项目简介
- FOUNDATION 在本地应用中实现了一个 MCP 服务器,监听本地端口并提供标准 MCP API(初始化、工具列表、工具调用等)。该服务器与应用内的 AI 工具、知识库、实体管理等模块紧密集成,向 LLM 客户端提供上下文信息和可执行的外部功能入口。
- 主要功能点
- MCP 核心通信
- 支持 MCP 的初始化请求、工具列表查询和工具调用等标准 JSON-RPC 接口。
- 处理通知请求(notifications/ 开头的请求)作为“fire-and-forget”通知。
- 工具注册与执行
- 通过工具模板生成可用的工具集合,LLM 客户端可以获取工具清单并调用具体工具。
- 工具执行结果以 JSON-RPC 的标准返回给客户端,支持文本、结构化数据等多种形式。
- 本地运行与多协议接入
- 服务器作为应用的一部分启动,不需要独立的服务器进程,端口固定为本地地址(示例中为 localhost:47177)。
- 安全与扩展
- 通过应用内的会话管理和能力声明控制可提供的能力,便于后续扩展传输协议(如 SSE、WebSocket 等)。
- MCP 核心通信
- 安装与运行步骤
- 先决条件
- 需要在本地构建并运行 FOUNDATION 应用,MCP 服务在应用启动时自动开启并对外暴露。
- 启动步骤(简述)
- 编译并运行 FOUNDATION 应用(如通过 TAURI 构建或开发命令启动应用)。
- 应用启动后,MCP 服务器会在端口 47177 启动,监听 /mcp 路径,接受来自客户端的 MCP 请求。
- 先决条件
- 服务器配置(MCP 客户端需要的配置示例,JSON格式)
{
"serverName": "FOUNDATION Local MCP Server",
"command": "FOUNDATION",
"args": []
}
注释说明:
- serverName: MCP 服务器的名称,标识该本地服务器实例。
- command: 启动该 MCP 服务器的命令。在本仓库中,MCP 服务是应用的一部分,由 FOUNDATION 应用在启动时自动暴露;因此此字段表示运行该应用以开启 MCP 服务。
- args: 启动命令的参数。当前实现不要求额外参数,因此为空数组。MCP 客户端只需要知道服务器地址和端口(如 http://localhost:47177/mcp),无需额外的启动参数。
- 基本使用方法
- 客户端连接
- 以 MCP 客户端方式通过 HTTP 请求发送 JSON-RPC(方法名如 initialize、tools/list、tools/call 等)到 http://localhost:47177/mcp。
- 常用交互
- initialize:协商协议版本、声明能力、获取服务器信息等。
- tools/list:获取可用工具清单及其输入结构。
- tools/call:按需求执行指定工具,返回执行结果与使用信息。
- 安全与扩展
- 服务器在本地运行,避免外部暴露风险;如需扩展传输协议,可在应用中进一步实现 SSE/WebSocket 支持。
- 客户端连接