信号币创建服务

一个用于在Base链上通过signals平台创建信号币的MCP服务器,提供上传媒体、生成交易数据和提交交易的工具,支持无头模式和密钥模式。

  • by baselab-me
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 baselab-me/signals-mcp

使用说明

@baselab me/信号mcp

MCP服务器,用于通过 信号 平台。

公开了三种让AI代理(Claude Desktop、Claude Code等)完全无头创建信号币的工具。 付款方式为 x402协议 --不需要平台帐户。

对于非MCP代理 (OpenAI代理、BNKR、基础代理、自定义脚本): 直接使用REST API。技能文档: https://signals.baselab.me/agent-skill.md


工具

工具 成本 描述
upload_signal_media ~$0.03 USDC 将本地媒体文件(最大50 MB)上传到IPFS。如果您已经有URL,请跳过
create_signal_coin ~$0.05 USDC 生成信号币交易通话数据。
submit_transaction 仅限gas 在链上签署并提交返回的通话数据。

模式

MCP服务器根据设置的环境变量有两种工作模式:

无头模式(按键设置-全自动)

{
  "mcpServers": {
    "signals": {
      "command": "npx",
      "args": ["@baselab-me/signals-mcp"],
      "env": {
        "AGENT_PAYMENT_KEY": "0x...",
        "AGENT_TX_KEY": "0x...",
        "SIGNALS_API_URL": "https://signals.baselab.me"
      }
    }
  }
}
  • AGENT_PAYMENT_KEY --支付x402 USDC费用的钱包(约0.05美元/信号,约0.03美元/上传)。需要USDC作为基础。
  • AGENT_TX_KEY --签署并提交链上代币创建TX.的钱包需要Base上的ETH。
  • 两者可以是同一把钥匙。 SIGNALS_API_URL 默认为 https://signals.baselab.me.

克劳德调用工具,一切都会自动发生,然后回来 txHash.

无密钥模式(无密钥——返回未签名的有效载荷)

{
  "mcpServers": {
    "signals": {
      "command": "npx",
      "args": ["@baselab-me/signals-mcp"],
      "env": {
        "SIGNALS_API_URL": "https://signals.baselab.me"
      }
    }
  }
}

不需要env密钥。工具返回结构化的未签名有效负载,而不是自动签名:

  • create_signal_coin → { requiresPayment: true, eip3009: {...}, authorization: {...}, instructions: "..." } Claude使用您的钱包工具对键入的数据进行签名,然后再次调用该工具 paymentSignature + paymentAuthorization.

  • submit_transaction → { requiresSigning: true, unsignedTx: { to, data, value, chainId: 8453 }, instructions: "..." } Claude通过您的钱包工具提交,或者您将其粘贴到MetaMask中。

如果您有单独的钱包MCP或希望自己的钱包成为硬币创建者,请使用此模式。


安全

AGENT_PAYMENT_KEY 只需要USDC——用少量资金(~5-10美元)资助。 AGENT_TX_KEY 只需要ETH来加油。

使用不同的密钥进行支付和TX签名,以限制风险敞口:

  • 支付密钥泄露→ 攻击者可以进行100-200次免费API调用,每次调用0.05美元。没有ETH风险。
  • TX密钥泄露→ 只有用于天然气的ETH有风险(不需要USDC)。

或者省略两个键并使用无键模式——任何键都不会接触MCP过程。

MCP服务器代码是开源的。使用前进行验证。


重新启动克劳德桌面

编辑配置文件后,重新启动Claude Desktop。这 signals 工具出现在Claude的工具面板中。


示例用法

告诉克劳德:

从钱包0xYourAddress中发布一个带有股票代码HELLO的信号硬币,内容为“来自代理人的你好!”。

无头模式: 克劳德打电话来 create_signal_coin (自动支付)→ calls submit_transaction (自动提交)→ 返回txHash。

无钥匙模式: 克劳德打电话来 create_signal_coin → 您对付款类型的数据进行签名→ 克劳德又打电话来签名→ 返回通话数据→ 克劳德打电话来 submit_transaction → 您通过钱包提交。


如何保存信号

当 create_signal_coin 成功后,服务器将写入 待定 将信号的元数据URI作为匹配密钥记录到数据库中。之后 submit_transaction 将TX放到链上,服务器端的cron作业通过匹配来确认记录 metadataUri 从TX日志中。

这意味着通过MCP创建的信号在信号平台中被跟踪——它们出现在创建者的个人资料、排行榜和提要中。

通过MCP创建的信号被标记为 source: 'mcp' 在数据库中。


REST API端点

MCP服务器在信号API上调用这些端点:

端点 方法 描述
/api/v1/x402/signals POST 创建信号币通话数据(~0.05美元)
/api/v1/x402/upload POST 将媒体上传到IPFS(~0.03美元)

两个端点都使用x402支付协议。第一次请求没有 X-Payment 报头返回402,其中包含支付要求。带有签名支付头的第二个请求返回结果。


配对代币

信号币可以与不同的流动性代币配对:

种类 描述
eth 与ETH配对(默认)
usdc 与USDC配对
base-coin 与Zora创造者硬币配对(需要 coinAddress)
erc-coin 与任意ERC-20代币配对(需要 coinAddress)

通过 pairing: { kind: "base-coin", coinAddress: "0x..." } 到 create_signal_coin.


发展

# Build
pnpm build

# Run locally
node dist/index.js

# TypeScript check
pnpm exec tsc --noEmit

MCP服务器要求Node.js>=20。


许可证

麻省理工学院