J-Code MCP 服务端实现

使用说明(Markdown 格式)

项目简介

  • 这是一个以 MCP(Model Context Protocol)为核心的后端服务,实现对资源、工具、 prompts 的统一管理与暴露,并通过 JSON-RPC 与客户端通信,提供会话与跨服务器协作能力,旨在为大语言模型提供可扩展的上下文服务。

主要功能点

  • 资源与工具管理:托管、访问和注册资源与工具,工具可供 MCP 客户端在上下文中调用。
  • Prompt 定义与渲染:定义和渲染可定制的 Prompt 模板,支持多种交互模式。
  • MCP 协议实现:实现基于 JSON-RPC 的请求/响应及相关事件(如 ToolStart/ToolDone、ModelChanged、History、SwarmStatus 等)的传输。
  • 会话与记忆管理:会话生命周期、跨会话记忆与上下文管理,支持持久化与恢复。
  • 集成 Swarm 与上下文协作:支持跨会话/跨代理的协同工作、冲突检测与共享上下文。
  • 多传输协议支持:支持 Stdio、Server-Sent Events、WebSocket 等传输模式,以实现本地、云端和前端客户端的互联互通。
  • MCP 服务器编排与管理:提供多服务器场景的生命周期和注册管理能力,便于扩展与接入外部 MCP 服务。

安装步骤

  • 准备环境:确保已安装 Rust 工具链
  • 构建并安装
    • cargo build --release
    • 或 cargo install --path .
  • 启动 MCP 服务器(示例命令,实际请结合项目部署调整)
    • jcode serve
  • 运行 MCP 客户端进行连接测试(示例在后述服务器配置中给出)

服务器配置(MCP 客户端需要该配置来连接 MCP 服务器)

以下 JSON 示例描述了一个 MCP 服务器的配置信息。MCP 客户端将使用该配置来发现并连接对应的 MCP 服务器。请依据实际部署的服务器名称与执行命令来填写。

{ "servers": { "jcode-mcp": { "name": "jcode-mcp", "command": "jcode", "args": ["serve"], "env": {} } // 说明: // - name: MCP 服务器的唯一名称,示例为 "jcode-mcp" // - command: 启动 MCP 服务器的可执行文件,这里使用本仓库的可执行名(jcode) // - args: 启动参数,通常包含子命令如 "serve"(具体请按实现约定调整) // - env: 运行时环境变量,如需要可配置,当前示例为空 } }

基本使用方法

  • 启动服务器
    • 运行 cargo build --release 或 cargo install --path .,然后执行 jcode serve 启动 MCP 服务端
  • 在 MCP 客户端接入后,可通过 MCP 提供的接口读取资源、注册工具、获取并渲染提示模板等上下文信息
  • 如需扩展,请实现新的 MCP 服务或工具,并通过配置进行注册,客户端即可在运行时切换并调用
  • 服务器运行时支持会话创建、历史上下文读取、模型切换等能力,确保 LLM 客户端在不同场景下获得一致的上下文能力

关键词 模型上下文, JSON-RPC, 资源管理, 工具注册, 跨会话协作

分类ID 6

服务器信息