使用说明
项目简介
本项目是一个 MCP(Model Context Protocol)意图驱动的演示服务器,展示了如何使用声明式配置方法创建和管理灵活的服务器环境。它基于 'agentico/mcp-intent-based' 库构建,旨在帮助开发者理解和实践 MCP 协议在服务器端的应用。
主要功能点
- 声明式配置:通过 'server.yaml' 文件定义服务器的元数据、能力和工具,实现意图驱动的配置方式。
- 工具管理:支持注册和管理工具(Tools),例如示例中提供的 'echo'、'reverse' 和 'uppercase' 工具,允许 LLM 客户端调用这些工具扩展功能。
- 标准 I/O 传输:使用标准输入/输出 (stdio) 作为默认的传输协议,方便服务器与客户端进行通信。
- 日志记录能力:服务器具备基础的日志记录能力,启动时会发送 "Server started!" 日志消息。
安装步骤
-
克隆仓库:将 GitHub 仓库 'https://github.com/agentico-dev/mcp' 克隆到本地。
git clone https://github.com/agentico-dev/mcp cd mcp/mcp-intent-based-demo -
安装依赖:使用 npm 或 yarn 安装项目依赖。
npm install # 或 yarn install -
构建项目:构建 TypeScript 代码到 JavaScript。
npm run build # 或 yarn build -
设置 TOOLS_PATH 环境变量:确保 'TOOLS_PATH' 环境变量指向构建后的 'tools' 目录,以便服务器能够找到工具。
export TOOLS_PATH=$PWD/build/tools或者在运行命令时直接设置:
TOOLS_PATH=$PWD/build/tools
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器:
{ "serverName": "demo-mcp", "command": "./build/index.js", "args": [], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,对应 'server.yaml' 中 'metadata.name' 字段,这里是 "demo-mcp"。
- 'command': 服务器启动命令,指向构建后的 'index.js' 文件。由于是相对路径,请确保 MCP 客户端的当前工作目录在 'mcp-intent-based-demo' 目录下,或者使用绝对路径。
- 'args': 启动参数,本示例服务器无需额外参数,所以为空数组 '[]'。
- 'transport': 传输协议,本示例服务器使用标准输入/输出,设置为 "stdio"。
注意: 请确保 MCP 客户端能够执行 'build/index.js' 文件,必要时可能需要添加执行权限 'chmod +x build/index.js'。
基本使用方法
-
启动服务器:在设置好 'TOOLS_PATH' 环境变量后,运行以下命令启动服务器。
npm run inspector # 或 yarn inspector或者,如果已经设置了 'TOOLS_PATH' 环境变量,可以直接运行构建后的 'index.js' 文件:
node build/index.js服务器启动后,会在控制台输出日志信息 "Server started!"。
-
客户端交互:使用 MCP 客户端,根据上述 服务器配置 连接到该服务器。客户端可以发送 MCP 请求,例如:
- 获取服务器能力声明 (Server Capabilities)
- 调用已注册的工具,如 'echo', 'reverse', 'uppercase'
- (本项目未明确展示资源和 Prompt 模板功能,但 MCP 服务器通常应支持)
具体的客户端请求格式和交互方式需要参考 MCP 协议文档和客户端工具的使用说明。
示例工具调用:
假设 MCP 客户端发送请求调用 'echo' 工具,并传入参数 "hello"。服务器将会执行 'echo' 工具,并将 "hello" 作为结果返回给客户端。类似地,可以调用 'reverse' 和 'uppercase' 工具进行文本处理。
信息
分类
开发者工具