Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Tweetkit X

de nsozturkversión 0.3.0i★ 17iSe ejecuta en tu computadora
Nombre en el registroio.github.nsozturk/tweetkit-x

Instalar

Resumen

Descripción del creador (original en inglés)

Post, delete & read on X (Twitter) using your own logged-in web session — no paid API.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Marketing y redes sociales
  • Debes completar: TWEETKIT_COOKIE

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 2 de 2 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: TWEETKIT_COOKIE_KEYCHAIN, TWEETKIT_COOKIE

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "tweetkit-x": {
      "command": "uvx",
      "args": [
        "tweetkit-x"
      ],
      "env": {
        "TWEETKIT_COOKIE_KEYCHAIN": "your-value",
        "TWEETKIT_COOKIE": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add tweetkit-x --env TWEETKIT_COOKIE_KEYCHAIN=your-value --env TWEETKIT_COOKIE=your-value -- uvx tweetkit-x

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "tweetkit-x": {
      "command": "uvx",
      "args": [
        "tweetkit-x"
      ],
      "env": {
        "TWEETKIT_COOKIE_KEYCHAIN": "your-value",
        "TWEETKIT_COOKIE": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "tweetkit-x": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "tweetkit-x"
      ],
      "env": {
        "TWEETKIT_COOKIE_KEYCHAIN": "your-value",
        "TWEETKIT_COOKIE": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • TWEETKIT_COOKIE_KEYCHAIN env
    macOS Keychain service name holding your X session cookie string (must contain auth_token + ct0). Alternatively set TWEETKIT_COOKIE (the raw cookie string) or TWEETKIT_COOKIE_FILE (a file path).
  • TWEETKIT_COOKIE secreto env
    Your X (Twitter) session cookie string — the Cookie header from a logged-in x.com request. Must contain auth_token and ct0.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué apps pueden usarlo

Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.

Se ejecutan en tu computadora en

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Todas las apps, con ventajas y desventajas →

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 10 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub nsozturk, dueña del repo

  • ✓ Superada

    Sigue en mantenimiento

    Último cambio de código: hace 41 días

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Marketing y redes socialesi

  • Más estrellas que el 97% de los otros 3733 servidores de esta categoría
  • Publicado en el registro más recientemente que el 15% de los otros 3733 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 3733 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Tweetkit X?

Superó 2 de 2 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: TWEETKIT_COOKIE

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez hace 41 días, y la última versión (0.3.0) llegó al registro hace 4 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: PostHog MCP Server, Agent-Native Analytics, Openshorts

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

PostHog MCP Server

Official PostHog MCP Server for product analytics, feature flags, experiments, and more.

de PostHogMuy usado★ 40,7 milActualizado hace 10 meses

Se ejecuta en la nube

Agent-Native Analytics

Agent-Native Amplitude/Mixpanel - connect data sources, prompt for charts

de BuilderIOMuy usado★ 7,7 milActualizado hace 2 meses

Se ejecuta en la nube

Openshorts

Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.

de mutonbyMuy usado★ 7,6 milActualizado hace 3 meses

Se ejecuta en la nube

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

tweetkit-x

Post, delete & read on X (Twitter) — from Python and as an MCP server — using your own logged-in browser session.

No paid API. No developer app. No OAuth dance. Just your session cookie.

Quick start · Get your cookie · Python · CLI · MCP server · How it works · Disclaimer


Why

Since February 6, 2026, X's official API has no free tier for new developers — it's pay-per-use: ~$0.015 per post, ~$0.20 per post with a link, plus per-read charges. For publishing *your own* tweets (a bot posting your content, a scheduled thread, a cleanup script that deletes old posts), that's a recurring bill for something your browser already does for free.

tweetkit-x skips the API entirely. It replays the exact internal HTTP calls your browser makes when you click Post, Delete, or scroll your profile — authenticated with the session cookie you already have. Post, delete, and read the full timeline, at zero API cost.

⚠️ Automating your web session is against X's Terms of Service. This is a grey-area tool for personal automation. Account risk is entirely yours. See the Disclaimer.


Features

  • ✅ Post — text, up to 4 images, GIF & video (with alt text), replies, threads, quote-tweets, long-form note tweets, and scheduled tweets
  • 🗑️ Delete — one id, a list of ids, or "find matching & delete" cleanup loops
  • ❤️ Engage — like, retweet, bookmark, follow, block, mute, pin — each with an undo
  • 🌐 Search all of X — the real SearchTimeline (operators like from:, min_faves:, filter:media), plus local regex over your own tweets
  • 📖 Read — your home feed, any timeline, a tweet's replies/conversation, followers/following, likers/retweeters, bookmarks, a user's likes, notifications, and full profiles
  • 🔌 MCP server — 40 tools; drop into Claude Desktop / Claude Code / Cursor; tools that explain the cookie and set it up with one paste
  • 🔑 Frictionless auth — paste a Cookie: header, drop a HAR file, or a storage-dump zip; store in a file or the macOS Keychain
  • 🐍 Python API *and* a CLI (tweetkit …)
  • 🪶 Tiny footprint — no headless browser, no Selenium

Quick start

pip install "tweetkit-x[mcp]"      # or: pip install tweetkit-x   (library + CLI only)

1. Import your session cookie (three ways — see the next section)

tweetkit import --paste # paste the Cookie: header, Ctrl-D

or: tweetkit import --file x.com.har

or: tweetkit import --file storagedump_x.com.zip --keychain tweetkit

2. Verify (no network call)

tweetkit whoami

{"ready": true, "user_id": "1986...", "ct0_len": 160}

3. Use it

tweetkit post "hello world 👋" tweetkit search "xmr|monero" --regex # your tweets that match tweetkit delete 2063240404980445603


Getting your session cookie

The only secret tweetkit needs is your X session cookie — the same Cookie: header your logged-in browser sends. It must contain at least two values:

CookieWhat it isRequiredHttpOnly?
auth_tokenyour login/session tokenyesyes (hidden from document.cookie)
ct0CSRF token (sent back as x-csrf-token)yesno
twidyour user id (u= ) — lets tweetkit read *your* timeline with no extra lookuprecommendedno
guest_id, kdt, att, personalization_idmisc session stateoptionalmixed

❗ auth_token is HttpOnly, so a document.cookie copy in the JS console will NOT include it. Use one of the reliable methods below.

Method A — copy the Cookie: header (most reliable, one paste)
  1. Open x.com while logged in.
  2. Open DevTools (F12) → the Network tab.
  3. Click any request to x.com (e.g. HomeTimeline).
  4. Under Request Headers, find `cookie:` and copy the entire value.
  5. Feed it in:
tweetkit import --paste

paste the cookie header, then press Ctrl-D

Method B — an F12 "Preserve log" HAR file
  1. Open x.com logged in → DevTools (F12) → Network.
  2. Tick "Preserve log", then reload / click around so requests are captured.
  3. Right-click any request → "Save all as HAR" (or use the ⬇ export icon).
  4. Import it:
tweetkit import --file ~/Downloads/x.com.har

Modern Chrome can redact cookies from exported HARs. If tweetkit reports auth_token missing, either enable "Allow to generate HAR with sensitive data" in the Network settings, or fall back to Method A / Method C.

Method C — the storagedump browser extension (zip)

The easiest no-DevTools route. [storagedump](https://chromewebstore.google.com/detail/storagedump/kihoghfekemdccfnpjefmggehpgnjnab) (a Chrome extension built by this project's author) exports a tab's browser storage — including the HttpOnly auth_token, which document.cookie can't reach — as a .zip containing cookies.json. On x.com (logged in), click the extension → export, then:

tweetkit import --file storagedump_x.com_2026-07-05.zip

tweetkit reads the extension's native format, { "data": [ { "key": "...", "value": "..." }, ... ] }, and also accepts a plain list or a {name: value} map. Cookie-Editor / EditThisCookie JSON exports (--file export.json) work too.

Install: [storagedump on the Chrome Web Store](https://chromewebstore.google.com/detail/storagedump/kihoghfekemdccfnpjefmggehpgnjnab).

Where the cookie is stored

By default tweetkit import writes `~/.config/tweetkit/cookie.txt` (chmod 600; also git-ignored). Prefer the macOS Keychain? Add --keychain :

tweetkit import --paste --keychain tweetkit

export TWEETKIT_COOKIE_KEYCHAIN=tweetkit

Resolution order at runtime (first hit wins): explicit arg → TWEETKIT_COOKIE → TWEETKIT_COOKIE_FILE → ./cookie.txt → ~/.config/tweetkit/cookie.txt → Keychain (TWEETKIT_COOKIE_KEYCHAIN).


Python usage

from tweetkit_x import TweetKit

tk = TweetKit(keychain_slug="tweetkit") # or cookie="auth_token=...; ct0=..."

tk.whoami() # {'ready': True, 'user_id': '...', 'ct0_len': 160}

post

tk.post("hello world") tk.post("with a picture", image_path="chart.png") tk.post("a reply", reply_to="1800000000000000000")

thread — strings or (text, image_path) tuples; each replies to the previous

tk.post_thread(["1/ intro", ("2/ chart", "chart.png"), "3/ outro"])

read

mine = tk.get_tweets(limit=100) # your tweets, newest first theirs = tk.get_tweets(username="jack", limit=50) # anyone's

search (local filter over the timeline — no paid search API)

hits = tk.search("monero") # substring hits = tk.search(r"xmr|monero", regex=True) # regex

delete

tk.delete("1800000000000000000") tk.delete_many([t["id"] for t in hits])

quote-tweet

tk.quote("this is great", quote_tweet_id="1800000000000000000")

engage (each has an undo)

tk.like("1800000000000000000"); tk.unlike("1800000000000000000") tk.retweet("1800000000000000000"); tk.unretweet("1800000000000000000") tk.bookmark("1800000000000000000"); tk.unbookmark("1800000000000000000")

read a single tweet, and search ALL of X (real search + operators)

tk.get_tweet("1800000000000000000") tk.search_x("mcp server", latest=True, limit=40) tk.search_x("from:jack min_faves:1000") # X search operators work

Every write returns {'ok': True, 'id': '...', 'url': '...'} on success, or {'ok': False, 'status': ..., 'error': '...'} on failure — easy to log or retry.

See examples/ for a full "find my $XMR tweets and delete them" cleanup loop.


CLI usage

tweetkit whoami

tweetkit post "just some text" tweetkit post "text + media" --image pic.png tweetkit post "a reply" --reply-to 1800000000000000000 tweetkit thread thread.txt # tweets separated by blank lines tweetkit delete 1800000000000000000 1800000000000000001 tweetkit tweets --limit 100 # your tweets tweetkit tweets @jack --limit 50 # someone else's tweetkit search monero # your tweets containing "monero" tweetkit search "xmr|monero" --regex tweetkit searchx "mcp server" --latest # search ALL of X (real search + operators) tweetkit get 1800000000000000000 # one tweet by id tweetkit quote "great thread" 1800000000000000000 tweetkit like 1800000000000000000 # also: unlike / retweet / unretweet / bookmark / unbookmark

A thread.txt is just tweets separated by blank lines.


MCP server

tweetkit ships a first-class MCP server so an AI client can post/delete/read for you — and it walks the user through auth, explaining what the cookie is and setting it up with a single paste.

Configure your client

Claude Desktop / Claude Code / Cursor — add to your MCP config (claude_desktop_config.json, .mcp.json, …):

{

"mcpServers": { "tweetkit": { "command": "uvx", "args": ["--from", "tweetkit-x[mcp]", "tweetkit-mcp"], "env": { "TWEETKIT_COOKIE_KEYCHAIN": "tweetkit" } } } }

Already pip installed? Use the console script directly:

{ "mcpServers": { "tweetkit": { "command": "tweetkit-mcp",

"env": { "TWEETKIT_COOKIE_KEYCHAIN": "tweetkit" } } } }

If you don't set any cookie env var, that's fine — the server starts unauthenticated and asks the user to set the cookie from inside the chat (below).

Frictionless auth, from inside the chat

The server describes each value and offers the lowest-effort path. A typical first run:

  1. The client calls `auth_status` → *not authenticated*.
  2. The server’s instructions tell the assistant to ask you for your cookie and explain what `auth_token` and `ct0` are and how to copy them.
  3. You paste the Cookie: header once → `set_session_cookie(" ")` → stored (Keychain or file) and activated. Or point `import_cookie_from_file("~/Downloads/x.com.har")` at a HAR / storage-dump zip.

The raw cookie is never echoed back.

Tools
ToolWhat it does
auth_statusIs a valid session loaded? (call first)
set_session_cookie(cookie_header)Set auth from a pasted Cookie: header — explains exactly what to copy
import_cookie_from_file(path)Set auth from a HAR / storage-dump .zip / cookie JSON
post_tweet(text, image_path?, reply_to?)Post a tweet (optional image / reply)
post_thread(tweets[])Post a thread
quote_tweet(text, quote_tweet_id, image_path?)Quote-tweet an existing tweet

| delete_tweet(tweet_id) / delete_tweets(ids[])

Solo se muestra el principio; lee el resto en el repo