JokesMCP-TS服务器
项目简介
JokesMCP-TS 服务器是一个使用 TypeScript 开发的 MCP 服务器,它集成了从 chucknorris.io 和 icanhazdadjoke.com 获取笑话的功能。该服务器通过 Model Context Protocol (MCP) 协议与客户端通信,允许 LLM 应用通过标准化的方式获取笑话内容。
主要功能点
- 提供笑话工具: 包含 'get-chuck-joke', 'get-chuck-categories', 'get-dad-joke' 三个工具,分别用于获取 Chuck Norris 笑话、Chuck Norris 笑话分类和 Dad Jokes 笑话。
- MCP 协议支持: 基于 MCP 协议构建,能够与任何兼容 MCP 协议的客户端进行交互。
- SSE 传输协议: 使用 Server-Sent Events (SSE) 作为默认的传输协议,实现实时的服务器推送。
- 会话管理: 支持通过 'sessionId' 参数进行会话管理,允许多客户端同时连接。
安装步骤
- 克隆仓库
git clone https://github.com/Laskewitz/JokesMCP-TS.git cd JokesMCP-TS - 安装依赖
确保已安装 Node.js 和 npm,然后运行:
npm install - 启动服务器
运行以下命令启动 JokesMCP-TS 服务器:
或者,如果 'npm start' 没有配置运行 'src/index.ts',可以尝试直接运行:npm start
服务器默认监听 3001 端口。您应该看到 '✅ Server is running at http://localhost:3001' 的提示信息。node src/index.js
服务器配置
对于 MCP 客户端,您需要配置连接到 JokesMCP-TS 服务器的信息。以下是一个典型的 MCP 客户端服务器配置示例(JSON 格式):
{ "serverName": "JokesMCP-TS", "command": "node", "args": ["src/index.js"], "transport": "sse", "baseUrl": "https://your-server-address:3001" }
配置参数说明:
- 'serverName': 服务器的名称,可以自定义,例如 "JokesMCP-TS"。
- 'command': 启动服务器的命令,这里是 'node',假设您使用 Node.js 运行服务器。
- 'args': 传递给启动命令的参数,这里是服务器入口文件 'src/index.js'。 如果您使用 'npm start' 启动,则可能不需要 'args' 或需要修改为 'npm start'。 请根据实际启动命令调整。
- 'transport': 使用的传输协议,这里是 'sse' (Server-Sent Events)。
- 'baseUrl': JokesMCP-TS 服务器的根 URL。请将 'https://your-server-address:3001' 替换为您的服务器实际地址和端口。 如果您在本地运行,并且端口为 3001,则可以使用 'http://localhost:3001'。 注意协议需要与服务器配置匹配,示例代码中使用了 'https://${host}/jokes',实际部署可能需要配置 HTTPS。
重要提示: 客户端需要连接到 '/sse' 路径以建立 SSE 连接,并通过 POST 请求向 '/jokes' 路径发送 MCP 请求。请确保客户端配置中baseUrl正确指向您的JokesMCP-TS服务器地址。
基本使用方法
- 启动 JokesMCP-TS 服务器。
- 配置 MCP 客户端,使其连接到 JokesMCP-TS 服务器的 '/sse' 端点。
- 客户端发送 MCP 请求,例如调用 'get-chuck-joke' 工具以获取 Chuck Norris 笑话。
- 服务器通过 SSE 连接将响应推送给客户端,客户端解析 MCP 响应并获取笑话内容。
例如,客户端可以发送一个 JSON-RPC 请求来调用 'get-chuck-joke' 工具:
{ "jsonrpc": "2.0", "method": "tool_call", "params": { "tool_name": "get-chuck-joke", "arguments": {} }, "id": "1" }
服务器会返回包含笑话内容的 JSON-RPC 响应。
信息
分类
网页与API