TweetFeed について
TweetFeed は、X/Twitter で共有された公開 IOC を検索できる、セキュリティチームや AI エージェント向けの MCP サーバーです。絞り込みツールに加え、生データのリソース、キャンペーン情報、定型のトリアージ用プロンプトを提供します。
主な機能
- 01期間、種類、ユーザー、タグで IOC を検索
- 02URL、IP、ハッシュの照合
- 03キャンペーン情報による IOC の補足
- 04トレンド、タグ、フィード状態の確認
- 05データリソースとトリアージ用プロンプト
活用シーン
- 01IOC がフィードに含まれるか確認
- 02最近の脅威やキャンペーン所属を調査
- 03IOC のトリアージや日次ブリーフを作成
MCP 対応
MCP クライアントに IOC の検索、照合、補足、キャンペーン、トレンド、状態確認のツールと、フィードのリソースおよびプロンプトを提供します。エンドポイントに認証は不要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.tweetfeed.live/claude mcp add --transport http 0xdaniellopez-tweetfeed https://mcp.tweetfeed.live/{"mcpServers":{"0xdaniellopez-tweetfeed":{"type":"http","url":"https://mcp.tweetfeed.live/"}}}Cursor で開く{"servers":{"0xdaniellopez-tweetfeed":{"type":"http","url":"https://mcp.tweetfeed.live/"}}}VS Code で開く{"mcpServers":{"0xdaniellopez-tweetfeed":{"type":"http","url":"https://mcp.tweetfeed.live/"}}}{"mcpServers":{"0xdaniellopez-tweetfeed":{"serverUrl":"https://mcp.tweetfeed.live/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
14| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tag | string | いいえ | 任意:タグで絞り込みます。大文字と小文字を区別せず、部分一致で検索します。例:'phishing'、'cobaltstrike'、'ransomware'、'APT'、'Lockbit'。タグは 94 種類あります。最新の分類体系は https://tweetfeed.live/ を参照してください。 |
| time | enum | はい | 期間。'today' = UTC の午前 0 時以降、'week' = 過去 7 日間、'month' = 過去 30 日間。today | week | month |
| type | enum | いいえ | 任意:IOC の種類で絞り込みます。url | domain | ip | sha256 | md5 |
| user | string | いいえ | 任意:Twitter/X のハンドルで絞り込みます。@ プレフィックスは付けません(例:'malwrhunterteam'、'JCyberSec_')。 |
| limit | number | いいえ | 任意:返す行の最大数(1-1000)。デフォルトは 100 です。 |
詳細
tweetfeed-mcp
tweetfeed.live 用の Model Context Protocol (MCP) サーバーです。
Twitter/X で情報セキュリティコミュニティが共有している公開 IOC フィード(URL、ドメイン、IP、SHA256/MD5 ハッシュ)を MCP ツールとして公開し、AI エージェントが脅威インテリジェンスをプログラムから照会できるようにします。
- エンドポイント:
https://mcp.tweetfeed.live/(HTTP JSON-RPC 2.0、POST) - プロトコルバージョン:2025-11-25(ネゴシエーション方式。古いクライアントには自動的にフォールバックします)
- 認証:不要(すべての IOC データは CC0 です)
- ライセンス(データ):CC0-1.0 · ライセンス(コード):MIT
ツール
| 名前 | 目的 |
|---|---|
query_iocs | 期間(今日/週/月)を指定して IOC を照会します。ユーザー、タグ、タイプによるフィルターも指定できます。 |
check_url | 指定した URL がフィードに含まれているか確認します。 |
check_ip | 指定した IPv4/IPv6 アドレスがフィードに含まれているか確認します。 |
check_hash | 指定した MD5 または SHA-256 ハッシュがフィードに含まれているか確認します(タイプは自動判定されます)。 |
list_recent_iocs | 指定した日付以降に追加された IOC を一覧表示します。タイプやタグによるフィルターも指定できます。 |
get_tag_info | タグの期間別集計と最近の IOC を取得します(先頭の # は省略可能です)。 |
get_trending | 期間(今日/週/月/年)の上位タグと IOC タイプの分布を取得します。 |
enrich_ioc | IOC を完全一致で検索します(タイプは url/domain/ip/md5/sha256 から自動判定)。過去 365 日間の AI/外部情報による裏付け/ネットワーク/ドメイン登録(reg。初回報告時のドメイン経過日数と newly_registered フラグを含む)に関するコンテキストと、利用可能な場合はキャンペーンへの所属情報を取得します。また、365 日より古い履歴が存在する場合は、そのアーカイブも取得します(現在の一致結果に追加される場合があります)。一致しない場合は、30 日間の部分文字列検索にフォールバックします。 |
get_campaigns | 過去 30 日間の AI クラスタリングによるキャンペーンのグループを取得します。ブランドや信頼度の下限によるフィルターも指定できます。 |
get_campaign_iocs | キャンペーン ID でキャンペーンの IOC 全件(ヘッダー+行)を取得します。タイプフィルターや件数制限も指定できます。 |
get_trends | 31 日間の IOC トレンド分析を取得します。タイプ別の日次件数、週ごとの変動が大きい上位タグ、悪用頻度の高い TLD、新規と再発の比率、情報提供元の集中度を含みます。 |
get_feed_status | ライブパイプラインの稼働状況を取得します。アーティファクトごとの鮮度判定(stale、age_seconds)と情報源のカバレッジ(過去 24 時間に行を配信したハッシュタグ/アカウントのフィード、停止しているアカウントフィード)を含みます。 |
search | ChatGPT コネクターインターフェースです。IOC 値、タグ、キャンペーン ID、またはフリーテキストから、ドキュメント ID(ioc:<value>、tag:<tag>、campaign:<tfc-id>)を検索します。 |
fetch | ChatGPT コネクターインターフェースです。search が返した ID の完全なドキュメント({id, title, text, url, metadata})を取得します。 |
リソース
14 個のツールに加えて、サーバーは MCP リソース(resources/list、resources/templates/list、resources/read)としてフィードを公開しています。7 個の静的ドキュメントと 2 個の URI テンプレートがあり、それぞれ該当する api.tweetfeed.live ドキュメントの生の JSON を返します。ツールはフィルタリングされ、サイズが制限されたアクセス方法です。リソースは、ドキュメント全体を必要とするクライアント(ステータスパネル、ウィンドウ全体のブロックリスト同期など)向けです。
| URI | 内容 |
|---|---|
tweetfeed://status | パイプラインの健全性とソースごとのカバレッジ(/v1/status と同じ内容、約 13 KB、15 分ごとに更新)。 |
tweetfeed://counts | ウィンドウ/タイプ/タグ別の IOC の集計数(/v1/counts と同じ内容、約 6 KB)。 |
tweetfeed://trends | 31 日間のトレンド分析(/v1/trends と同じ内容、約 4 KB、毎日更新)。 |
tweetfeed://campaigns | 過去 30 日間の AI クラスタリング済みキャンペーン(/v1/campaigns と同じ内容、約 300 KB、毎日更新)。 |
tweetfeed://iocs/today | 今日共有されたすべての IOC 行(/v1/today と同じ内容、UTC 日の終わりには 50~250 KB)。 |
tweetfeed://iocs/week | 過去 7 日間(/v1/week と同じ内容、1~1.5 MB)。 |
tweetfeed://iocs/month | 過去 30 日間(/v1/month と同じ内容、2~3 MB、API の上限は 10,000 行)。 |
tweetfeed://iocs/{time}/{type} | テンプレート - time:today|week|month、type:url|domain|ip|sha256|md5(/v1/{time}/{type} と同じ内容)。 |
tweetfeed://campaigns/{id} | テンプレート - id = tfc- に 12 桁の 16 進数を続けたもの(/v1/campaigns/{id} と同じ内容)。 |
不明な URI、または期限切れのキャンペーン ID に対しては、JSON-RPC エラー -32002「Resource not found」が返されます。
プロンプト
14 個のツールと上記のリソースに加えて、サーバーは MCP プロンプト(prompts/list、prompts/get、文字列形式の name と arguments パラメーター)にも対応しています。これは、モデルが実行して結果を報告するために、複数のツール呼び出しを 1 つの指示シーケンスにつなげた、すぐに使えるレシピです。ツールはモデルが選択し、リソースは生のドキュメントであるのに対し、プロンプトはユーザーが直接呼び出すレシピです。Claude Desktop と Claude Code ではスラッシュコマンドとして表示されます。
| 名前 | 引数 | 目的 |
|---|---|---|
triage_ioc | ioc(必須)、context(任意) | 1 つの IOC(URL/ドメイン/IP/MD5/SHA-256)を段階的にトリアージします。エンリッチメント、キャンペーンへの所属、判定、推奨アクションを確認します。 |
daily_brief | window(任意、デフォルトは today | week) | 簡潔な概要です。フィードの健全性、量と内訳、変化しているタグ、活動中の高信頼度キャンペーン、悪用された TLD をまとめます。 |
campaign_summary | campaign_id(必須、tfc- に 12 桁の 16 進数を続けたもの) | 1 つのキャンペーンの引き継ぎ用概要です。コンテキスト、標的、ATT&CK 手法、IOC の内訳、インフラストラクチャ、ブロックリスト用データ、CSV/STIX リンクを含みます。 |
Claude Desktop/Claude.ai/その他の MCP クライアントでの使用
{
"mcpServers": {
"tweetfeed": {
"url": "https://mcp.tweetfeed.live/"
}
}
}
または Claude Code CLI から:
claude mcp add tweetfeed https://mcp.tweetfeed.live/
ChatGPT コネクターとしての使用
ChatGPT(Settings > Connectors > Create、または Deep research のカスタムコネクター)では、認証なしで https://mcp.tweetfeed.live/ を使用できます。サーバーは他のツールとともに必須の search ツールと fetch ツールを公開しており、すべての結果に ChatGPT が引用できる tweetfeed.live の URL が含まれます。
クイックテスト
curl -sX POST https://mcp.tweetfeed.live/ \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}' | jq .
# Example tool call:
curl -sX POST https://mcp.tweetfeed.live/ \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","method":"tools/call","id":2,
"params":{"name":"query_iocs",
"arguments":{"time":"today","tag":"phishing","type":"url","limit":5}}}' | jq .
# Example resource read:
curl -sX POST https://mcp.tweetfeed.live/ \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","method":"resources/read","id":3,
"params":{"uri":"tweetfeed://status"}}' | jq .
# Example prompt call:
curl -sX POST https://mcp.tweetfeed.live/ \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","method":"prompts/get","id":4,
"params":{"name":"triage_ioc","arguments":{"ioc":"example.com"}}}' | jq .
開発
npm install
npm run dev # wrangler dev on http://localhost:8787
MCP_URL=http://localhost:8787 npm test
デプロイ
npm run deploy # wrangler deploy (routes mcp.tweetfeed.live/*)
MCP_URL=https://mcp.tweetfeed.live npm test
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。