使用说明

项目简介

M3M MCP 服务端是一个用于 Claude Code 等大型语言模型工具的后端服务。它实现了 Model Context Protocol(MCP)的核心能力,能够向客户端提供以下内容:

  • 运行时的模块与方法文档
  • 可执行的工具列表及调用能力
  • 基于插件扩展的动态接口描述
  • 通过 JSON-RPC 的请求/响应机制进行通信

支持两种传输模式:

  • 通过标准输入输出(stdio)与 Claude Code 等 CLI 集成
  • 通过 HTTP + SSE(单向推送)/REST 供网页客户端使用

主要功能点

  • 加载内置模块的接口描述,并允许通过插件(.so 文件)扩展描述信息
  • 提供 MCP initialize、tools/list、tools/call 等核心方法,供客户端获取能力声明与执行工具
  • 支持两种传输通道:stdin/stdout 的微服务式交互,以及 HTTP/ SSE 的网页端交互
  • 公共文档接口,按需渲染 Markdown/TypeScript/JSON 格式的 API 文档
  • Claude Code 集成能力,帮助 Claude 了解 M3M API

安装步骤

  • 获取源码后进入仓库根目录
  • 构建 MCP 服务端二进制(在包含 cmd/mcp 的目录执行):
    • go 构建命令,将生成可执行文件(默认名为 m3m-mcp)
  • 运行方式
    • 方式 1(HTTP/SSE):./m3m-mcp --http :3100
    • 方式 2(stdio,Claude Code CLI 适用):直接在 Claude Code 等工具中使用“claude mcp add m3m-api ./m3m-mcp”
  • 插件扩展
    • 将插件的 .so 文件放到默认插件目录(如 ./plugins),服务启动时会自动加载并合并接口描述
  • 运行后,访问
    • SSE 端点:http://<host>:3100/sse
    • REST API: http://<host>:3100/api/

服务器配置(JSON 配置示例)

以下为 MCP 客户端需要的配置示例描述(注意:客户端不需要此文件,只用于理解服务器端启动参数与连接信息): { "server_name": "m3m-api", "command": "./m3m-mcp", "args": [ "--http", ":3100" ], "description": "M3M MCP 服务端,用于 Claude Code 等 LLM 客户端对接的 API 文档与工具执行能力提供" } 说明:

  • server_name:服务器在 MCP 客户端中的标识名称,建议与实际启动的可执行文件名及用途一致
  • command:启动命令(相对路径或绝对路径)
  • args:启动参数,示例为通过 HTTP/SSE 提供服务,监听端口为 3100
  • 注:MCP 客户端通常不需要此配置文件,但理解启动方式和连接参数有助于正确接入

基本使用方法

  • 通过 Claude Code 等工具接入
    • 使用 Claude 的 MCP 功能向服务器发送初始化请求、获取工具清单、调用工具等,完成对 M3M 运行时的查询和交互
  • 通过网页客户端接入
    • 使用 /sse 传输通道与服务端进行交互,能够获取模块文档、搜索结果、以及拼接的提示模板
  • 容错与扩展
    • 当加载插件失败时,服务器会继续使用内置模块,加载成功的插件将追加到 MCP 描述中
    • 服务器端对 JSON-RPC 的请求/响应遵循标准的结构,方便与 LLM 客户端对接与解析

简要操作要点:

  • 启动后,客户端可通过 initialize 获取协议版本与能力声明
  • Tools 列表通过 tools/list 获取,具体工具通过 tools/call 调用
  • 服务器支持插件扩展,增强文档与接口描述能力

信息

分类

AI与计算