Tim 模型上下文协议服务器
使用说明
- 项目简介
- 该项目实现一个基于 MCP(Model Context Protocol)的后端服务,专注于向 LLM 客户端提供统一的资源、工具和提示渲染能力,并通过标准化的 JSON-RPC 进行通信。
- 服务器设计目标是可扩展、可安全对接多种 LLM 客户端(如 Claude Code、Codex 等),并支持多传输通道以适应不同部署场景。
- 主要功能点
- Resource 管理:托管和访问可供 LLM 客户端使用的数据和资源,提供数据访问能力。
- Tools 注册与执行:注册外部功能入口,允许 LLM 调用外部工具并获取结果。
- Prompts 定义与渲染:提供用于与 LLM 交互的 Prompt 模板,支持可定制的交互模式。
- JSON-RPC 通信:服务器端接收客户端请求(读取资源、调用工具、获取 Prompt 等),并返回标准的 JSON-RPC 响应。
- 会话与能力声明:维护会话上下文,声明服务器能力,动态响应客户端能力需求。
- 多传输协议:支持 Stdio、SSE、WebSocket 等传输通道,确保在不同环境下的可用性。
- 安装与运行
- 克隆仓库并安装依赖:
- 安装工具如 Bun、Node 环境、以及项目依赖。
- 安装为全局工具(可选):
- 将仓库构建后绑定到全局命令以便直接使用 MCP 服务器入口。
- 运行示例:
- 使用 tim mcp-server 启动 MCP 服务器,指定传输模式与端口等配置。
- 克隆仓库并安装依赖:
- 服务器配置(给 MCP 客户端的配置说明,配置内容采用 JSON 格式)
- 服务器配置示例(描述性文本,不包含代码片段,仅作为配置字段说明)
- serverName: tim-mcp
- command: tim
- args: ["mcp-server", "--mode", "generate", "--transport", "stdio"]
- transport: stdio
- mode: generate
- 说明:以上配置用于 MCP 客户端了解如何启动并连接到 MCP 服务器。客户端通常需要该信息来建立初始连接和后续通信。
- 说明:客户端不需要直接包含服务器实现的源代码,只需要了解服务器的启动命令及必要参数(以便建立 JSON-RPC 通道)。
- 服务器配置示例(描述性文本,不包含代码片段,仅作为配置字段说明)
- 基本使用方法
- 启动服务器后,客户端通过 JSON-RPC 进行请求,例如读取资源、执行 Tools、获取 Prompts 等。
- 服务器应在会话层面声明自身能力,并按需向客户端提供资源和工具的上下文信息。
- 支持的传输通道可以在启动时通过参数指定,方便在不同环境(本地、容器、WebSocket 客户端等)中使用。
- 设计与扩展
- MCP 服务器应设计为插件化:资源、工具与 Prompts 的实现可独立扩展,以便支持更多数据源和外部服务。
- 安全性:对外部工具调用、资源读取等操作进行权限控制,提供能力声明与最小权限原则。