使用说明
“Magic Number MCP Server”翻译成中文是“魔法数字MCP服务器”
这个仓库托管了一个可流式传输的HTTP模型上下文协议(MCP)服务器,该服务器展示了两个工具,并配备了详尽的日志记录和进度遥测功能。服务器采用TypeScript编写,编译为Node.js,并通过HTTP暴露了一个单一的MCP端点。
工具暴露
-
get_magic_number
生成一个1到100之间的随机整数(含1和100)。服务器在“准备魔法”时会发出多步进度通知,并返回人类可读的文本和结构化的JSON数据magicNumber,traceId,generatedAtIso)。 -
perform_magic_op
接受一个数字数组,并执行一种神秘的聚合操作,返回一个隐藏的结果。进度通知描述了仪式的各个阶段,而结构化的响应则包含resultValue,count,traceId,和generatedAtIso任何非有限输入都将被排除,并发出警告。
所有工具调用都进行了详尽的监控:包括标准输出日志记录、服务器发送的日志通知(通过 sendLoggingMessage), 取消处理,以及MCP(管理控制点/主控程序)进度事件。
代码布局
src/server.ts启动Express,加载配置,并注册MCP工具。src/tools/包含每个工具的编排逻辑,将进度/日志记录委托给共享辅助程序。src/operations/提供纯粹的业务逻辑(随机滚动,神秘聚合)。src/logging/并且src/mcp/保持可重复使用的日志记录管道,并ToolExecution包装器。
安装
npm install
开发工作流程
npm run dev— 通过(某种方式)启动TypeScript源代码tsx支持实时重载。npm run build— 将TypeScript编译成dist/。npm start— 运行编译后的服务器(dist/server.js)。
环境变量:
PORT(默认3000)HOST(默认127.0.0.1)LOG_LEVEL(默认debug):debug,info,warn,error。
MCP终端节点
服务器发布一个单一的MCP端点:
http://<HOST>:<PORT>/mcp
使用默认值时,这会变成 http://127.0.0.1:3000/mcp。
连接到MCP检查器
npx @modelcontextprotocol/inspector --url http://127.0.0.1:3000/mcp
从用户界面选择任意一个工具,提供参数(用于 perform_magic_op 提供JSON { "numbers": [1, 2, 3] }),并观察流式处理进度以及日志消息。
其他客户
- **Claude Code / VS Code MCP(注:这里的“MCP”可能是一个特定上下文中的缩写或标识,但没有直接的中文对应,因此在翻译中保留原样。如果“MCP”有特定含义,如“微软认证专家”等,应根据具体语境进行翻译。)**添加一个指向相同URL的可流式HTTP服务器。
- 光标使用MCP配置对话框并输入
http://127.0.0.1:3000/mcp。
日志记录与可观测性
控制台输出带有时间戳且结构化;MCP客户端也会接收到带有标签的日志通知 magic-number-server. 进度事件携带相同的信息 traceId 在工具输出中显示,以便更轻松地进行调试。
