{
  "markdown": "# twitterapi-io-mcp\n\n> Offline TwitterAPI.io documentation for Claude and AI assistants via MCP. 67 active endpoints (with full method/params/body), 32 guides, 24 blog posts. No API key needed.\n\n[![npm version](https://img.shields.io/npm/v/twitterapi-io-mcp.svg)](https://www.npmjs.com/package/twitterapi-io-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/twitterapi-io-mcp.svg)](https://www.npmjs.com/package/twitterapi-io-mcp)\n[![Smithery](https://smithery.ai/badge/@dorukardahan/twitterapi-io-mcp)](https://smithery.ai/server/@dorukardahan/twitterapi-io-mcp)\n[![GitHub stars](https://img.shields.io/github/stars/dorukardahan/twitterapi-io-mcp?style=social)](https://github.com/dorukardahan/twitterapi-io-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n```bash\n# Quick install (Claude Code)\nclaude mcp add twitterapi-io -- npx -y twitterapi-io-mcp\n```\n\n## What is this?\n\nAn MCP server that gives Claude, Cursor, VS Code Copilot, and other AI assistants **instant, offline access** to [TwitterAPI.io](https://twitterapi.io) documentation.\n\n- **67 active API endpoints** with full HTTP method, body/query parameters, cURL examples, and response schemas\n- **32 guide pages** covering pricing, authentication, rate limits, webhooks, streaming\n- **24 blog posts** with tutorials and use cases\n- **All v2 write endpoints** documented with `login_cookies`, `proxy`, and body params\n- **All deprecated v1 endpoints removed** — only current v2 endpoints remain\n- **Zero API key required** — everything is bundled locally\n\nUnlike other Twitter MCP servers that proxy live API calls (and need your API key), this one ships a complete documentation snapshot. Your AI assistant reads it locally, instantly.\n\n### Recent Changes\n- **v1.2.0**: OpenAPI-first scraper rewrite — structured parameters with types, response schemas, eliminates Vercel checkpoint issues\n- **v1.1.x**: Added `list_timeline` + `get_user_timeline`, removed 7 deprecated V1 endpoints, security fixes (hono, ajv, express-rate-limit)\n- **v1.0.23**: Platform advisory — Twitter disabled `since:/until:` search operators. Use `since_time:UNIX` / `until_time:UNIX` instead\n- **v1.0.22**: Added 7 endpoints (`get_space_detail`, `get_tweet_replies_v2`, `get_user_about`, etc.)\n\nSee [CHANGELOG.md](CHANGELOG.md) for full history.\n\n> **Disclaimer**: Independent community project. Not affiliated with TwitterAPI.io.\n\n## Installation\n\n> Previously published as `twitterapi-docs-mcp`? Just change the package name — everything else stays the same.\n\n**Requires:** Node.js 18.18.0+\n\n### Claude Code (recommended)\n\n```bash\n# Add globally (all projects)\nclaude mcp add --scope user twitterapi-io -- npx -y twitterapi-io-mcp\n\n# Or project-only\nclaude mcp add twitterapi-io -- npx -y twitterapi-io-mcp\n\n# Verify\nclaude mcp list\n```\n\n### Claude Desktop\n\nAdd to your config file:\n\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- **Linux**: `~/.config/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"twitterapi-io\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"twitterapi-io-mcp\"]\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to `.cursor/mcp.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"twitterapi-io\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"twitterapi-io-mcp\"]\n    }\n  }\n}\n```\n\n### VS Code / VS Code Insiders\n\nAdd to `.vscode/mcp.json` in your project root:\n\n```json\n{\n  \"servers\": {\n    \"twitterapi-io\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"twitterapi-io-mcp\"]\n    }\n  }\n}\n```\n\n### Windsurf\n\nAdd to `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"twitterapi-io\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"twitterapi-io-mcp\"]\n    }\n  }\n}\n```\n\n### Docker\n\n```bash\ndocker run -i --rm $(docker build -q .) 2>/dev/null\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/dorukardahan/twitterapi-io-mcp.git\ncd twitterapi-io-mcp && npm install\nnode index.js\n```\n\n## Available tools\n\n| Tool | Description | Best for |\n|------|-------------|----------|\n| `search_twitterapi_docs` | Full-text search across all docs (fuzzy matching, typo-tolerant) | Finding endpoints, guides, or blog posts by keyword |\n| `get_twitterapi_endpoint` | Get full endpoint documentation with params, examples, response schema | Deep dive into a specific API endpoint |\n| `list_twitterapi_endpoints` | List endpoints, optionally filtered by category | Browsing what's available in a category |\n| `get_twitterapi_guide` | Get guide pages (pricing, auth, rate limits, webhooks, etc.) | Understanding platform rules and setup |\n| `get_twitterapi_url` | Fetch content by URL path or page key | When you have a direct link to docs |\n| `get_twitterapi_pricing` | Quick pricing overview | Cost questions |\n| `get_twitterapi_auth` | Quick authentication guide | Auth setup and API key usage |\n\n## For AI assistants\n\nIf you're an AI assistant using this MCP server, here's a quick reference:\n\n| User wants... | Use this tool | Example |\n|---------------|---------------|---------|\n| Find an endpoint | `search_twitterapi_docs` | `query: \"advanced search\"` |\n| Endpoint details | `get_twitterapi_endpoint` | `endpoint_name: \"tweet_advanced_search\"` |\n| List all endpoints | `list_twitterapi_endpoints` | `category: \"user\"` (optional) |\n| Pricing info | `get_twitterapi_pricing` | No params needed |\n| Auth guide | `get_twitterapi_auth` | No params needed |\n| Any guide/page | `get_twitterapi_guide` | `guide_name: \"qps_limits\"` |\n| Fetch by URL | `get_twitterapi_url` | `url: \"pricing\"` |\n\n**Tips:**\n- Search is fuzzy and typo-tolerant: `\"twet object\"` still finds results\n- Use `max_results: 5` for focused results\n- All endpoints are current v2 — no deprecated endpoints remain\n\n## What can you ask?\n\nHere are real prompts that work well with this MCP server:\n\n- *\"What are the rate limits for TwitterAPI.io?\"* — triggers `get_twitterapi_guide`\n- *\"Show me the tweet advanced search endpoint\"* — triggers `get_twitterapi_endpoint`\n- *\"How do I authenticate with the API?\"* — triggers `get_twitterapi_auth`\n- *\"What's the pricing?\"* — triggers `get_twitterapi_pricing`\n- *\"List all user-related endpoints\"* — triggers `list_twitterapi_endpoints` with `category: \"user\"`\n- *\"How do webhook filter rules work?\"* — triggers `search_twitterapi_docs`\n- *\"What write endpoints need login?\"* — triggers `search_twitterapi_docs` with `query: \"login_cookies\"`\n- *\"How do I upload media and create a tweet?\"* — triggers sequential `get_twitterapi_endpoint` calls\n\n<details>\n<summary><strong>All 67 endpoints by category</strong></summary>\n\n| Category | Count | Endpoints |\n|----------|-------|-----------|\n| **User** | 11 | `get_user_by_username`, `get_user_timeline`, `get_user_last_tweets`, `get_user_followers`, `get_user_followings`, `get_user_mention`, `get_user_verified_followers`, `get_user_about`, `batch_get_user_by_userids`, `check_follow_relationship`, `search_user` |\n| **Tweet** | 8 | `tweet_advanced_search`, `get_tweet_by_ids`, `get_tweet_reply`, `get_tweet_replies_v2`, `get_tweet_quote`, `get_tweet_retweeter`, `get_tweet_thread_context`, `get_article` |\n| **Action** | 8 | `create_tweet_v2`, `delete_tweet_v2`, `like_tweet_v2`, `unlike_tweet_v2`, `retweet_tweet_v2`, `follow_user_v2`, `unfollow_user_v2`, `upload_media_v2` |\n| **Community** | 9 | `get_community_by_id`, `get_community_members`, `get_community_moderators`, `get_community_tweets`, `get_all_community_tweets`, `create_community_v2`, `delete_community_v2`, `join_community_v2`, `leave_community_v2` |\n| **List** | 6 | `get_list_followers`, `get_list_members`, `get_list_tweets`, `list_timeline`, `add_list_member`, `remove_list_member` |\n| **Profile** | 3 | `update_avatar_v2`, `update_banner_v2`, `update_profile_v2` |\n| **Webhook** | 4 | `add_webhook_rule`, `get_webhook_rules`, `update_webhook_rule`, `delete_webhook_rule` |\n| **Stream** | 3 | `add_user_to_monitor_tweet`, `get_user_to_monitor_tweet`, `remove_user_to_monitor_tweet` |\n| **Auth** | 1 | `user_login_v2` |\n| **DM** | 2 | `get_dm_history`, `send_dm_v2` |\n| **Account** | 1 | `get_my_info` |\n| **Other** | 2 | `get_trends`, `get_space_detail` |\n\n</details>\n\n## Configuration\n\n| Environment Variable | Default | Description |\n|---------------------|---------|-------------|\n| `TWITTERAPI_MCP_DISK_CACHE` | `1` (on) | Set to `0` to disable disk caching |\n\n## Troubleshooting\n\n**`npx` hangs or fails on first run**\n\nThe first run downloads the package from npm. If it hangs, try:\n```bash\nnpx -y twitterapi-io-mcp@latest\n```\nOr install globally: `npm install -g twitterapi-io-mcp`\n\n**\"Node.js version not supported\"**\n\nThis server requires Node.js 18.18.0 or later. Check your version:\n```bash\nnode --version\n```\n\n**`claude mcp add` not recognized**\n\nMake sure Claude Code CLI is installed and up to date:\n```bash\nclaude --version\n```\n\n**Server starts but no tools appear**\n\nRestart your MCP client after adding the server config. Most clients (Claude Desktop, Cursor) need a restart to detect new MCP servers.\n\n## How it works\n\n```\n┌─────────────┐     MCP (stdio)      ┌──────────────────┐\n│   Claude /   │ ◄──────────────────► │ twitterapi-io-mcp│\n│  Cursor /    │                      │                  │\n│  VS Code     │                      │  Bundled docs    │\n└─────────────┘                      │  (67 endpoints)  │\n                                     └──────────────────┘\n                                       No network needed\n```\n\n| Property | Value |\n|----------|-------|\n| Runtime | Node.js 18.18.0+ (ES Modules, no build step) |\n| Protocol | MCP via stdio |\n| Caching | Hybrid (memory + disk), 24h TTL |\n| Search | N-gram tokenization with fuzzy matching |\n\n1. AI assistant calls an MCP tool (search, get endpoint, etc.)\n2. Server searches the bundled documentation snapshot\n3. Results return instantly with no network requests\n\n## Why I built this\n\nI use [TwitterAPI.io](https://twitterapi.io) daily for my projects. Switching between my editor and their docs site got old fast. So I packaged the entire documentation into an MCP server. Now I ask Claude and get answers without leaving my terminal.\n\nIf you work with the Twitter/X API through TwitterAPI.io, this saves you the same context-switching. Install it, forget about it, and just ask.\n\n## Development\n\n```bash\ngit clone https://github.com/dorukardahan/twitterapi-io-mcp.git\ncd twitterapi-io-mcp\nnpm install\nnpm test        # Run tests (48 tests)\nnpm start       # Start server locally\nnpm run scrape  # Update docs snapshot from twitterapi.io\n```\n\n## Not using MCP?\n\nIf your AI tool doesn't support MCP (like OpenClaw), use the **skill version** instead — a single markdown file with all 67 active endpoints:\n\n👉 **[twitterapi-io-skill](https://github.com/dorukardahan/twitterapi-io-skill)** — works with OpenClaw, Claude, GPT, Gemini, and any LLM.\n\n## Links\n\n- **npm**: [twitterapi-io-mcp](https://www.npmjs.com/package/twitterapi-io-mcp)\n- **Skill version**: [dorukardahan/twitterapi-io-skill](https://github.com/dorukardahan/twitterapi-io-skill)\n- **GitHub**: [dorukardahan/twitterapi-io-mcp](https://github.com/dorukardahan/twitterapi-io-mcp)\n- **MCP Registry**: [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io)\n- **TwitterAPI.io**: [twitterapi.io](https://twitterapi.io)\n\n## Contributing\n\nPRs welcome! Fork the repo, create a branch, make your changes, and open a pull request. Bug reports and feature requests go to [GitHub Issues](https://github.com/dorukardahan/twitterapi-io-mcp/issues).\n\n## License\n\n[MIT](LICENSE)\n\n## Acknowledgments\n\n- [TwitterAPI.io](https://twitterapi.io) for the API service\n- [Anthropic](https://anthropic.com) for the Model Context Protocol\n- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)\n\n",
  "bytes": 11854,
  "sha": "c337d05bd1797b58faa3208ca84dff88538a1c89267d11ae37f797b2a540b8b7",
  "repo_slug": "dorukardahan/twitterapi-docs-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dorukardahan_twitterapi_docs_m_69ab4ff7/readme"
}