Warpcast MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables interaction with Warpcast (a Farcaster client), allowing for posting casts, reading casts from users, searching by keyword or hashtag, browsing and interacting with channels, following/unfollowing channels, and viewing trending content.

ワープキャスト MCP サーバー

Warpcast 統合用の Model Context Protocol (MCP) サーバー。これにより、Claude を使用して Warpcast アカウントと対話できるようになります。

特徴

  • Warpcastアカウントにキャストを投稿する
  • Warpcast からキャストを読む
  • キーワードまたはハッシュタグでキャストを検索
  • チャンネルを閲覧して交流する
  • チャンネルをフォロー/フォロー解除する
  • トレンドキャストを入手

設定

  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: 既存のアプリキーを使用する

Farcaster アカウントにすでにアプリ キーが設定されている場合は、FID、秘密キー、公開キーを直接使用できます。

  1. サーバーを構築する
    npm run build
  2. このサーバーを使用するように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 に次のことを依頼できます。

  • [トピック]についてのキャストを投稿する」
  • [ユーザー名]の最新のキャストを読む」
  • [トピック]に関するキャストを検索」
  • 「ワープキャストでトレンドのキャストを表示」
  • 「ワープキャストで人気のチャンネルを表示」
  • [チャンネル] チャンネルからキャストを取得する」
  • [チャンネル] チャンネルをフォローしてください」

利用可能なツール

この 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アカウントに必要な権限があることを確認してください

ライセンス

マサチューセッツ工科大学

-
security - not tested
F
license - not found
-
quality - not tested

Claude が Warpcast アカウントと対話して、キャストの投稿、コンテンツの読み取り、キーワードによる検索、自然言語によるチャネル対話の管理などのアクションを実行できるようにするモデル コンテキスト プロトコル サーバー。

  1. Features
    1. Setup
      1. Option 1: Using Signed Key Requests
      2. Option 2: Using an Existing App Key
    2. Configuration with Claude for Desktop
      1. Usage
        1. Available Tools
          1. Authentication Notes
            1. Security Considerations
              1. Troubleshooting
                1. License
                  ID: ulfvjoztgp