Skip to main content
Glama
crazyrabbitLTC

Twitter MCP Server

Twitter MCP サーバー

Twitter API 統合のためのモデル コンテキスト プロトコル サーバーの実装。

設定

  1. リポジトリをクローンする

  2. 依存関係をインストール: npm install

  3. .env.example.envにコピーし、Twitter API の認証情報を入力します。

  4. プロジェクトをビルドします: npm run build

  5. サーバーを起動します: npm start

Related MCP server: MCP-Twikit

環境変数

.envに必要な Twitter API 認証情報:

X_API_KEY=your_api_key
X_API_SECRET=your_api_secret
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret

利用可能なツール

ツイート操作

  • postTweet : 新しいツイートを投稿する

    {
      "text": "Your tweet text here"
    }
  • postTweetWithMedia : メディアを添付したツイートを投稿する

    {
      "text": "Your tweet text",
      "mediaPath": "path/to/media/file",
      "mediaType": "image/jpeg|image/png|image/gif|video/mp4",
      "altText": "Optional alt text for accessibility"
    }
  • getTweetById : IDで特定のツイートを取得する

    {
      "tweetId": "tweet_id",
      "tweetFields": ["created_at", "public_metrics"]
    }
  • replyToTweet : 既存のツイートに返信する

    {
      "tweetId": "tweet_id",
      "text": "Your reply text"
    }
  • deleteTweet : ツイートを削除する

    {
      "tweetId": "tweet_id"
    }

検索と分析

  • searchTweets : ツイートを検索

    {
      "query": "search query",
      "maxResults": 10,
      "tweetFields": ["created_at", "public_metrics"]
    }
  • getHashtagAnalytics : ハッシュタグの分析情報を取得する

    {
      "hashtag": "hashtag",
      "startTime": "ISO-8601 date",
      "endTime": "ISO-8601 date"
    }

ユーザー操作

  • getUserInfo : ユーザー情報を取得する

    {
      "username": "twitter_username",
      "fields": ["description", "public_metrics"]
    }
  • getUserTimeline : ユーザーのツイートを取得する

    {
      "username": "twitter_username",
      "maxResults": 10,
      "tweetFields": ["created_at", "public_metrics"]
    }
  • getFollowers : ユーザーのフォロワーを取得する

    {
      "username": "twitter_username",
      "maxResults": 100,
      "userFields": ["description", "public_metrics"]
    }
  • getFollowing : ユーザーがフォローしているアカウントを取得する

    {
      "username": "twitter_username",
      "maxResults": 100,
      "userFields": ["description", "public_metrics"]
    }

婚約

  • likeTweet : ツイートにいいねする

    {
      "tweetId": "tweet_id"
    }
  • ツイートをunlikeTweetしない

    {
      "tweetId": "tweet_id"
    }
  • retweet : ツイートをリツイートする

    {
      "tweetId": "tweet_id"
    }
  • undoRetweet : リツイートを元に戻す

    {
      "tweetId": "tweet_id"
    }
  • getRetweets : ツイートをリツイートしたユーザーを取得する

    {
      "tweetId": "tweet_id",
      "maxResults": 100,
      "userFields": ["description", "public_metrics"]
    }
  • getLikedTweets : ユーザーが「いいね!」したツイートを取得する

    {
      "userId": "user_id",
      "maxResults": 100,
      "tweetFields": ["created_at", "public_metrics"]
    }

リスト管理

  • createList : 新しいリストを作成する

    {
      "name": "List name",
      "description": "List description",
      "isPrivate": false
    }
  • addUserToList : ユーザーをリストに追加する

    {
      "listId": "list_id",
      "username": "twitter_username"
    }
  • removeUserFromList : リストからユーザーを削除する

    {
      "listId": "list_id",
      "username": "twitter_username"
    }
  • getListMembers : リストのメンバーを取得する

    {
      "listId": "list_id",
      "maxResults": 100,
      "userFields": ["description", "public_metrics"]
    }

エラー処理

すべてのツールは標準化されたエラー応答を返します。

  • 不足しているパラメータ: Missing required parameter: parameter_name

  • APIエラー: Twitter APIからのエラーメッセージ

  • 見つからないエラー: リソースに適切な「見つからない」メッセージ

応答フォーマット

すべての成功した応答は次の形式に従います。

{
  "content": [
    {
      "type": "text",
      "text": "Operation result message"
    }
  ]
}

発達

  • ビルド: npm run build

  • 開始: npm start

  • ウォッチモード: npm run dev

Here's a comprehensive status report of all Twitter tools:

## Working Tools (✓)

1. postTweet

ステータス: 正常に動作しています レスポンス: ツイートIDを返します 最新のテスト: 成功


2. getTweetById

ステータス: 正常に動作しています レスポンス: 完全なツイートデータを返します 最新のテスト: 成功


3. likeTweet & unlikeTweet

ステータス: 正常に動作しています 応答: アクションの確認 最新のテスト: 成功


4. retweet & undoRetweet

ステータス: 正常に動作しています 応答: アクションの確認 最新のテスト: 成功


5. replyToTweet

ステータス: 正常に動作しています レスポンス: 返信ツイートIDを返します 最新のテスト: 成功


6. getUserInfo

ステータス: 正常に動作しています 応答: ユーザープロファイルデータが完了しました 最新のテスト: 成功


7. followUser & unfollowUser

ステータス: 正常に動作しています 応答: アクションの確認 最新のテスト: 成功


8. createList

ステータス: 正常に動作しています 応答: リスト作成の確認 最新のテスト: 成功


9. getUserLists

ステータス: 正常に動作しています 応答: 所有リストとメンバーリストの両方を返します 最新のテスト: 成功


## Tools with Issues (⚠️)

1. getUserTimeline

ステータス: エラー 400 エラー: 無効なリクエストパラメータ 必要な修正: パラメータ検証


2. searchTweets

ステータス: エラー 400 エラー: 無効なリクエストパラメータ 必要な修正: クエリパラメータのフォーマット


3. getLikedTweets

ステータス: エラー 400 エラー: 無効なリクエストパラメータ 必要な修正: パラメータ検証


## Missing Tools (❌)
- getHomeTimeline (not found in available tools)
- getFollowers (not available)
- getFollowing (not available)
- getHashtagAnalytics (not available)

## Priority Fixes Needed

1. Parameter Validation:
```typescript
// Implement for getUserTimeline, searchTweets, getLikedTweets
interface TwitterParamValidator {
  validateTimelineParams(params: any): boolean;
  validateSearchParams(params: any): boolean;
  validateLikedTweetsParams(params: any): boolean;
}
  1. エラー処理:

// Enhance error handling for 400 errors
interface TwitterErrorHandler {
  handle400Error(endpoint: string, params: any): void;
  logErrorDetails(error: any): void;
  suggestParameterFixes(params: any): string[];
}
Install Server
A
license - permissive license
B
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crazyrabbitLTC/mcp-twitter-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server