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 等)。
  • 安装与运行步骤
    • 先决条件
      • 需要在本地构建并运行 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 支持。

服务器信息