Twitter MCP Server
Schnellinstallation
Gehen Sie zuerst zu http://app.newsliquid.com/mcp, um Ihren API-Token zu erhalten.
Claude Code
claude mcp add twitter \
-e OPENNEWS_TOKEN=<your-token> \
-- uv --directory /path/to/twitter-mcp run twitter-mcpErsetzen Sie
/path/to/twitter-mcpdurch Ihren lokalen Projektpfad und<your-token>durch Ihren Token.
OpenClaw
export OPENNEWS_TOKEN="<your-token>"
cp -r openclaw-skill/opentwitter ~/.openclaw/skills/Related MCP server: Apex MCP for X Management
Lassen Sie KI für Sie prüfen und installieren
Nicht sicher, ob dieser MCP sicher ist? Fügen Sie den untenstehenden Prompt in Ihren KI-Assistenten ein – er wird zuerst den Quellcode überprüfen und dann installieren, wenn er sicher ist:
Kopieren Sie diesen Prompt und senden Sie ihn an Ihren KI-Assistenten (ersetzen Sie
<project-path>und<your-token>durch tatsächliche Werte):
Please review and install the twitter-mcp MCP server for me. The project is at <project-path>.
Steps:
1. Review these files for security:
- src/twitter_mcp/api_client.py — Confirm it only connects to ai.6551.io, no data sent elsewhere
- src/twitter_mcp/config.py — Confirm token is only read from local config.json or env vars, no hardcoded secrets or leaks
- src/twitter_mcp/tools.py — Confirm all tools only perform API queries, no file writes, command execution, or dangerous operations
- pyproject.toml — Confirm dependencies are only mcp, httpx, no suspicious packages
2. Tell me your conclusion: safe / risky / problematic, with specific reasons
3. If safe, run the install (get Token from http://app.newsliquid.com/mcp):
claude mcp add twitter -e OPENNEWS_TOKEN=<your-token> -- uv --directory <project-path> run twitter-mcpWas kann es tun?
Sobald verbunden, fragen Sie einfach Ihren KI-Assistenten:
Sie sagen | Es tut |
"Zeige das Twitter-Profil von @elonmusk" | Benutzerprofilinformationen abrufen |
"Was hat @VitalikButerin kürzlich getwittert?" | Die letzten Tweets des Benutzers abrufen |
"Suche nach Bitcoin-bezogenen Tweets" | Stichwortsuche |
"Finde Tweets mit dem Hashtag #crypto" | Hashtag-Suche |
"Beliebte Tweets über ETH mit 1000+ Likes" | Suche mit Engagement-Filtern |
"Überwache @elonmusk mit Follower-Tracking" | Benutzer mit Optionen zur Beobachtungsliste hinzufügen |
"Wer hat diesen Tweet zitiert?" | Zitat-Tweets für einen Tweet abrufen |
"Wer hat diesen Tweet retweetet?" | Benutzer abrufen, die einen Tweet retweetet haben |
"Wer ist @elonmusk kürzlich gefolgt?" | Neue Follower-Ereignisse abrufen |
"Wer hat @elonmusk entfolgt?" | Entfolger-Ereignisse abrufen |
"Welche Tweets hat @elonmusk gelöscht?" | Gelöschte Tweets abrufen |
"Welche KOLs folgen @elonmusk?" | KOL-Follower abrufen |
Verfügbare Tools
Tool | Beschreibung |
| Benutzerprofil nach Benutzername abrufen |
| Benutzerprofil nach numerischer ID abrufen |
| Die letzten Tweets eines Benutzers abrufen |
| Tweets mit einfachen Filtern suchen |
| Erweiterte Suche mit mehreren Filtern |
| Follower-/Entfolger-Ereignisse abrufen |
| Gelöschte Tweets eines Benutzers abrufen |
| KOL-Follower (Key Opinion Leader) abrufen |
| Twitter-Artikel nach ID abrufen |
| Tweet nach ID mit verschachtelten Antwort-/Zitat-Tweets abrufen |
| Tweets abrufen, die einen bestimmten Tweet zitieren |
| Benutzer abrufen, die einen bestimmten Tweet retweetet haben |
| Alle Twitter-Überwachungsbenutzer abrufen |
| Einen Twitter-Benutzer zur Überwachungsliste hinzufügen (mit Optionen für Ereignistypen) |
| Einen Twitter-Benutzer aus der Überwachungsliste löschen |
Konfiguration
API-Token abrufen
Gehen Sie zu http://app.newsliquid.com/mcp, um Ihren API-Token zu erhalten.
Legen Sie die Umgebungsvariable fest:
# macOS / Linux
export OPENNEWS_TOKEN="<your-token>"
# Windows PowerShell
$env:OPENNEWS_TOKEN = "<your-token>"Variable | Erforderlich | Beschreibung |
| Ja | 6551 API Bearer Token (erhalten von http://app.newsliquid.com/mcp) |
| Nein | REST-API-URL überschreiben |
| Nein | Maximale Ergebnisse pro Abfrage (Standard: 100) |
Unterstützt auch config.json im Projektstamm (Umgebungsvariablen haben Vorrang):
{
"api_base_url": "https://ai.6551.io",
"api_token": "<your-token>",
"max_rows": 100
}WebSocket-Echtzeit-Abonnements
Endpunkt: wss://ai.6551.io/open/twitter_wss?token=YOUR_TOKEN
Abonnieren Sie Echtzeit-Ereignisse von Ihren überwachten Twitter-Konten.
Heartbeat
Um die Verbindung aufrechtzuerhalten, kann der Client ping senden, und der Server antwortet mit pong.
Twitter-Ereignisse abonnieren
{
"jsonrpc": "2.0",
"id": 1,
"method": "twitter.subscribe"
}Antwort:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}Abbestellen
{
"jsonrpc": "2.0",
"id": 2,
"method": "twitter.unsubscribe"
}Server-Push – Twitter-Ereignis
Wenn ein überwachtes Konto Aktivität aufweist, sendet der Server:
{
"jsonrpc": "2.0",
"method": "twitter.event",
"params": {
"id": 123456,
"twAccount": "elonmusk",
"twUserName": "Elon Musk",
"profileUrl": "https://twitter.com/elonmusk",
"eventType": "NEW_TWEET",
"content": "...",
"ca": "0x1234...",
"remark": "Custom note",
"createdAt": "2026-03-06T10:00:00Z"
}
}Hinweis: Die Struktur des content-Felds variiert je nach Ereignistyp (siehe unten).
**Event Types and Content Structure**:
#### Tweet Events
- `NEW_TWEET` - New tweet posted
- `NEW_TWEET_REPLY` - New reply tweet
- `NEW_TWEET_QUOTE` - New quote tweet
- `NEW_RETWEET` - Retweeted
- `CA` - Tweet with CA address
Content structure for tweet events:
```json
{
"id": "1234567890",
"text": "Tweet content...",
"createdAt": "2026-03-06T10:00:00Z",
"language": "en",
"retweetCount": 100,
"favoriteCount": 500,
"replyCount": 20,
"quoteCount": 10,
"viewCount": 10000,
"userScreenName": "elonmusk",
"userName": "Elon Musk",
"userIdStr": "44196397",
"userFollowers": 170000000,
"userVerified": true,
"conversationId": "1234567890",
"isReply": false,
"isQuote": false,
"hashtags": ["crypto", "bitcoin"],
"media": [
{
"type": "photo",
"url": "https://...",
"thumbUrl": "https://..."
}
],
"urls": [
{
"url": "https://...",
"expandedUrl": "https://...",
"displayUrl": "example.com"
}
],
"mentions": [
{
"username": "VitalikButerin",
"name": "Vitalik Buterin"
}
]
}Follower-Ereignisse
NEW_FOLLOWER- Dieses Konto ist einem Benutzer gefolgtNEW_UNFOLLOWER- Dieses Konto hat einem Benutzer entfolgt
Inhaltsstruktur für Follower-Ereignisse (Array):
[
{
"id": 123,
"twId": 44196397,
"twAccount": "elonmusk",
"twUserName": "Elon Musk",
"twUserLabel": "Verified",
"description": "User bio...",
"profileUrl": "https://...",
"bannerUrl": "https://...",
"followerCount": 170000000,
"friendCount": 500,
"createdAt": "2026-03-06T10:00:00Z"
}
]Profilaktualisierungs-Ereignisse
UPDATE_NAME- Benutzername geändert (Inhalt: neue Namenszeichenfolge)UPDATE_DESCRIPTION- Bio aktualisiert (Inhalt: neue Beschreibungszeichenfolge)UPDATE_AVATAR- Profilbild geändert (Inhalt: neue Avatar-URL-Zeichenfolge)UPDATE_BANNER- Bannerbild geändert (Inhalt: neue Banner-URL-Zeichenfolge)
Andere Ereignisse
TWEET_TOPPING- Tweet angeheftetDELETE- Tweet gelöschtSYSTEM- SystemereignisTRANSLATE- Tweet-ÜbersetzungCA_CREATE- CA-Token erstellt
Datenstrukturen
Twitter-Benutzer
{
"userId": "44196397",
"screenName": "elonmusk",
"name": "Elon Musk",
"description": "...",
"followersCount": 170000000,
"friendsCount": 500,
"statusesCount": 30000,
"verified": true
}Tweet
{
"id": "1234567890",
"text": "Tweet content...",
"createdAt": "2024-02-20T12:00:00Z",
"retweetCount": 1000,
"favoriteCount": 5000,
"replyCount": 200,
"userScreenName": "elonmusk",
"hashtags": ["crypto", "bitcoin"],
"urls": [{"url": "https://..."}]
}Ersetzen Sie in allen folgenden Konfigurationen
/path/to/twitter-mcpdurch Ihren tatsächlichen lokalen Projektpfad und<your-token>durch Ihren Token von http://app.newsliquid.com/mcp.
Claude Desktop
Konfiguration bearbeiten (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}Cursor
~/.cursor/mcp.json oder Einstellungen > MCP-Server:
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}Cline
VS Code-Seitenleiste > Cline > MCP-Server > Konfigurieren, bearbeiten Sie cline_mcp_settings.json:
{
"mcpServers": {
"twitter": {
"command": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
},
"disabled": false,
"autoApprove": []
}
}
}Continue.dev
~/.continue/config.yaml:
mcpServers:
- name: twitter
command: uv
args:
- --directory
- /path/to/twitter-mcp
- run
- twitter-mcp
env:
OPENNEWS_TOKEN: <your-token>Cherry Studio
Einstellungen > MCP-Server > Hinzufügen > Typ stdio: Befehl uv, Argumente --directory /path/to/twitter-mcp run twitter-mcp, Umgebung OPENNEWS_TOKEN.
Zed Editor
~/.config/zed/settings.json:
{
"context_servers": {
"twitter": {
"command": {
"path": "uv",
"args": ["--directory", "/path/to/twitter-mcp", "run", "twitter-mcp"],
"env": {
"OPENNEWS_TOKEN": "<your-token>"
}
}
}
}
}Beliebiger stdio-MCP-Client
OPENNEWS_TOKEN=<your-token> \
uv --directory /path/to/twitter-mcp run twitter-mcpKompatibilität
Client | Installationsmethode | Status |
Claude Code |
| Einzeiler |
OpenClaw | Skill-Verzeichnis kopieren | Einzeiler |
Claude Desktop | JSON-Konfiguration | Unterstützt |
Cursor | JSON-Konfiguration | Unterstützt |
Windsurf | JSON-Konfiguration | Unterstützt |
Cline | JSON-Konfiguration | Unterstützt |
Continue.dev | YAML / JSON | Unterstützt |
Cherry Studio | GUI | Unterstützt |
Zed | JSON-Konfiguration | Unterstützt |
Entwicklung
cd /path/to/twitter-mcp
uv sync
uv run twitter-mcp# MCP Inspector
npx @modelcontextprotocol/inspector uv --directory /path/to/twitter-mcp run twitter-mcpProjektstruktur
├── README.md
├── docs/
│ ├── README_JA.md # 日本語
│ └── README_KO.md # 한국어
├── openclaw-skill/opentwitter/ # OpenClaw Skill
├── pyproject.toml
├── config.json
└── src/twitter_mcp/
├── server.py # Entry point
├── app.py # FastMCP instance
├── config.py # Config loader
├── api_client.py # HTTP client
└── tools.py # 8 toolsLizenz
MIT
Available Tools
12 toolsadd_twitter_watchB
Add a Twitter user to monitoring list.
Args: username: Twitter username to monitor (without @).
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds a user to a monitoring list but doesn't explain what monitoring entails, whether this is a write operation, if there are rate limits, or what happens on success/failure. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately brief and front-loaded with the main purpose, followed by parameter details. The two-sentence structure is efficient, though the 'Args:' section could be integrated more smoothly into the flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't cover what the tool returns, error conditions, or the implications of 'monitoring' (e.g., what data is collected, how it's accessed). For a tool that likely involves ongoing data collection, this is a significant oversight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates by explaining the 'username' parameter as 'Twitter username to monitor (without @)', adding crucial semantic context beyond the schema's basic type information. Since there's only one parameter, this is sufficient for clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and resource ('Twitter user to monitoring list'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its sibling 'get_twitter_watch', which likely retrieves the monitoring list rather than adding to it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_twitter_watch' or 'delete_twitter_watch'. The description lacks context about prerequisites, such as whether the user must exist or if there are limits to the monitoring list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_twitter_watchC
Delete a Twitter user from monitoring list.
Args: watch_id: The monitoring record ID to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs a deletion (implying a destructive mutation) but doesn't specify whether this action is reversible, requires special permissions, has side effects, or provides confirmation feedback. For a destructive tool with zero annotation coverage, this lack of detail is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: a clear purpose statement followed by a parameter explanation. Every sentence earns its place, with no redundant or verbose language. It's front-loaded with the core action, making it easy for an agent to quickly grasp the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's destructive nature, lack of annotations, and absence of an output schema, the description is incomplete. It doesn't cover critical aspects like what happens after deletion (e.g., success confirmation, error handling), whether the watch_id must be valid, or how this interacts with other monitoring functions. For a mutation tool with no structured safety cues, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an 'Args' section that documents the single parameter 'watch_id' as 'The monitoring record ID to delete,' adding semantic meaning beyond the schema (which has 0% description coverage and only provides type information). This compensates adequately for the low schema coverage, establishing a baseline understanding of the parameter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and resource ('a Twitter user from monitoring list'), making the purpose unambiguous. It distinguishes itself from sibling tools like 'add_twitter_watch' by specifying deletion rather than addition. However, it doesn't fully differentiate from other potential deletion operations in the sibling set, keeping it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing watch_id), exclusions, or relationships with sibling tools like 'get_twitter_watch' for retrieving IDs. The agent must infer usage from context alone, which is insufficient for clear decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_article_by_idC
Get Twitter article by ID.
Args: article_id: Twitter article ID.
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Get' which implies a read operation, but doesn't specify whether this requires authentication, rate limits, what happens if the ID is invalid, or the format of returned data. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with two sentences: a purpose statement and parameter documentation. While efficient, the parameter section could be more integrated. There's no wasted text, but the structure feels slightly disjointed rather than fully cohesive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 1 parameter with 0% schema coverage, no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't explain what a 'Twitter article' is versus tweets, how results differ from search tools, error conditions, or return format. For a retrieval tool in a crowded namespace, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter descriptions. The description adds minimal semantics by naming 'article_id' as 'Twitter article ID', but doesn't explain what format this ID takes (numeric, alphanumeric, URL), where to find it, or provide examples. It compensates slightly but inadequately for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'Twitter article by ID', making the purpose understandable. However, it doesn't differentiate this tool from potential siblings like 'get_twitter_user_tweets' or 'search_twitter', which might also retrieve Twitter content. The purpose is clear but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_twitter_user_tweets' and 'search_twitter' that might retrieve similar content, there's no indication whether this tool is for specific article IDs, whether it's faster/more precise, or any prerequisites. Usage is implied from the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_deleted_tweetsB
Get deleted tweets from a Twitter/X user.
Args: username: Twitter username (without @). limit: Maximum tweets to return (default 20, max 100).
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'deleted tweets' but doesn't disclose critical behavioral traits: whether this requires prior setup (like a watch), rate limits, authentication needs, what happens if no deleted tweets exist, or the format of returned data. The description is minimal and lacks operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a structured 'Args:' section. There's no wasted text, and each sentence adds value. It could be slightly more concise by integrating the args into the main flow, but it's efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (fetching deleted tweets likely involves monitoring or API constraints), no annotations, no output schema, and 2 parameters, the description is incomplete. It doesn't explain what 'deleted tweets' entails (e.g., recently deleted, all-time), how results are returned, or any dependencies on other tools like 'add_twitter_watch'. More context is needed for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaningful semantics: 'username' is clarified as 'Twitter username (without @)', and 'limit' specifies 'Maximum tweets to return (default 20, max 100)'. This goes beyond the schema's basic titles, providing practical usage details. However, it doesn't cover all edge cases (e.g., username validation).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get deleted tweets from a Twitter/X user.' It specifies the verb ('Get') and resource ('deleted tweets'), and distinguishes it from siblings like 'get_twitter_user_tweets' (which presumably gets regular tweets). However, it doesn't explicitly contrast with all siblings (e.g., 'search_twitter'), so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the user must be monitored first), nor does it differentiate from similar tools like 'get_twitter_user_tweets' or 'search_twitter' beyond the 'deleted' aspect. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_follower_eventsB
Get follower/unfollower events for a Twitter/X user.
Args: username: Twitter username (without @). is_follow: True for new followers, False for unfollowers. limit: Maximum events to return (default 20, max 100).
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| is_follow | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves events with a limit (default 20, max 100), which adds some context, but lacks critical details like rate limits, authentication requirements, data freshness, or error handling. For a tool accessing external API data with no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a structured 'Args:' section. There's no wasted text, and each sentence earns its place by explaining parameters. Minor improvement could be made by integrating parameter details more seamlessly, but it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters with 0% schema coverage and no output schema or annotations, the description is moderately complete. It covers parameter meanings well but lacks behavioral context (e.g., API constraints, error responses) and output details. For a tool that fetches event data from Twitter/X, more information on data format or limitations would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It successfully explains all three parameters: 'username' (Twitter username without @), 'is_follow' (True for followers, False for unfollowers), and 'limit' (default and max values). This adds meaningful semantics beyond the bare schema, though it doesn't cover edge cases like invalid usernames.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get follower/unfollower events for a Twitter/X user.' It specifies the verb ('Get') and resource ('follower/unfollower events'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'get_twitter_kol_followers' or 'get_twitter_user', which might also retrieve follower-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where other tools might be more appropriate, such as using 'get_twitter_user' for general user info or 'get_twitter_kol_followers' for specific follower types. Usage is implied through parameter descriptions but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_kol_followersC
Get KOL (Key Opinion Leader) followers for a Twitter/X user.
Returns which influential accounts (KOLs) are following this user.
Args: username: Twitter username (without @).
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns KOL followers but doesn't describe what constitutes a KOL (e.g., criteria like follower count, verification status), how results are formatted (e.g., list, count, pagination), rate limits, authentication needs, or error handling. This leaves significant gaps for an agent to understand the tool's behavior beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by a clarifying sentence and parameter details. There's no wasted text, and the structure is logical. However, it could be slightly more concise by integrating the parameter note into the main flow, but it's still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (retrieving specialized follower data), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain what a KOL is, how results are returned, or any behavioral constraints (e.g., rate limits, data freshness). For a tool that likely involves API calls and data processing, this leaves too many unknowns for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal semantics beyond the input schema. It defines 'username' as 'Twitter username (without @)', which clarifies formatting but doesn't explain validation (e.g., length, allowed characters) or provide examples. With 0% schema description coverage and only 1 parameter, this compensates slightly but remains basic. The baseline is 3 due to low parameter count, but more detail would improve utility.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get KOL (Key Opinion Leader) followers for a Twitter/X user' and elaborates with 'Returns which influential accounts (KOLs) are following this user.' This specifies the verb (get/return), resource (KOL followers), and scope (for a specific user). However, it doesn't explicitly differentiate from sibling tools like 'get_twitter_user' or 'get_twitter_follower_events', which reduces clarity about when this specific tool is uniquely appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_twitter_user' (which might return general user info) or 'get_twitter_follower_events' (which might track follower changes), nor does it specify prerequisites (e.g., whether the user must be public or monitored). Usage is implied by the purpose but lacks explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_userA
Get Twitter/X user profile information by username.
Args: username: Twitter username (without @, e.g. "elonmusk").
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves profile information but does not specify whether this is a read-only operation, if it requires authentication, rate limits, error handling, or what the output format looks like (e.g., JSON structure). This leaves significant gaps for an AI agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by a concise 'Args' section that efficiently explains the parameter. Every sentence earns its place without redundancy, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no nested objects) but lack of annotations and output schema, the description is partially complete. It covers the purpose and parameter well, but fails to address behavioral aspects like output format, error cases, or authentication needs, which are important for a tool interacting with an external API like Twitter/X.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It provides clear semantics for the single parameter 'username,' explaining it is a Twitter username without the @ symbol and giving an example ('elonmusk'). This adds essential meaning beyond the basic schema, fully documenting the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('Twitter/X user profile information'), and distinguishes it from siblings like get_twitter_user_by_id (which uses ID instead of username) and get_twitter_user_tweets (which retrieves tweets rather than profile info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'by username,' which helps differentiate it from get_twitter_user_by_id. However, it lacks explicit guidance on when to use this tool versus alternatives like get_twitter_user_by_id or search_twitter, and does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_user_by_idB
Get Twitter/X user profile information by user ID.
Args: user_id: Twitter user ID (numeric string).
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states this is a 'Get' operation but doesn't disclose behavioral traits like authentication requirements, rate limits, error conditions, or what happens with invalid/non-existent IDs. For a read operation with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The two-sentence structure is efficient, though the 'Args:' section formatting is slightly redundant with the schema but adds clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (single parameter read operation), no annotations, and no output schema, the description is minimally adequate. It covers the purpose and parameter semantics but lacks behavioral context and usage guidance, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics beyond the schema. The input schema has 0% description coverage (just 'User Id' title), but the description clarifies that 'user_id' is a 'Twitter user ID (numeric string)', specifying the format and context. This compensates well for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('Twitter/X user profile information'), and specifies the lookup method ('by user ID'). However, it doesn't explicitly differentiate from sibling tools like 'get_twitter_user' (which might use a different identifier).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_twitter_user' (possibly by username) and 'search_twitter', there's no indication of when this specific ID-based lookup is preferred or required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_user_tweetsA
Get recent tweets from a specific Twitter/X user.
Args: username: Twitter username (without @). limit: Maximum tweets to return (default 20, max 100). include_replies: Include reply tweets (default False). include_retweets: Include retweets (default False).
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | ||
| limit | No | ||
| include_replies | No | ||
| include_retweets | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions default values and limits, but doesn't cover important aspects like rate limits, authentication requirements, pagination, error handling, or what 'recent' means (time window). For a read operation with 4 parameters, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured: a clear purpose statement followed by a well-organized parameter breakdown. Every sentence earns its place, with no wasted words. The information is front-loaded and efficiently presented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description does a decent job but has gaps. It covers parameters well but lacks information about return format, error conditions, rate limits, and authentication requirements. For a tool with 4 parameters and multiple sibling tools, it's adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate - and it does well by explaining all 4 parameters: username format ('without @'), limit range and defaults, and the boolean filters' purposes. It adds meaningful context beyond the bare schema, though it doesn't specify exact return formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get recent tweets') and resource ('from a specific Twitter/X user'), distinguishing it from siblings like get_twitter_user (user profile) or search_twitter (general search). The verb+resource combination is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving tweets from a specific user, but provides no explicit guidance on when to use this tool versus alternatives like get_twitter_user_by_id (which might get user info) or search_twitter (for broader searches). The context is clear but lacks sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_twitter_watchB
Get all Twitter monitoring users for the current user.
Returns a list of Twitter accounts being monitored.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool returns 'a list of Twitter accounts being monitored', which clarifies the output type. However, it lacks critical behavioral details: whether this requires authentication, rate limits, pagination for large result sets, or error conditions. For a read operation with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: two clear sentences that front-load the core functionality ('Get all Twitter monitoring users') followed by the return value. Every word earns its place with zero redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does and what it returns. However, for a tool that likely involves API calls to Twitter, it should ideally mention authentication requirements or rate limiting considerations. The absence of output schema means the description should more fully describe the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage (empty schema). The description appropriately doesn't discuss parameters since none exist. It focuses on what the tool does rather than parameter details, which is correct for a parameterless tool. Baseline 4 is appropriate as no parameter information is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get all Twitter monitoring users for the current user' specifies the verb ('Get'), resource ('Twitter monitoring users'), and scope ('for the current user'). It distinguishes from siblings like 'get_twitter_user' by focusing on monitored accounts rather than general user data. However, it doesn't explicitly differentiate from all siblings like 'get_twitter_kol_followers' which might overlap conceptually.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate compared to siblings like 'get_twitter_user' or 'search_twitter', nor does it specify prerequisites or exclusions. The context is implied (retrieving monitored accounts) but lacks explicit usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_twitterA
Search Twitter/X for tweets matching criteria.
Args: keywords: Search keywords. from_user: Filter tweets from specific user (without @). hashtag: Filter by hashtag (without #). min_likes: Minimum likes threshold. limit: Maximum tweets to return (default 20, max 100).
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | No | ||
| from_user | No | ||
| hashtag | No | ||
| min_likes | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions default and maximum values for 'limit' (20, max 100), which adds useful context, but fails to address critical aspects like rate limits, authentication requirements, pagination, or what happens when no results match. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement followed by a bullet-point style parameter explanation. Every sentence earns its place by providing essential information without redundancy. The formatting makes it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters with 0% schema coverage and no output schema, the description does a reasonable job explaining inputs but lacks information about return values, error conditions, or authentication requirements. For a search tool with multiple filtering options and no structured output documentation, it should provide more complete context about what the tool returns and how results are structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It successfully adds meaning for all 5 parameters by explaining their purposes (e.g., 'Filter tweets from specific user (without @)', 'Filter by hashtag (without #)'), including default values and constraints for 'limit'. This provides clear semantic context beyond the bare schema, though it doesn't cover all possible edge cases or interactions between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Search Twitter/X for tweets') and resource ('tweets matching criteria'), distinguishing it from sibling tools like 'get_twitter_user_tweets' or 'search_twitter_advanced' by focusing on general search functionality. It uses precise language that immediately conveys the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the parameter explanations (e.g., 'Filter tweets from specific user'), but it doesn't explicitly state when to use this tool versus alternatives like 'search_twitter_advanced'. It provides clear filtering criteria but lacks explicit guidance on tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_twitter_advancedB
Advanced Twitter/X search with multiple filters.
Args: keywords: Search keywords. from_user: Filter tweets from specific user. to_user: Filter tweets to specific user. mention_user: Filter tweets mentioning specific user. hashtag: Filter by hashtag (without #). exclude_replies: Exclude reply tweets. exclude_retweets: Exclude retweets. min_likes: Minimum likes threshold. min_retweets: Minimum retweets threshold. min_replies: Minimum replies threshold. since_date: Start date (YYYY-MM-DD). until_date: End date (YYYY-MM-DD). lang: Language code (e.g. "en", "zh"). product: Sort by "Top" or "Latest" (default "Top"). limit: Maximum tweets to return (default 20, max 100).
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | No | ||
| from_user | No | ||
| to_user | No | ||
| mention_user | No | ||
| hashtag | No | ||
| exclude_replies | No | ||
| exclude_retweets | No | ||
| min_likes | No | ||
| min_retweets | No | ||
| min_replies | No | ||
| since_date | No | ||
| until_date | No | ||
| lang | No | ||
| product | No | Top | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it lists parameters, it doesn't describe what the tool actually returns (tweet objects, metadata format), rate limits, authentication requirements, error conditions, or whether this is a read-only operation. The description focuses on inputs rather than behavioral outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a brief purpose statement followed by a comprehensive parameter list. Each parameter explanation is clear and minimal. While somewhat lengthy due to 15 parameters, every line adds value and the structure is logical with parameter documentation following the initial summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 15 parameters, no annotations, and no output schema, the description is incomplete. It thoroughly documents inputs but provides no information about return values, error handling, rate limits, or authentication requirements. The agent cannot understand what results to expect or operational constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 15 parameters, the description provides excellent parameter semantics by explaining each parameter's purpose with clear examples (e.g., 'hashtag: Filter by hashtag (without #)', 'lang: Language code (e.g. "en", "zh")', 'product: Sort by "Top" or "Latest"'). This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Advanced Twitter/X search with multiple filters' which specifies the verb (search) and resource (Twitter/X) with the qualifier 'advanced' to indicate enhanced filtering capabilities. It distinguishes from the simpler 'search_twitter' sibling tool by emphasizing 'multiple filters' and 'advanced' nature, though it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like the simpler 'search_twitter' sibling tool. There's no mention of use cases, prerequisites, or trade-offs between this advanced search and other Twitter-related tools on the server.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v0.1.0- First observed
add_twitter_watch - First observed
delete_twitter_watch - First observed
get_twitter_article_by_id - First observed
get_twitter_deleted_tweets - First observed
get_twitter_follower_events - First observed
get_twitter_kol_followers - First observed
get_twitter_user - First observed
get_twitter_user_by_id - First observed
get_twitter_user_tweets - First observed
get_twitter_watch - First observed
search_twitter - First observed
search_twitter_advanced
TDQS
Scored across 12 tools
Most tools have distinct purposes, but there is some overlap between get_twitter_user and get_twitter_user_by_id (both retrieve user profiles via different identifiers) and between search_twitter and search_twitter_advanced (both search tweets, with the latter being a superset). The descriptions clarify the differences, preventing major confusion.
All tool names follow a consistent snake_case pattern with clear verb_noun structures (e.g., add_twitter_watch, get_twitter_user_tweets, search_twitter_advanced). The naming is predictable and uniform across all 12 tools.
With 12 tools, the server is well-scoped for Twitter/X monitoring and data retrieval. The count is appropriate, covering user management, tweet fetching, search, and monitoring without being overwhelming or insufficient for the domain.
The toolset provides strong coverage for monitoring and retrieving Twitter data, including user profiles, tweets, searches, and follower events. Minor gaps exist, such as no tools for posting tweets or interacting with tweets (e.g., liking, retweeting), but core retrieval and monitoring workflows are well-covered.
Maintenance
Related MCP Connectors
X (formerly Twitter): X (formerly Twitter) public and private data API for search, posts (Tweets).
X (Twitter) profiles, tweets and single-tweet lookup by handle or URL. No login. Pay per result.
X/Twitter reads, search, monitors and posting. Pay-per-call in USDC — no signup, no API keys.
Twitter: Access real-time Twitter/X data as soon as it's posted! With the Twitter/X AIO API, you.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with X (formerly Twitter), allowing for posting tweets, searching content, managing accounts, and organizing lists.8 npm3MIT
- AlicenseNot gradedqualityDmaintenanceEnables complete management of X (Twitter) accounts through a single API key, supporting functions like getting tweets, searching, generating and posting replies.16 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with X (Twitter) to post tweets, threads, and replies while retrieving tweet metrics and account information. It supports core management tasks like deleting tweets and verifying authentication through the Twitter API.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to access Twitter/X data including user profiles, tweets, search, and follower events via a set of MCP tools.1MIT