twitterapi について
twitterapi は、twitterapi.io の機能を AI エージェントや MCP ホストに提供する MCP サーバーです。X のメンションやスレッドを取得し、投稿や削除も行えます。読み取りには API キー、書き込みにはアカウント Cookie とプロキシも必要です。
主な機能
- 01ユーザーへのメンション取得とページ送り
- 02ツイートの会話コンテキスト取得
- 03ツイートや返信の作成
- 04自分のツイートの削除
活用シーン
- 01特定ユーザーへのメンション確認
- 02ツイートの会話や返信の確認
- 03ツイート、引用、返信の投稿
- 04指定した自分のツイートの削除
MCP 対応
MCP サーバーとして、メンションやスレッドの取得、ツイートの作成と削除を行うツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @pedrot95dev/twitterapi.mcpTWITTERAPI_IO_KEYシークレットtwitterapi.io API key (x-api-key). Required for all tools.TWITTERAPI_IO_AUTH_TOKENシークレットauth_token cookie from a logged-in X session. Write tools only.TWITTERAPI_IO_CT0シークレットct0 cookie from the same logged-in X session. Write tools only.TWITTERAPI_IO_PROXYシークレットResidential proxy (http://user:pass@ip:port). Write tools only.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | この 1 回のリクエストで返すツイートの最大数(デフォルト 50) |
| cursor | string | いいえ | 前回のレスポンスの next_cursor にあるページネーションカーソル |
| user_name | string | はい | X のユーザー名。@ の有無は問いません。 |
| query_type | enum | いいえ | 並べ替えモード(デフォルトは Latest)Latest | Relevance |
| since_time | string | いいえ | 開始時刻のフィルター(例:2025-06-01 または ISO datetime) |
| until_time | string | いいえ | 終了時刻のフィルター |
詳細
twitterapi.mcp
twitterapi.io のエンドポイントを、AI エージェントや MCP ホスト向けのツールとして公開する MCP サーバーです。TypeScript で記述され、npm で配布されており、単一の npx コマンドで実行できます。
現在のツール
| ツール | 説明 | API エンドポイント | 認証 |
|---|---|---|---|
get_user_mentions | ユーザーに言及しているツイートを取得します。 | GET /twitter/user/mentions | API キー |
get_tweet_thread_context | ツイートを中心とする会話スレッドのページを取得します。 | GET /twitter/tweet/thread_context | API キー |
create_tweet | ツイートまたは返信を作成します。 | POST /twitter/create_tweet_v2 | API キー + Cookie + プロキシ |
delete_tweet | 自分のツイートを削除します。 | POST /twitter/delete_tweet_v2 | API キー + Cookie + プロキシ |
クイックスタート
1. API キーを取得する
https://twitterapi.io/dashboard にアクセスし、x-api-key を取得します。
2. 書き込み操作用の Cookie とプロキシ
create_tweet と delete_tweet は、アカウント自身のセッション Cookie で認証します。X にログインしたブラウザーで、DevTools → Application → Cookies → https://x.com を開き、auth_token と ct0 の値をコピーします。
| 変数 | 必須 | 説明 |
|---|---|---|
TWITTERAPI_IO_KEY | 常に | twitterapi.io の API キー |
TWITTERAPI_IO_AUTH_TOKEN | 書き込み時 | ログイン中の X セッションの auth_token Cookie |
TWITTERAPI_IO_CT0 | 書き込み時 | 同じセッションの ct0 Cookie |
TWITTERAPI_IO_PROXY | 書き込み時 | 住宅用プロキシ。http://user:pass@ip:port(書き込みエンドポイントで必須) |
サーバーは、twitterapi.io が必要とする login_cookies の値を
auth_token + ct0 から生成します。これらの Cookie は時間の経過とともに
期限切れになります(通常は数週間)。書き込み時に認証エラーが返されるように
なったら、ブラウザーから再取得してください。
読み取りツールには API キーだけで十分です。 書き込み操作が必要な場合に のみ、Cookie とプロキシの変数を追加してください。
3. MCP ホストに追加する
Claude Desktop(Windows では %APPDATA%\Claude\claude_desktop_config.json、
macOS では ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"twitterapi": {
"command": "npx",
"args": ["-y", "@pedrot95dev/twitterapi.mcp"],
"env": {
"TWITTERAPI_IO_KEY": "your_key_here",
"TWITTERAPI_IO_AUTH_TOKEN": "your_auth_token_cookie",
"TWITTERAPI_IO_CT0": "your_ct0_cookie",
"TWITTERAPI_IO_PROXY": "http://user:pass@ip:port"
}
}
}
}
npx -y @pedrot95dev/twitterapi.mcp は、公開されている最新バージョンをダウンロードして実行します。必要なのは Node.js(>= 18)のみです。グローバルインストールは不要です。
その他の MCP ホスト(例:Cursor): ホストの MCP 設定 UI または設定ファイルに、同じ npx コマンドと環境変数を追加します。
ツール:get_user_mentions
ユーザーに言及している、またはユーザーに返信しているツイートを取得します。呼び出しごとに 1 回リクエストを行います。前回のレスポンスの next_cursor を cursor に渡すと、次のページを取得できます。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
user_name | string | (必須) | X のユーザー名。@ の有無は問いません |
since_time | string | — | 開始時刻のフィルター(例:2025-06-01 または ISO 形式の日時) |
until_time | string | — | 終了時刻のフィルター |
cursor | string | — | 前回の next_cursor から取得したページネーションカーソル |
query_type | "Latest" | "Relevance" | "Latest" | 並べ替えモード |
limit | integer | 50 | このリクエストで返すツイートの最大数 |
{
"tweets": [ ... ],
"count": 12,
"has_next_page": true,
"next_cursor": "DAADDAAB...",
"status": "success",
"msg": null
}
ツール:get_tweet_thread_context
ツイートの前後の会話スレッドを取得します。元のツイート、スレッドを遡った途中の返信、対象のツイート、およびその直接の返信を返します。
返される各ツイートには、展開済みリンクを含む entities.urls が含まれます。メンションの前後の会話から URL を探すのに便利です。
呼び出しごとにリクエストを正確に1回だけ実行します(エンドポイントと1対1に対応し、内部でページネーションは行いません)。長いスレッドは cursor を使ってページを取得してください。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
tweet_id | string | (必須) | スレッドのコンテキストを取得するツイート ID |
cursor | string | — | 前回の next_cursor から取得したページネーションカーソル |
{
"tweets": [ ... ],
"count": 6,
"has_next_page": false,
"next_cursor": "",
"status": "success",
"msg": "success"
}
注:このエンドポイントのページネーションでは、has_next_page が true のままでも、1ページに返されるツイートが少ない場合や、1件もない場合があります。スレッド全体を取得するには、has_next_page が false になるまで next_cursor をたどってください。
ツール:create_tweet
新しいツイートを投稿するか、返信します。引用、メディア、コミュニティ、予約投稿に対応しています。 Cookie とプロキシの環境変数が必要です(手順 2を参照)。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
tweet_text | string | (必須) | ツイートのテキスト |
reply_to_tweet_id | string | — | 返信先のツイート ID(返信として投稿します) |
quote_tweet_id | string | — | 引用するツイート ID |
attachment_url | string | — | 引用する URL(quote_tweet_id の代替) |
community_id | string | — | 特定のコミュニティ内に投稿します |
is_note_tweet | boolean | false | 280 文字を超える投稿を許可します(Premium アカウント) |
media_ids | string[] | — | 以前の /twitter/upload_media_v2 で取得したメディア ID |
schedule_for | string | — | ISO-8601 形式の未来の日時。例:2026-01-20T10:00:00.000Z |
{ "tweet_id": "1234567890123456789", "status": "success", "msg": "success" }
ツール:delete_tweet
ID を指定して、自分のツイートを1件削除します。Cookie とプロキシの環境変数が必要です。
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
tweet_id | string | (必須) | 削除するツイートの ID |
{ "status": "success", "msg": "success" }
コントリビューション
ローカルでの開発、ビルド、テストの手順については、CONTRIBUTING.mdを参照してください。
ライセンス
MIT — LICENSEを参照してください。
クレジット
公式の twitterapi-io エージェントスキルを基にしています:https://github.com/kaitoInfra/twitterapi-io API サービス:https://twitterapi.io
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。