使用说明
项目简介
本项目 'mcp-server' 是一个基于 Model Context Protocol (MCP) 的服务端实现,专注于提供字符串的 Base64 编码和解码功能。它作为一个独立的 MCP 服务,可以与任何兼容 MCP 协议的 LLM 客户端集成,为 LLM 应用提供字符串处理能力。
主要功能点
- Base64 编码工具: 将普通文本字符串编码为 Base64 格式,适用于在需要传输或存储文本数据,但又需要避免特殊字符或二进制数据问题的场景。
- Base64 解码工具: 将 Base64 编码的字符串解码回原始文本,用于还原被编码的文本数据。
- MCP 协议支持: 完全遵循 Model Context Protocol 规范,保证与 MCP 客户端的兼容性和互操作性。
- Stdio 通信: 使用标准输入输出 (stdio) 作为通信通道,简化部署和集成。
安装步骤
-
克隆仓库
首先,使用 Git 克隆 'mcp-server' 仓库到本地:
git clone https://github.com/DreamCats/mcp-server -
进入目录
克隆完成后,进入 'mcp-server' 目录:
cd mcp-server/mcp-encoding-server -
安装依赖
使用 npm 安装项目依赖:
npm install
服务器配置
MCP 客户端需要配置以下 JSON 信息来连接和使用此 MCP 服务器。请注意,这里的 'command' 和 'args' 是客户端用来启动 MCP 服务器进程的。
{ "serverName": "string-encoding-server", // MCP 服务器名称,与代码中定义的一致 "command": "./encoding-server.js", // 启动服务器的命令,指向 encoding-server.js 脚本 "args": [], // 启动参数,本项目无需额外参数 "transport": "stdio", // 使用 stdio 传输协议 "capabilities": { // 服务器声明的能力 "tools": {} // 本服务器提供工具能力 } }
配置说明:
- 'serverName': 服务器的唯一标识名称,必须与 'mcp-encoding-server/index.ts' 中 'Server' 构造函数的 'name' 字段一致。
- 'command': 启动 MCP 服务器进程的命令。由于 'encoding-server.js' 文件头声明了 '#!/usr/bin/env node',且在快速开始中直接使用 './encoding-server.js' 运行,因此这里配置为 './encoding-server.js'。 请确保该脚本具有执行权限 ('chmod +x encoding-server.js')。
- 'args': 启动命令的参数。本项目服务器脚本不需要任何启动参数,因此配置为空数组 '[]'。
- 'transport': 指定 MCP 服务器使用的传输协议,本项目使用 'stdio'。
- 'capabilities': 声明服务器提供的能力,本项目声明了 'tools' 能力。
重要提示: MCP 客户端需要能够执行 'command' 指定的命令。请确保客户端环境已安装 Node.js,并且 'encoding-server.js' 脚本路径正确。
基本使用方法
-
启动 MCP 服务器
MCP 客户端根据上述配置启动 'mcp-encoding-server'。服务器成功启动后,会在控制台输出 "MCP String Encoding Server running on stdio"。
-
客户端调用工具
LLM 客户端可以通过 MCP 协议向 'mcp-encoding-server' 发送 'CallToolRequest' 请求,调用 'encode' 或 'decode' 工具。
-
调用 'encode' 工具示例 (JSON-RPC 请求体)
{ "jsonrpc": "2.0", "method": "callTool", "params": { "toolName": "encode", "arguments": { "text": "Hello, MCP!" } }, "id": "1" }服务器会返回 Base64 编码后的字符串,例如:
{ "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "{\"encodedText\":\"SGVsbG8sIE1DUCENCg==\"}" } ] }, "id": "1" } -
调用 'decode' 工具示例 (JSON-RPC 请求体)
{ "jsonrpc": "2.0", "method": "callTool", "params": { "toolName": "decode", "arguments": { "encodedText": "SGVsbG8sIE1DUCENCg==" } }, "id": "1" }服务器会返回解码后的原始字符串,例如:
{ "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "{\"decodedText\":\"Hello, MCP!\"}" } ] }, "id": "1" }
客户端需要根据 MCP 协议规范构造和解析 JSON-RPC 请求和响应,才能与 'mcp-encoding-server' 进行有效通信。
-
总结
'mcp-server' 提供了一个简单但实用的 MCP 服务示例,展示了如何基于 MCP 协议构建工具服务。开发者可以参考此项目,扩展更多类型的工具服务,以满足 LLM 应用的各种需求。
信息
分类
开发者工具