使用说明
项目简介
该仓库实现了基于 Model Context Protocol (MCP) 的后端服务器能力,包含用于资源管理、工具注册与执行、以及提示模板渲染的模块,并提供多种传输方式以便与不同类型的 LLM 客户端进行对接。
主要功能点
- MCP 协议核心处理:解析与组装 MCP 请求/响应,支持 JSON-RPC 风格通信。
- 资源管理:注册、查询、读取资源等。
- 工具注册与执行:注册工具、绑定处理器并调用外部功能。
- 提示模板管理:提供并渲染可定制的提示模板。
- 多传输支持:stdio、SSE/HTTP stream、InMemory 等传输层实现,便于本地开发、测试以及网络部署。
- 会话与能力声明:管理会话状态、服务能力以及版本信息。
- 异步非阻塞:利用 Nim 的异步模式实现高并发处理。
安装步骤
- 安装 Nim 及相关构建工具(如 choosenim/ nimble)。
- 将仓库克隆到本地:
- git clone https://github.com/jasagiri/mcp-nim-sdk
- 构建示例服务器(以 HTTP Server 示例为例):
- nim c -r examples/http/http_server.nim
- 运行构建出的服务器二进制(通常同目录下生成可执行文件),根据所选传输方式进行启动。
服务器配置(给 MCP 客户端使用的启动信息)
MCP 客户端需要通过配置告知服务器的启动方式与参数。以下为示例配置(JSON 格式): { "server_name": "mcp-nim-http-server", "command": "nim", "args": ["c", "-r", "examples/http/http_server.nim"] } 说明:
- server_name:服务器的唯一名称,便于客户端区分与管理。
- command:启动服务器所需的命令,这里使用 Nim 编译器。
- args:启动命令的参数,指向具体的示例服务器脚本(HTTP Server 示例)。 注:实际部署时请根据具体路径和部署方式调整命令和参数,确保服务器可被客户端正确连接。
基本使用方法
- 启动服务器:按照上面的配置,用 Nim 构建的示例(如 HTTP Server)将作为 MCP 服务对外提供。
- 客户端连接:MCP 客户端使用标准的 JSON-RPC 形式请求资源、调用工具、获取提示等,服务器返回相应的 JSON-RPC 响应或通知。
- 常用操作示例(客户端侧)包括:
- 列出资源、读取资源元数据
- 调用注册的工具(如执行外部命令、计算或转换等)
- 使用和渲染提示模板以获得对话上下文
- 传输选项:若需要流式通信,可使用支持 SSE 的 HTTP 流传输;本地测试可使用 InMemory 传输。
信息
分类
AI与计算