Building a Twitter Trends Analysis MCP Server for Claude について
このチュートリアルでは、Python 開発者向けに、Twitter のトレンドを取得して Claude の分析につなぐ MCP サーバーの構築方法を説明します。環境設定、API 認証情報、サーバー実装、Claude Desktop への接続を扱い、トレンドからビジネス機会を探ります。
主な機能
- 01Twitter のリアルタイムトレンド取得
- 02カテゴリ別のトレンド分析
- 03ビジネス機会の特定
- 04AI によるインサイト生成
- 05サーバー動作ログの記録
活用シーン
- 01現在のトレンドから SaaS の機会を探る
- 02カテゴリ別にトレンドを確認する
- 03トレンド分析からビジネス案を見つける
MCP 対応
トレンド取得用のリソースとツールを備え、分析のために Claude と接続する MCP サーバーの構築手順を紹介します。Claude Desktop の設定方法も説明します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude 用 Twitter トレンド分析 MCP サーバーの構築
このチュートリアルでは、Twitter のトレンドトピックと Claude の分析機能を連携させる Model Context Protocol(MCP)サーバーの作成方法を説明します。このサーバーは Twitter のリアルタイムトレンドを取得し、Claude を使ってビジネスチャンスを分析します。
前提条件
- Python 3.8 以降
- Claude Desktop がインストールされていること
- API にアクセスできる Twitter Developer Account
- Python の基本的な知識
パート 1:環境のセットアップ
- 新しいプロジェクトディレクトリを作成します:
mkdir twitter-trends-mcp
cd twitter-trends-mcp
- 仮想環境をセットアップします:
python -m venv .venv
.venv\Scripts\activate # On Windows
- 必要なパッケージをインストールします:
pip install tweepy mcp python-dotenv hatchling
パート 2:プロジェクト構成
次のディレクトリ構成を作成します:
twitter-trends-mcp/
├── pyproject.toml
├── twitter_server_run.py
├── src/
│ └── twitter_trends_mcp/
│ ├── __init__.py
│ └── server.py
パート 3:設定ファイル
- ルートディレクトリに
pyproject.tomlを作成します:
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "twitter-trends-mcp"
version = "0.1.0"
description = "Twitter Trends MCP Server"
requires-python = ">=3.8"
dependencies = [
"tweepy",
"mcp",
"python-dotenv"
]
[tool.hatch.build]
packages = ["src/twitter_trends_mcp"]
include = ["src/twitter_trends_mcp/*"]
[project.scripts]
twitter-trends-server = "twitter_trends_mcp:main"
src/twitter_trends_mcp/__init__.pyを作成します:
"""Twitter Trends MCP Server package."""
import asyncio
from . import server
def main():
"""Main entry point for the package."""
asyncio.run(server.main())
__all__ = ['main', 'server']
- エントリーポイントのファイル
twitter_server_run.pyを作成します:
#!/usr/bin/env python
import os
import sys
import logging
from pathlib import Path
# Configure logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('twitter_server.log'),
logging.StreamHandler()
]
)
logger = logging.getLogger('twitter-trends-mcp')
# Add the src directory to the Python path
src_path = str(Path(__file__).parent / "src")
sys.path.insert(0, src_path)
logger.info(f"Python path: {sys.path}")
try:
from twitter_trends_mcp.server import main
logger.info("Successfully imported server module")
except Exception as e:
logger.error(f"Error importing server module: {e}")
raise
if __name__ == "__main__":
try:
logger.info("Starting server...")
import asyncio
asyncio.run(main())
except KeyboardInterrupt:
logger.info("Server stopped by user")
except Exception as e:
logger.error(f"Server error: {e}")
raise
パート 4:Twitter API のセットアップ
- Twitter Developer Portal にアクセスします
- 新しいプロジェクトとアプリを作成します
- API 認証情報を取得します:
- API Key
- API Secret
- Access Token
- Access Token Secret
- Bearer Token
パート 5:MCP サーバーの実装
src/twitter_trends_mcp/server.py を作成し、以下を含むサーバーコード一式を記述します:
- API クライアントの初期化
- トレンドの取得ロジック
- リソースとツールのハンドラー
- Claude との分析連携
主なコンポーネント:
# Initialize Twitter clients
client_v2 = tweepy.Client(...)
auth = tweepy.OAuthHandler(...)
api_v1 = tweepy.API(auth)
# Define server capabilities
app = Server("twitter-trends-server")
# Implement handlers
@app.list_resources()
async def list_resources() -> list[Resource]: ...
@app.read_resource()
async def read_resource(uri: AnyUrl) -> str: ...
@app.list_tools()
async def list_tools() -> list[Tool]: ...
@app.call_tool()
async def call_tool(name: str, arguments: Any) -> Sequence[TextContent]: ...
パート 6:Claude Desktop の設定
-
Claude Desktop の設定ファイルを確認します:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
設定を更新します:
{
"mcpServers": {
"twitter-trends": {
"command": "C:\\Users\\YOUR_USERNAME\\twitter-trends-mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\Users\\YOUR_USERNAME\\twitter-trends-mcp\\twitter_server_run.py"],
"env": {
"PYTHONPATH": "C:\\Users\\YOUR_USERNAME\\twitter-trends-mcp\\src",
"PYTHONUNBUFFERED": "1"
},
"cwd": "C:\\Users\\YOUR_USERNAME\\twitter-trends-mcp"
}
}
}
パート 7:実行とテスト
- パッケージをインストールします:
pip install -e .
- サーバーを実行します:
python twitter_server_run.py
-
Claude Desktop で:
- 🔌 アイコンをクリックします
- 「twitter-trends」を探します
- 「SaaS のビジネスチャンスにつながる現在の Twitter トレンドを分析して」と試します
-
ログを確認します:
Get-Content twitter_server.log -Wait
トラブルシューティングのヒント
-
よくある問題:
- モジュールが見つからない:PYTHONPATH を確認します
- 接続エラー:設定内のパスを確認します
- API エラー:認証情報を検証します
- サーバーが応答しない:ログを確認します
-
ログの場所:
- サーバー:
twitter_server.log - Claude:
%APPDATA%\Claude\Logs\mcp*.log
- サーバー:
機能
- リアルタイムのトレンド取得
- カテゴリ別の分析
- ビジネスチャンスの特定
- AI を活用したインサイト
- 詳細なログ記録
ベストプラクティス
- 絶対パスを使用します
- 認証情報を安全に管理します
- ログを確認します
- 段階的にテストします
- 仮想環境を使用します
次のステップ
- トレンド履歴を追加する
- センチメント分析を実装する
- 対応地域を増やす
- ビジネス指標を追加する
- 分析カテゴリを拡充する
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。