Is the Twitr MCP server down?

mcp-registry/sh.twitr/twitr · v1.0.0

healthy
Last checked 2026-10-18 05:53 UTC · handshake 158ms

As of 2026-10-18 05:53 UTC, the Twitr MCP server is up with a Glimind reliability score of 99/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 5 minutes.

uptime (30d checks)
100%
checks observed
3,645
outages (90d)
1
tools
14

X/Twitter reads, search, monitors and posting. Pay-per-call in USDC — no signup, no API keys.

Install Twitr MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http twitr-mcp-server https://twitr.sh/api/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "twitr-mcp-server": {
      "type": "http",
      "url": "https://twitr.sh/api/mcp"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: C (74/100)

C (74/100): 0 error(s), 3 warning(s) across 14 tool(s); ~5,233 tokens of tool definitions.
Scores higher than 10% of 15,352 MCP servers Glimind has audited.
Its tool list costs an agent ~5,233 tokens per session — more than 60% of servers.
74 → 74 since 2026-10-17
no tool-poisoning patterns
Schemas100
Descriptions55
Safety hints14
Token cost100
Client compatibility70
Protocol100
Reliability100
Stability100

What to fix (4)

14 of 14 tool(s) carry no readOnlyHint/destructiveHint annotations.

Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →

Tools: x_communities, x_community, x_compose, x_draws, x_extract and 9 more

54 parameter(s) across 7 tool(s) have no description.

Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →

Tools: x_compose, x_draws, x_extract, x_lists, x_radar and 2 more

1 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.

Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →

Tools: x_write

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

Auto-fix: 4 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 7 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fsh.twitr%2Ftwitr/fixes

x_lists 1 change
{
  "name": "x_lists",
  "description": "Read an X/Twitter List: its combined tweet timeline, its member roster, or its followers. Billed per item returned. Useful for following a curated set of accounts as one feed.\n\nGuidance: kind=tweets|members|followers; id = list ID. resultsLimit is MANDATORY — billed per item returned. tweets supports sinceTime/untilTime and includeReplies.",
  "inputSchema": {
    "type": "object",
    "required": [
      "kind",
      "id",
      "resultsLimit"
    ],
    "properties": {
      "id": {
        "type": "string",
        "description": "List ID."
      },
      "kind": {
        "enum": [
          "tweets",
          "members",
          "followers"
        ],
        "type": "string",
        "description": "What to read from the list."
      },
      "sinceTime": {
        "type": "string"
      },
      "untilTime": {
        "type": "string"
      },
      "resultsLimit": {
        "type": "integer",
        "maximum": 10000,
        "minimum": 1,
        "description": "MANDATORY: max items returned, billed per item."
      },
      "includeReplies": {
        "type": "boolean"
      }
    }
  },
  "annotations": {
    "readOnlyHint": true
  }
}
x_read 1 change
{
  "name": "x_read",
  "description": "Read live X/Twitter data: look up a single tweet or user profile, batch-read up to 100 tweets or users at once, check whether one account follows another, fetch trending topics by region, extract a long-form article, or download tweet media. Pay per call in USDC — no API key, no signup; failed calls are never charged.\n\nGuidance: resource=get-tweet|get-user (id), batch-tweets|batch-users (ids array, ≤100), check-follower (source+target usernames), trends (optional woeid/count), article (tweet id)",
  "inputSchema": {
    "type": "object",
    "allOf": [
      {
        "if": {
          "properties": {
            "resource": {
              "const": "followers-you-know"
            }
          }
        },
        "then": {
          "required": [
            "resultsLimit"
          ]
        }
      }
    ],
    "required": [
      "resource"
    ],
    "properties": {
      "id": {
        "type": "string",
        "description": "Tweet ID, user ID, or username (depends on resource)."
      },
      "ids": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "batch-tweets|batch-users: up to 100 tweet IDs or user IDs/usernames."
      },
      "count": {
        "type": "integer",
        "description": "trends: number of trends to return."
      },
      "woeid": {
        "type": "integer",
        "description": "trends: region WOEID (default 1 = worldwide)."
      },
      "source": {
        "type": "string",
        "description": "check-follower: source username."
      },
      "target": {
        "type": "string",
        "description": "check-follower: target username."
      },
      "resource": {
        "enum": [
          "get-tweet",
          "get-user",
          "batch-tweets",
          "batch-users",
          "check-follower",
          "trends",
          "article",
          "followers-you-know",
          "download-media"
        ],
        "type": "string",
        "description": "Which read operation to run."
      },
      "resultsLimit": {
        "type": "integer",
        "maximum": 10000,
        "minimum": 1,
        "description": "Mandatory for followers-you-know: max results, billed per result."
      }
    }
  },
  "annotations": {
    "readOnlyHint": true
  }
}
x_search 1 change
{
  "name": "x_search",
  "description": "Search X/Twitter tweets with the full operator set — keyword, exact phrase, from-user, language, date range, media type, minimum likes/retweets, verified-only — or search user profiles by keyword. Billed per tweet returned against your resultsLimit cap. Built for tracking what people say about a topic, brand, or ticker in real time.\n\nGuidance: type=search-tweets (default): q required, resultsLimit MANDATORY (billed per tweet returned). Supports the full filter set: fromUser, language, sinceDate/",
  "inputSchema": {
    "type": "object",
    "allOf": [
      {
        "if": {
          "properties": {
            "type": {
              "const": "search-users"
            }
          }
        },
        "else": {
          "required": [
            "resultsLimit"
          ]
        },
        "then": {}
      }
    ],
    "required": [
      "q"
    ],
    "properties": {
      "q": {
        "type": "string",
        "description": "Search query (X operator syntax supported for tweets)."
      },
      "type": {
        "enum": [
          "search-tweets",
          "search-users"
        ],
        "type": "string",
        "description": "Search tweets (default) or users."
      },
      "cursor": {
        "type": "string",
        "description": "search-users: pagination cursor from a previous call's report.next_cursor."
      },
      "fromUser": {
        "type": "string"
      },
      "language": {
        "type": "string"
      },
      "minFaves": {
        "type": "integer"
      },
      "mediaType": {
        "enum": [
          "images",
          "videos",
          "gifs",
          "media"
        ],
        "type": "string"
      },
      "sinceDate": {
        "type": "string",
        "description": "YYYY-MM-DD"
      },
      "untilDate": {
        "type": "string",
        "description": "YYYY-MM-DD"
      },
      "minReplies": {
        "type": "integer"
      },
      "exactPhrase": {
        "type": "string"
      },
      "minRetweets": {
        "type": "integer"
      },
      "excludeWords": {
        "type": "string"
      },
      "resultsLimit": {
        "type": "integer",
        "maximum": 10000,
        "minimum": 1,
        "description": "search-tweets: MANDATORY max tweets returned, billed per tweet."
      },
      "verifiedOnly": {
        "type": "boolean"
      },
      "advancedQuery": {
        "type": "string",
        "description": "Raw X search operator string appended to q."
      }
    }
  },
  "annotations": {
    "readOnlyHint": true
  }
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/sh.twitr/twitr"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/sh.twitr/twitr"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fsh.twitr%2Ftwitr.svg)](https://glimind.com/server/mcp-registry%2Fsh.twitr%2Ftwitr?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fsh.twitr%2Ftwitr?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fsh.twitr%2Ftwitr.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fsh.twitr%2Ftwitr.svg
   :target: https://glimind.com/server/mcp-registry%2Fsh.twitr%2Ftwitr?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:85720273a64e88e2…, first seen 2026-10-17, included at leaf 135 of 20,546. Version history · verify what your client received.

Tools (14)

Compare: most reliable retrieval servers · most reliable communication servers · most reliable productivity servers · most reliable other servers · most reliable data servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Twitr MCP server down right now?

As of 2026-10-18 05:53 UTC, the Twitr MCP server is up with a Glimind reliability score of 99/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 1 outage in 90 days, with a median recovery of 5 minutes.

How many tools does Twitr MCP server provide?

Twitr MCP server advertises 14 tools, including x_communities, x_community, x_compose, x_draws, x_extract.

How do I install Twitr MCP server?

Point your MCP client at this streamable-http endpoint: https://twitr.sh/api/mcp

Is the Twitr MCP server safe to connect to an AI agent?

Glimind scanned all 14 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Twitr MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.