Warpcast MCP Server

Warpcast MCP Server

一个模型上下文协议服务器,允许 Claude 与 Warpcast 账户互动,从而可以通过自然语言执行诸如发布广播 (casts)、阅读内容、按关键词搜索以及管理频道互动等操作。

Category
访问服务器

README

Warpcast MCP 服务器

一个用于 Warpcast 集成的模型上下文协议 (MCP) 服务器,允许你使用 Claude 与你的 Warpcast 帐户进行交互。

功能

  • 向你的 Warpcast 帐户发布消息 (casts)
  • 从 Warpcast 读取消息 (casts)
  • 按关键词或标签搜索消息 (casts)
  • 浏览和互动频道
  • 关注/取消关注频道
  • 获取热门消息 (casts)

设置

  1. 克隆此仓库

    git clone https://github.com/zhangzhongnan928/mcp-warpcast-server.git
    cd mcp-warpcast-server
    
  2. 安装依赖

    npm install
    
  3. 生成 API 密钥并配置身份验证

    此 MCP 服务器提供了一个辅助脚本来生成必要的 Ed25519 密钥对:

    npm run generate-keys
    

    按照提示进行操作:

    • 生成一个随机的 Ed25519 密钥对
    • 将密钥保存到你的 .env 文件
    • 获取有关在 Warpcast 中注册密钥的说明

    或者,如果你更喜欢手动设置:

    选项 1:使用签名密钥请求

    1. 生成一个 Ed25519 密钥对
    2. 使用 Warpcast 签名密钥请求 API 请求允许代表你的帐户签署消息
    3. 在 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、私钥和公钥。

  4. 构建服务器

    npm run build
    
  5. 配置 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 可以使用的几个工具:

  1. post-cast: 在 Warpcast 上创建一个新帖子(最多 320 个字符)
  2. get-user-casts: 检索来自特定用户的最近消息
  3. search-casts: 按关键词或短语搜索消息
  4. get-trending-casts: 获取 Warpcast 上当前的热门消息
  5. get-all-channels: 列出 Warpcast 上可用的频道
  6. get-channel: 获取有关特定频道的信息
  7. get-channel-casts: 获取来自特定频道的消息
  8. follow-channel: 关注一个频道
  9. unfollow-channel: 取消关注一个频道

身份验证说明

此服务器使用 Warpcast 的 App Key 身份验证方法,该方法需要一个已在你的 Farcaster 帐户中注册的 Ed25519 密钥对。 身份验证流程如下:

  1. 创建一个包含你的 FID 和公钥的标头
  2. 创建一个带有过期时间的有效负载
  3. 使用你的私钥签署标头和有效负载
  4. 使用生成的令牌进行 API 调用

在生产应用程序中,建议使用官方 Farcaster SDK 来生成身份验证令牌。

安全注意事项

  • 确保你的私钥安全,切勿共享
  • 考虑定期轮换你的密钥
  • 服务器会记录身份验证错误以帮助进行调试

故障排除

如果遇到问题:

  1. 检查你的环境变量是否设置正确
  2. 确保你的密钥已在你的 Farcaster 帐户中正确注册
  3. 检查 Claude for Desktop 日志中是否有任何错误
  4. 验证你的 Warpcast 帐户是否具有必要的权限

许可证

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选