Warpcast MCP Server
一个模型上下文协议服务器,允许 Claude 与 Warpcast 账户互动,从而可以通过自然语言执行诸如发布广播 (casts)、阅读内容、按关键词搜索以及管理频道互动等操作。
README
Warpcast MCP 服务器
一个用于 Warpcast 集成的模型上下文协议 (MCP) 服务器,允许你使用 Claude 与你的 Warpcast 帐户进行交互。
功能
- 向你的 Warpcast 帐户发布消息 (casts)
- 从 Warpcast 读取消息 (casts)
- 按关键词或标签搜索消息 (casts)
- 浏览和互动频道
- 关注/取消关注频道
- 获取热门消息 (casts)
设置
-
克隆此仓库
git clone https://github.com/zhangzhongnan928/mcp-warpcast-server.git cd mcp-warpcast-server -
安装依赖
npm install -
生成 API 密钥并配置身份验证
此 MCP 服务器提供了一个辅助脚本来生成必要的 Ed25519 密钥对:
npm run generate-keys按照提示进行操作:
- 生成一个随机的 Ed25519 密钥对
- 将密钥保存到你的
.env文件 - 获取有关在 Warpcast 中注册密钥的说明
或者,如果你更喜欢手动设置:
选项 1:使用签名密钥请求
- 生成一个 Ed25519 密钥对
- 使用 Warpcast 签名密钥请求 API 请求允许代表你的帐户签署消息
- 在 Warpcast 应用程序中完成授权
这是一个示例实现:
import * as ed from '@noble/ed25519'; import { mnemonicToAccount, signTypedData } from 'viem/accounts'; import axios from 'axios'; // Generate a keypair const privateKey = ed.utils.randomPrivateKey(); const publicKeyBytes = await ed.getPublicKey(privateKey); const key = '0x' + Buffer.from(publicKeyBytes).toString('hex'); // EIP-712 domain and types for SignedKeyRequest const SIGNED_KEY_REQUEST_VALIDATOR_EIP_712_DOMAIN = { name: 'Farcaster SignedKeyRequestValidator', version: '1', chainId: 10, verifyingContract: '0x00000000fc700472606ed4fa22623acf62c60553', }; const SIGNED_KEY_REQUEST_TYPE = [ { name: 'requestFid', type: 'uint256' }, { name: 'key', type: 'bytes' }, { name: 'deadline', type: 'uint256' }, ]; // Generate a Signed Key Request signature const appFid = process.env.APP_FID; const account = mnemonicToAccount(process.env.APP_MNEMONIC); const deadline = Math.floor(Date.now() / 1000) + 86400; // signature is valid for 1 day const signature = await account.signTypedData({ domain: SIGNED_KEY_REQUEST_VALIDATOR_EIP_712_DOMAIN, types: { SignedKeyRequest: SIGNED_KEY_REQUEST_TYPE, }, primaryType: 'SignedKeyRequest', message: { requestFid: BigInt(appFid), key, deadline: BigInt(deadline), }, }); // Create a Signed Key Request const warpcastApi = 'https://api.warpcast.com'; const { token, deeplinkUrl } = await axios .post(`${warpcastApi}/v2/signed-key-requests`, { key, requestFid: appFid, signature, deadline, }) .then((response) => response.data.result.signedKeyRequest); console.log('Deep link URL:', deeplinkUrl); console.log('Open this URL on your mobile device with Warpcast installed to authorize this key');选项 2:使用现有的 App Key
如果你已经为你的 Farcaster 帐户设置了 App Key,你可以直接使用 FID、私钥和公钥。
-
构建服务器
npm run build -
配置 Claude for Desktop 以使用此服务器
使用 Claude for Desktop 进行配置
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"warpcast": {
"command": "node",
"args": [
"/absolute/path/to/mcp-warpcast-server/build/index.js"
],
"env": {
"WARPCAST_FID": "your_fid_here",
"WARPCAST_PRIVATE_KEY": "your_private_key_here",
"WARPCAST_PUBLIC_KEY": "your_public_key_here"
}
}
}
}
将 /absolute/path/to/mcp-warpcast-server 替换为你克隆此仓库的实际绝对路径,并使用你的实际凭据更新环境变量。
用法
配置完成后,你可以要求 Claude 执行以下操作:
- "发布一条关于 [主题] 的消息"
- "读取来自 [用户名] 的最新消息"
- "搜索关于 [主题] 的消息"
- "向我展示 Warpcast 上的热门消息"
- "向我展示 Warpcast 上的热门频道"
- "获取来自 [频道] 频道的消息"
- "为我关注 [频道] 频道"
可用工具
此 MCP 服务器提供了 Claude 可以使用的几个工具:
- post-cast: 在 Warpcast 上创建一个新帖子(最多 320 个字符)
- get-user-casts: 检索来自特定用户的最近消息
- search-casts: 按关键词或短语搜索消息
- get-trending-casts: 获取 Warpcast 上当前的热门消息
- get-all-channels: 列出 Warpcast 上可用的频道
- get-channel: 获取有关特定频道的信息
- get-channel-casts: 获取来自特定频道的消息
- follow-channel: 关注一个频道
- unfollow-channel: 取消关注一个频道
身份验证说明
此服务器使用 Warpcast 的 App Key 身份验证方法,该方法需要一个已在你的 Farcaster 帐户中注册的 Ed25519 密钥对。 身份验证流程如下:
- 创建一个包含你的 FID 和公钥的标头
- 创建一个带有过期时间的有效负载
- 使用你的私钥签署标头和有效负载
- 使用生成的令牌进行 API 调用
在生产应用程序中,建议使用官方 Farcaster SDK 来生成身份验证令牌。
安全注意事项
- 确保你的私钥安全,切勿共享
- 考虑定期轮换你的密钥
- 服务器会记录身份验证错误以帮助进行调试
故障排除
如果遇到问题:
- 检查你的环境变量是否设置正确
- 确保你的密钥已在你的 Farcaster 帐户中正确注册
- 检查 Claude for Desktop 日志中是否有任何错误
- 验证你的 Warpcast 帐户是否具有必要的权限
许可证
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。