ðŠ X-Post MCP ð
ããŒã«ã«ðŠ X-Post MCP ð ã«ã€ããŠ
X-Post MCPã¯ãXãžã®æçš¿ãäœæã»å ¬éããMCPãµãŒããŒãšGeminiã¯ã©ã€ã¢ã³ãã§ããæçš¿ããŒã«ãšãå ¬éã®æµãã詊ãããã£ããç»é¢ãåããŠããŸãã
äž»ãªæ©èœ
- 01X APIçµç±ã®æçš¿å ¬é
- 02Google Geminiã«ããæçš¿æã®çæ
- 03ãã¹ãçšã®ãã£ããç»é¢
- 04Xã®æåæ°å¶éã«åãããåãè©°ã
- 05APIèªèšŒæ å ±ã®å®å šãªåãæ±ã
掻çšã·ãŒã³
- 01ãã£ããã®äŸé ŒããXã®æçš¿ãäœæã»å ¬é
- 02å ¬éåã«AIçæã®æçš¿æããã¹ã
MCP 察å¿
MCPãµãŒããŒã¯Xãžã®æçš¿çšã«`createPost`ããŒã«ãå ¬éããServer-Sent Eventsã§ã¯ã©ã€ã¢ã³ããšéä¿¡ããŸããä»å±ã¯ã©ã€ã¢ã³ãããµãŒããŒã«æ¥ç¶ããGeminiããããŒã«ãåŒã³åºããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðŠ X-Post MCP ð
Model Context ProtocolïŒMCPïŒã䜿çšããŠãAI ã¢ãã«ãã XïŒæ§ TwitterïŒã«çŽæ¥æçš¿ã§ãã匷åãªçµ±åæ©èœã§ã ð€âš
ð æŠèŠ
X-Post MCP ã¯ãæšæºåãããã€ã³ã¿ãŒãã§ãŒã¹ãéããŠãAI ã¢ãã«ã XïŒæ§ TwitterïŒãžã®æçš¿ãäœæã»å ¬éã§ããã¯ã©ã€ã¢ã³ãã»ãµãŒããŒã¢ããªã±ãŒã·ã§ã³ã§ããModel Context Protocol ãæŽ»çšããAI ã¢ãã«ãš X ãã©ãããã©ãŒã ãã·ãŒã ã¬ã¹ã«çµ±åããŸãã
âš æ©èœ
- ð XïŒTwitterïŒAPI ãšã®ã·ãŒã ã¬ã¹ãªçµ±å
- ð§ Google ã® Gemini ã¢ãã«ã䜿çšãã AI ã«ããæçš¿äœæ
- ð ïž X ãžã®æçš¿æ©èœãããŒã«ãšããŠå ¬éãã MCP ãµãŒããŒ
- ð¬ ãã¹ãããã¢ã«äœ¿ããã€ã³ã¿ã©ã¯ãã£ããªãã£ããã€ã³ã¿ãŒãã§ãŒã¹
- ð API èªèšŒæ å ±ãå®å šã«ç®¡ç
- âïž X ã®æåæ°å¶éãè¶ ããæçš¿ãèªåçã«åãè©°ã
ð ïž æè¡
- Bun: é«éãªãªãŒã«ã€ã³ã¯ã³ JavaScript ã©ã³ã¿ã€ã
- TypeScript: åå®å šãª JavaScript
- Express: Node.js åã Web ãã¬ãŒã ã¯ãŒã¯
- Model Context Protocol (MCP): AI ã³ã³ããã¹ãã®æšæºåãããã³ã«
- Twitter API v2: X ãã©ãããã©ãŒã API
- Google Gemini: Google ã®çæ AI ã¢ãã«
ðŠ ã€ã³ã¹ããŒã«
åææ¡ä»¶
- Bun v1.2.5 以é
- XïŒTwitterïŒAPI èªèšŒæ å ±
- Google Gemini API ããŒ
ãµãŒããŒã®ã»ããã¢ãã
# Clone the repository
git clone https://github.com/subhadeeproy3902/x-post-mcp.git
cd x-post-mcp
# Install server dependencies
cd server
bun install
ã¯ã©ã€ã¢ã³ãã®ã»ããã¢ãã
# From the project root
cd client
bun install
âïž èšå®
XïŒTwitterïŒAPI èªèšŒæ å ±ã®ååŸ
-
éçºè ã¢ã«ãŠã³ããäœæãã:
- X Developer Portal ã«ã¢ã¯ã»ã¹ããŸã
- X ã¢ã«ãŠã³ãã§ãµã€ã³ã€ã³ããããæ°ããã¢ã«ãŠã³ããäœæããŸã
- ãŸã éçºè ã¢ã«ãŠã³ãããæã¡ã§ãªãå Žåã¯ãéçºè ã¢ã«ãŠã³ããç³è«ããŸã
-
ãããžã§ã¯ããšã¢ããªãäœæãã:
- æ¿èªãããããDeveloper Portal ã§æ°ãããããžã§ã¯ããäœæããŸã
- ãããžã§ã¯ãå ã§æ°ããã¢ããªãäœæããŸã
- ã¢ããªã«ååãšèª¬æãèšå®ããŸã
-
ã¢ããªã®æš©éãèšå®ãã:
- ã¢ããªã®èšå®ã§ããUser authentication settingsãã»ã¯ã·ã§ã³ã«ç§»åããŸã
- èšå®ãç·šéããOAuth 1.0a ãæå¹ã«ããŸã
- ã¢ããªã®æš©éãèªã¿åããšæžã蟌ã¿ãããã³ãã€ã¬ã¯ãã¡ãã»ãŒãžã«èšå®ããŸã
- 倿Žãä¿åããŸã
-
ã¢ã¯ã»ã¹ããŒã¯ã³ãçæãã:
- ãKeys and Tokensãã¿ãã«ç§»åããŸã
- ãConsumer KeysãïŒAPI Key ãš SecretïŒãçæããŸã
- ã¢ã«ãŠã³ãçšã®ãAccess Token and SecretããçæããŸã
- èšå®ã«å¿ èŠãšãªãããã4 ã€ã®å€ãã¹ãŠãå¿ ãä¿åããŠãã ãã
â ïž éèŠ: API ããŒãšããŒã¯ã³ã¯å®å šã«ä¿ç®¡ããå ¬éãªããžããªã«ã³ãããããªãã§ãã ããã
ãµãŒããŒã®ç°å¢å€æ°
server ãã£ã¬ã¯ããªã«ã次ã®å€æ°ãå«ã .env ãã¡ã€ã«ãäœæããŸãã
# X (Twitter) API Credentials
TWITTER_API_KEY=your_twitter_api_key
TWITTER_API_SECRET=your_twitter_api_secret
TWITTER_ACCESS_TOKEN=your_twitter_access_token
TWITTER_ACCESS_SECRET=your_twitter_access_secret
Google Gemini API ããŒã®ååŸ
-
Google AI Studio ã¢ã«ãŠã³ããäœæãã:
- Google AI Studio ã«ã¢ã¯ã»ã¹ããŸã
- Google ã¢ã«ãŠã³ãã§ãµã€ã³ã€ã³ããŸã
-
API ããŒãååŸãã:
- API Keys section ã«ç§»åããŸã
- ãCreate API Keyããã¯ãªãã¯ããŸã
- æ°ãã API ããŒãã³ããŒããŸã
â ïž éèŠ: API ããŒã¯å®å šã«ä¿ç®¡ããå ¬éãªããžããªã«ã³ãããããªãã§ãã ããã
ã¯ã©ã€ã¢ã³ãã®ç°å¢å€æ°
client ãã£ã¬ã¯ããªã«ã次ã®å€æ°ãå«ã .env ãã¡ã€ã«ãäœæããŸãã
# Google Gemini API Key
GEMINI_API_KEY=your_gemini_api_key
ð äœ¿ãæ¹
ãµãŒããŒã®èµ·å
cd server
bun run dev
ãµãŒããŒã¯ http://localhost:3001 ã§èµ·åããŸãã
ã¯ã©ã€ã¢ã³ãã®èµ·å
cd client
bun run index.ts
ã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒã«æ¥ç¶ããAI ã¢ãã«ãšããåãã㊠X ãžã®æçš¿ãæç€ºã§ããã€ã³ã¿ã©ã¯ãã£ããªãã£ããã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãã
ã³ãã³ãã®äŸ
ã¯ã©ã€ã¢ã³ãã®å®è¡åŸãAI ã¢ãã«ãšããåãã§ããŸãã
You: Post a tweet about the beautiful weather today
AI 㯠Gemini ã¢ãã«ã䜿ã£ãŠæçš¿ãçæãããã®åŸ MCP ããŒã«ã䜿ã£ãŠ X ã«æçš¿ããŸãã
ðïž ã¢ãŒããã¯ãã£
ãµãŒããŒ
ãµãŒããŒã³ã³ããŒãã³ã㯠Express ã§æ§ç¯ãããModel Context Protocol ãå®è£
ããŠããŸããX ãžã®æçš¿ã«äœ¿çšã§ãã createPost ãšããããŒã«ãå
¬éããŠããŸãããµãŒããŒã¯ã¯ã©ã€ã¢ã³ããšã®éä¿¡ã« Server-Sent EventsïŒSSEïŒã䜿çšããŸãã
ã¯ã©ã€ã¢ã³ã
ã¯ã©ã€ã¢ã³ãã³ã³ããŒãã³ã㯠MCP ãµãŒããŒã«æ¥ç¶ããGoogle ã® Gemini AI ã¢ãã«ãšããåãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãããŠãŒã¶ãŒã®ãªã¯ãšã¹ãã AI ãçæããã³ã³ãã³ãã«å€æãããµãŒããŒã®ããŒã«ãåŒã³åºã㊠X ã«æçš¿ã§ããŸãã
ð€ ã³ã³ããªãã¥ãŒã·ã§ã³
ã³ã³ããªãã¥ãŒã·ã§ã³ãæè¿ããŸããPull Request ããæ°è»œã«ãéããã ããã
- ãªããžããªããã©ãŒã¯ããŸã
- æ©èœãã©ã³ããäœæããŸãïŒ
git checkout -b feature/amazing-featureïŒ - 倿Žãã³ãããããŸãïŒ
git commit -m 'Add some amazing feature'ïŒ - ãã©ã³ãã«ããã·ã¥ããŸãïŒ
git push origin feature/amazing-featureïŒ - Pull Request ãäœæããŸã
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ã㯠MIT License ã®ããšã§ã©ã€ã»ã³ã¹ãããŠããŸãã詳现ã«ã€ããŠã¯ LICENSE ãã¡ã€ã«ãã芧ãã ããã
ð è¬èŸ
- æšæºåããã AI ã³ã³ããã¹ããããã³ã«ãæäŸãã Model Context Protocol
- X ãã©ãããã©ãŒã ãšã®é£æºãå¯èœã«ãã Twitter API v2
- AI æ©èœãæäŸãã Google Gemini
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã