Twitterapi

io.github.pedrot95devPublished by GitHub account pedrot95devv0.1.2Updated Oct 24, 2026

Read/write X (Twitter) via twitterapi.io: mentions, thread context, create and delete tweets.

The publisher's own server: Twitterapi

Overview

AI-generated overview

Local MCP server that lets an assistant read X (Twitter) mentions and thread context and create or delete tweets through twitterapi.io.

What you can do
Fetch tweets that mention or reply to a user, with time filters, sort mode and cursor pagination, and page through results with next_cursor. Retrieve the conversation thread around a tweet, including the original tweet, intermediate replies and direct replies, with expanded URLs. Post a new tweet or reply, with quote, community, media, long-form and scheduled options. Delete one of your own tweets by ID.
When to use it
Useful when you want an assistant to monitor or summarize X mentions, inspect the conversation around a tweet, or draft, publish and remove posts on your own account from within an MCP host such as Claude Desktop or Cursor.
Requirements
Runs locally via npx, requiring Node.js 18 or newer. TWITTERAPI_IO_KEY is required for all tools; read tools need only that key. Write tools additionally need TWITTERAPI_IO_AUTH_TOKEN and TWITTERAPI_IO_CT0 (cookies from a logged-in X session) plus TWITTERAPI_IO_PROXY, a residential proxy. Network access to twitterapi.io is needed.
Before you install
Write tools act on your real X account: create_tweet publishes publicly and delete_tweet permanently removes a tweet. The server needs your X session cookies (TWITTERAPI_IO_AUTH_TOKEN, TWITTERAPI_IO_CT0) and a proxy with credentials (TWITTERAPI_IO_PROXY), which are sensitive and expire over time. Requests and account data go to the third-party twitterapi.io service, which may charge for API usage.

Installation

In SourceWeft

  1. Open Twitterapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

twitterapi.mcp

[npm]

MCP server that exposes twitterapi.io endpoints as tools for AI agents and MCP hosts. Written in TypeScript, distributed on npm, runnable with a single npx command.

Current Tools

ToolDescriptionAPI EndpointAuth
get_user_mentionsFetch tweets mentioning a user.GET /twitter/user/mentionsAPI key
get_tweet_thread_contextFetch a page of the conversation thread around a tweet.GET /twitter/tweet/thread_contextAPI key
create_tweetCreate a tweet or reply.POST /twitter/create_tweet_v2API key + cookies + proxy
delete_tweetDelete one of your tweets.POST /twitter/delete_tweet_v2API key + cookies + proxy

Quick Start

1. Get an API key

Visit https://twitterapi.io/dashboard and obtain your x-api-key.

2. Cookies + proxy for write actions

create_tweet and delete_tweet authenticate with your account's own session cookies. From a browser logged into X, open DevTools → Application → Cookies → https://x.com and copy the auth_token and ct0 values.

VariableRequiredDescription
TWITTERAPI_IO_KEYalwaystwitterapi.io API key
TWITTERAPI_IO_AUTH_TOKENwritesauth_token cookie from a logged-in X session
TWITTERAPI_IO_CT0writesct0 cookie from the same session
TWITTERAPI_IO_PROXYwritesResidential proxy, http://user:pass@ip:port (required by the write endpoints)

The server derives the login_cookies value twitterapi.io expects from auth_token + ct0. These cookies expire over time (typically weeks); when a write starts returning an auth error, refresh them from the browser.

The API key alone is enough for the read tools. Add the cookie/proxy vars only if you need write actions.

3. Add to your MCP host

Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

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 downloads and runs the latest published version. Only Node.js (>= 18) is required — no global install needed.

Other MCP hosts (e.g. Cursor): add the same npx command + env vars in the host's MCP settings UI or config file.

Tool: get_user_mentions

Fetch tweets that mention or reply to a user. Makes a single request per call; page by passing cursor from a previous response's next_cursor.

ParameterTypeDefaultDescription
user_namestring(required)X username, with or without @
since_timestring—Start time filter (e.g. 2025-06-01 or ISO datetime)
until_timestring—End time filter
cursorstring—Pagination cursor from a previous next_cursor
query_type"Latest" | "Relevance""Latest"Sort mode
limitinteger50Max tweets to return from this single request
json
{  "tweets": [ ... ],  "count": 12,  "has_next_page": true,  "next_cursor": "DAADDAAB...",  "status": "success",  "msg": null}

Tool: get_tweet_thread_context

Fetch the conversation thread around a tweet. Returns the original tweet, the intermediate replies up the chain, the tweet itself, and its direct replies. Each returned tweet includes entities.urls with expanded links — useful for scanning a mention's surrounding conversation for URLs.

Makes exactly one request per call (1-to-1 with the endpoint — no internal pagination). Page through longer threads with cursor.

ParameterTypeDefaultDescription
tweet_idstring(required)The tweet ID to get the thread context for
cursorstring—Pagination cursor from a previous next_cursor
json
{  "tweets": [ ... ],  "count": 6,  "has_next_page": false,  "next_cursor": "",  "status": "success",  "msg": "success"}

Note: this endpoint paginates unevenly — a page may return few or zero tweets while has_next_page is still true. Follow next_cursor until has_next_page is false to collect the whole thread.

Tool: create_tweet

Post a new tweet or reply. Supports quotes, media, communities, and scheduling. Requires the cookie + proxy env vars (see step 2).

ParameterTypeDefaultDescription
tweet_textstring(required)The text content of the tweet
reply_to_tweet_idstring—Tweet ID to reply to (makes this a reply)
quote_tweet_idstring—Tweet ID to quote
attachment_urlstring—URL for quote (alternative to quote_tweet_id)
community_idstring—Post inside a specific community
is_note_tweetbooleanfalseAllow >280 chars (Premium accounts)
media_idsstring[]—Media IDs from a prior /twitter/upload_media_v2
schedule_forstring—ISO-8601 future time, e.g. 2026-01-20T10:00:00.000Z
json
{ "tweet_id": "1234567890123456789", "status": "success", "msg": "success" }

Tool: delete_tweet

Delete one of your tweets by ID. Requires the cookie + proxy env vars.

ParameterTypeDefaultDescription
tweet_idstring(required)The ID of the tweet to delete
json
{ "status": "success", "msg": "success" }

Contributing

Local development, build, and testing instructions are in CONTRIBUTING.md.

License

MIT — see LICENSE.

Credits

Based on the official twitterapi-io agent skill: https://github.com/kaitoInfra/twitterapi-io API service: https://twitterapi.io

Source: README.md at commit 7ba84eb

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Twitterapi integrations