使用说明
🪙 硬币翻转MCP
一个简单轻便的模型上下文协议(MCP)服务器,提供硬币翻转工具。调用时随机生成“head”或“tails”。
这是什么?
这是一个MCP服务器 xmcp 它公开了一个工具: toss_coin这是一个使用TypeScript构建MCP服务器的简单示例。
特性
✨ 简单 -一个工具,一个目的
🎲 真正的随机 -用途 Math.random() 无偏见的硬币翻转
⚡ 轻量级 -最小依赖性
🚀 生产就绪 -使用xmcp框架构建
安装
- 克隆或下载此项目
- 安装依赖项:
pnpm install
快速开始
发展模式
通过热重新加载启动MCP服务器:
pnpm dev
这将启动服务器并监视更改。
生产构建
构建项目:
pnpm build
运行内置服务器:
pnpm start
用法
服务器公开 toss_coin 通过MCP工具。调用时,它返回以下任一值:
headstails
示例通话
Tool: toss_coin
Input: (no parameters needed)
Output: "heads" or "tails"
项目结构
src/
└── tools/
└── toss-coin.ts # The coin flip tool implementation
运作原理
这 toss_coin 该工具使用JavaScript Math.random() 以生成0到1之间的随机数。如果该数字小于0.5,则返回“tails”,否则返回“heads”。这是一个公平的50/50分配。
const result = Math.random() < 0.5 ? "heads" : "tails";
延伸
想添加更多工具吗?请按照以下步骤操作:
- 创建新
.ts文件在src/tools/ - 出口
schema(使用Zod的工具参数) - 出口
metadata(工具名称、描述、注释) - 导出实现该工具的默认函数
例子:
import { type InferSchema } from "xmcp";
export const schema = {
sides: z.number().describe("Number of sides on the die"),
};
export const metadata = {
name: "roll_die",
description: "Roll a die",
};
export default async function rollDie({ sides }: InferSchema<typeof schema>) {
const result = Math.floor(Math.random() * sides) + 1;
return {
content: [{ type: "text", text: String(result) }],
};
}
该工具将由xmcp通过文件系统路由自动发现!
