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 서버

Claude를 사용하여 Warpcast 계정과 상호 작용할 수 있게 해주는 Warpcast 통합을 위한 MCP(Model Context Protocol) 서버입니다.

특징

  • Warpcast 계정에 캐스트 게시
  • Warpcast에서 캐스트 읽기
  • 키워드 또는 해시태그로 캐스트 검색
  • 채널을 탐색하고 상호 작용하세요
  • 채널 팔로우/팔로우 취소
  • 인기 캐스트를 받아보세요

설정

  1. 이 저장소를 복제하세요지엑스피1
  2. 종속성 설치
    npm install
  3. API 키 생성 및 인증 구성이 MCP 서버는 필요한 Ed25519 키 쌍을 생성하는 도우미 스크립트를 제공합니다.
    npm run generate-keys
    화면의 지시에 따라 다음을 수행하세요.
    • 무작위 Ed25519 키 쌍을 생성합니다.
    • .env 파일에 키를 저장하세요
    • Warpcast에 키 등록에 대한 지침을 받으세요

    또는 수동으로 설정하려면 다음을 수행하세요.

옵션 1: 서명된 키 요청 사용

  1. Ed25519 키 쌍 생성
  2. Warpcast Signed Key Request 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 구성

데스크톱용 Claude 구성

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의 앱 키 인증 방식을 사용하며, Farcaster 계정에 등록된 Ed25519 키 쌍이 필요합니다. 인증 절차는 다음과 같습니다.

  1. FID와 공개 키를 포함하는 헤더를 만듭니다.
  2. 만료 시간이 있는 페이로드 생성
  3. 개인 키를 사용하여 헤더와 페이로드에 서명하세요.
  4. API 호출에 결과 토큰을 사용합니다.

프로덕션 애플리케이션에서는 공식 Farcaster SDK를 사용하여 인증 토큰을 생성하는 것이 좋습니다.

보안 고려 사항

  • 개인 키를 안전하게 보관하고 절대 공유하지 마세요.
  • 주기적으로 열쇠를 교체하는 것을 고려하세요
  • 서버는 디버깅을 돕기 위해 인증 오류를 기록합니다.

문제 해결

문제가 발생하는 경우:

  1. 환경 변수가 올바르게 설정되었는지 확인하세요
  2. Farcaster 계정에 키가 제대로 등록되었는지 확인하세요.
  3. 오류가 있는지 Claude for Desktop 로그를 확인하세요.
  4. Warpcast 계정에 필요한 권한이 있는지 확인하세요.

특허

MIT

-
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