Simple-CLI MCP 服务器集成与实现

使用说明(Markdown 格式)

  • 项目简介

    • 本仓库实现了一组基于 MCP(Model Context Protocol)的服务器端示例,聚焦于以标准化方式向 LLM 客户端提供资源、工具、以及可渲染的 Prompt 模板,帮助构建安全、可扩展的上下文服务框架。包含多种 MCP 服务器实现(如 simple_tools、crewai、jules、midjourney 等),以及底层的 MCP 客户端/服务通信与工具加载机制。
  • 主要功能点

    • MCP 服务器核心能力:托管和管理 Resources(用于数据访问)、注册和执行 Tools(外部功能调用)、定义/渲染 Prompts(与 LLM 的交互模式)。服务器通过传输通道(如 Stdio、WebSocket 等)与 MCP 客户端进行JSON-RPC 异步通信。
    • 多种 MCP 服务器实现:覆盖从工具管理、持续上下文管理、对外部 API 的调用、到复杂协作场景的工作流服务器,旨在提供一个可扩展的后端框架用于 LLM 驱动的应用场景。
    • 内存与向量化记忆:ContextManager 结合 Memory(sqlite-vec/SQLite 数据库)实现对历史目标、约束、最近变更的记忆与检索,提升对话上下文的一致性和可追溯性。
    • 工具与技能的加载:Registry 自动从项目文件、技能目录、以及内置工具加载工具,确保 MCP 服务在不同工作空间中可以发现并暴露工具。
    • 模块化设计:各 MCP 服务器实现解耦为独立模块,便于本地扩展、替换和并行开发。
  • 安装步骤

    • 安装依赖:在本地仓库根目录执行安装命令以获取必要的依赖(如 Node/TS 环境、依赖包等)。
    • 构建与启动:将 TypeScript 源码编译成可执行 JS 后,逐个启动感兴趣的 MCP 服务器入口。例如 simple_tools、crewai、jules 等子服务器。具体入口脚本命名与路径请参考各服务器的 index.ts 文件。
    • 传输适配:服务器通常通过 StdioServerTransport 进行对接,客户端需要相应的传输实现来连接与通信。
    • 配置文件(客户端侧使用 MCP 服务器时需提供的 JSON 配置,服务端无需):
      • 服务器配置示例(结构化描述,非代码):
        • 名称:simple_tools
        • 启动命令(command):node
        • 参数(args):["path/to/src/mcp_servers/simple_tools/index.js"]
        • 环境变量(env):可选,用于注入 API keys、Tokens 等
    • 注意:MCP 客户端需要的仅是启动命令与参数的配置信息,服务端的实现会暴露工具与能力供客户端调用。
  • 服务器配置(示例描述,非代码)

    • 配置文件采用 JSON 格式,包含以下字段(按服务器维度整理):
      • name:服务器名称,唯一标识一个 MCP 服务器,例如 simple_tools、crewai、jules 等。
      • command:启动服务器的可执行命令,例如 node。
      • args:启动服务器时传入的参数数组,通常包含服务器入口脚本路径,例如 ["src/mcp_servers/simple_tools/index.js"]。
      • env(可选):环境变量对象,用于注入 API KEY 等敏感信息。
    • 备注:不同服务器实现的入口和参数可能略有差异,请结合实际运行环境与脚本路径配置。
  • 基本使用方法

    • 连接阶段:MCP 客户端读取配置后,通过指定的启动命令和参数启动服务器进程,并建立与服务器的通信(通常通过标准输入/输出或 WebSocket 等传输方式)。
    • 功能探索:通过客户端调用服务暴露的 Tools、查询/渲染 Prompts、管理 Resources、以及使用内置/自定义 Tools。
    • 扩展能力:可以通过新增技能/工具到 skills 目录、扩展 ContextManager 的记忆能力、或者新增 MCP 服务器实现来增强系统能力。
  • 关键词

    • AI 协作、任务编排、上下文管理、工具执行、插件化
  • 分类

    • 6

服务器信息