AI工具调用支付服务

Weather MCP Server是一个集成了微支付功能的AI工具调用协议服务器,通过ATXP支付系统实现LLM工具调用的货币化。

  • by drsullivan13
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 drsullivan13/weather-server

使用说明

气象MCP服务器

具有集成微支付功能的模型上下文协议服务器。使用Bun、TypeScript和ATXP支付系统构建,用于将LLM工具调用货币化。

特性

  • MCP协议:人工智能助手的标准化工具界面
  • 支付集成:ATXP中间件要求每次工具调用进行USDC小额支付
  • 无状态架构:按请求传输隔离以实现可扩展性
  • 类型安全:使用Zod v3验证的严格TypeScript
  • 高性能:Bun运行时用于快速执行

技术栈

  • 运行时间: 包子
  • 协议: 主控程序
  • 付款方式:ATXP
  • 验证:Zod v3
  • 服务器:Express v5

快速开始

# Install
bun install

# Configure .env
ATXP_CONNECTION="your-atxp-connection-url"
PORT=3000

# Development
bun run dev

# Production
bun run build
bun run start

建筑

Client → Express → ATXP Payment → MCP Transport → Tool Handler → Response

每次工具调用都会在执行前验证付款。服务器创建一个新的 StreamableHTTPServerTransport 以防止JSON-RPC ID冲突。

工具注册

server.registerTool(
  "tool-name",
  {
    title: "Tool Title",
    description: "What it does",
    inputSchema: { param: z.string() },
    outputSchema: { result: z.string() }
  },
  async (params) => {
    await requirePayment({ price: BigNumber(0.01) });
    return {
      content: [{ type: "text", text: JSON.stringify(output) }],
      structuredContent: output
    };
  }
);

API

职位/ -接受MCP JSON-RPC 2.0请求

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": { "name": "tool-name", "arguments": {} },
  "id": 1
}

TypeScript配置

  • verbatimModuleSyntax: true -明确 type 需要进口
  • moduleResolution: bundler -针对Bun进行了优化
  • strict: true -已启用所有严格检查
  • noEmit: true -Bun处理编译

关键依赖关系

  • @modelcontextprotocol/sdk -MCP实施
  • @atxp/express -支付中间件
  • zod@^3.23.8 -MCP SDK兼容性所需
  • bignumber.js -精确的货币计算

内置于 包子 🥟