使用说明
项目简介
'effect-mcp' 是一个使用 TypeScript 和 Effect 框架开发的 Model Context Protocol (MCP) 服务器库。它旨在提供一个灵活且可扩展的 MCP 服务端实现,支持通过 Server-Sent Events (SSE) 等多种传输协议与 LLM 客户端进行通信。该项目目前仍在积极开发中,但已具备 MCP 服务器的基本框架和核心功能。
主要功能点
- 资源 (Resources) 管理: 提供系统信息等内置资源,并支持通过模板动态生成资源。
- 工具 (Tools) 注册与调用: 内置了如 'GetName', 'Echo', 'Calculator' 等示例工具,支持工具的注册和远程调用。
- Prompt 模板 (Prompts) 定义与渲染: 预置了多种 Prompt 模板,如 'chat', 'code-generation', 'summarize' 等,支持根据客户端请求渲染 Prompt。
- 基于 SSE 的传输: 使用 Server-Sent Events (SSE) 协议与客户端进行实时通信。
- JSON-RPC 协议: 遵循 MCP 协议规范,使用 JSON-RPC 格式处理客户端请求和服务器响应。
- 会话管理: 支持客户端会话管理,为每个客户端维护独立会话。
- 能力声明: 声明服务器支持的 MCP 协议版本和功能,方便客户端了解服务器能力。
安装步骤
- 克隆仓库:
git clone https://github.com/jpowersdev/effect-mcp.git - 进入项目目录:
cd effect-mcp - 安装依赖:
pnpm install
服务器配置
MCP 客户端需要配置以下信息以连接 'effect-mcp' 服务器。请注意,'effect-mcp' 服务器默认监听 '3000' 端口,可以通过设置环境变量 'PORT' 来自定义端口。
{ "serverName": "effect-mcp", "command": "node", "args": ["./dist/main.js"], "description": "Effect MCP Server using SSE transport", "transport": "sse", "baseUrl": "http://localhost:3000/mcp/messages", "contentType": "application/json" }
配置参数说明:
- 'serverName': 服务器名称,可以自定义。
- 'command': 启动服务器的命令,这里使用 'node' 运行 JavaScript 代码。
- 'args': 命令参数,指向编译后的 'main.js' 文件。请确保先执行 'pnpm install' 安装依赖,并可能需要构建项目 (例如 'pnpm build',虽然此仓库未提供构建命令,但通常 TypeScript 项目需要构建)。
- 'description': 服务器描述,可以自定义。
- 'transport': 传输协议,这里为 'sse' (Server-Sent Events)。
- 'baseUrl': SSE 连接的基础 URL,指向服务器的 '/mcp/messages' 路径。
- 'contentType': 内容类型,固定为 'application/json'。
环境变量配置:
- 'PORT': 服务器监听端口,默认为 '3000'。如果需要更改端口,可以在启动服务器前设置环境变量,例如 'PORT=8080 node ./dist/main.js'。
基本使用方法
-
启动服务器: 在项目根目录下,执行命令 'pnpm install' 安装依赖后,运行 'node ./dist/main.js' 启动服务器 (可能需要先构建项目,但仓库未提供构建命令,请根据实际情况调整)。服务器成功启动后,会监听在配置的端口上(默认为 3000 端口)。
-
配置 MCP 客户端: 在 MCP 客户端中,根据 服务器配置 部分提供的 JSON 配置信息,配置连接到 'effect-mcp' 服务器。
-
客户端与服务器交互: 客户端通过 SSE 连接到服务器,并按照 MCP 协议规范,发送 JSON-RPC 请求到服务器,例如获取资源列表、调用工具、获取 Prompt 等。服务器接收请求后,会进行处理并通过 SSE 连接返回 JSON-RPC 响应或发送通知。
注意:
- 此项目目前处于 'Under Development' 状态,部分功能可能尚未完善,API 也可能发生变化。
- 仓库中提供的 'tsup.config.ts' 是一个打包配置文件,但实际是否需要构建以及如何构建,请参考项目文档或开发者说明。如果 'node ./src/main.ts' 可以直接运行,则无需额外构建步骤,但生产环境可能需要构建打包后的代码。
- 客户端的具体使用方法需要参考 MCP 客户端的文档,根据其配置项填入上述服务器配置信息即可。
信息
分类
AI与计算