Add GetXAPI MCP server manifest#342
Conversation
Review Summary by QodoAdd GetXAPI MCP server manifest for Twitter integration
WalkthroughsDescription• Adds GetXAPI MCP server manifest for X/Twitter data access • Includes remote HTTP transport with Bearer token authentication • Provides search_tweets and get_user tools for Twitter integration • Defines configuration schema and usage examples Diagramflowchart LR
A["MCP Registry"] -->|"adds manifest"| B["getxapi.json"]
B -->|"defines"| C["HTTP Transport"]
B -->|"provides"| D["Twitter Tools"]
C -->|"uses"| E["GETXAPI_API_KEY"]
D -->|"includes"| F["search_tweets"]
D -->|"includes"| G["get_user"]
File Changes1. mcp-registry/servers/getxapi.json
|
📝 WalkthroughWalkthroughAdds a new MCP server registry entry for getxapi, a service providing tweet search and user lookup capabilities. Includes server metadata, required API key authentication, HTTP installation configuration, tool schemas, and example prompts. Changesgetxapi MCP Server Registration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~5 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a new MCP registry entry for the GetXAPI hosted server, enabling authenticated access to X/Twitter search and user lookup via a Streamable HTTP endpoint.
Changes:
- Introduces
getxapiserver metadata (repo, homepage, author, license, categories/tags). - Defines an HTTP installation with
Authorization: Bearer ${GETXAPI_API_KEY}. - Registers initial tools (
search_tweets,get_user) and example prompts.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "tags": [ | ||
| "x", | ||
| "twitter", | ||
| "social media", | ||
| "tweet search", | ||
| "user lookup", | ||
| "timeline", | ||
| "remote mcp" | ||
| ], |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@mcp-registry/servers/getxapi.json`:
- Line 92: The example prompt value uses a leading "@" which contradicts the
tool requirement for the get_user tool (expects "X/Twitter username without the
leading @"); update the JSON "prompt" string in getxapi.json to remove the "@"
so it passes just the username (e.g., change "Use GetXAPI to look up the X
profile for `@getxapi`." to use "getxapi" without the @), ensuring any other
examples or references to get_user follow the same format.
- Line 26: Remove the incorrect "timeline" tag entry from getxapi.json so the
tag list matches the implemented tools (only search_tweets and get_user); locate
the "timeline" string in the JSON tags array and delete that element, then
validate the JSON to ensure the tags array now only contains the actual tool
names.
- Line 4: The manifest's description claims "timeline retrieval" but the actual
tools are only search_tweets and get_user; update the "description" string in
getxapi.json to accurately reflect supported capabilities (e.g., mention search
and user lookup only) or alternatively implement and expose a timeline retrieval
tool (e.g., add a new tool entry like "get_timeline" that wires to timeline
logic). Ensure references to search_tweets and get_user remain correct and
remove the incorrect "timeline retrieval" phrasing unless you add the
corresponding tool.
- Line 7: The configured server entry's "url" in
mcp-registry/servers/getxapi.json points at the GitHub repo and the currently
used API base (https://api.getxapi.com/mcp) returns 404; update the "url" value
(the "url" JSON key in getxapi.json) to the correct reachable API base (for
example the project homepage or the API host that responds 200, e.g.,
https://getxapi.com or the proper /mcp endpoint) so the registry uses an
endpoint that returns a successful response; verify the chosen URL returns 200
before committing.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 0db4d57e-15b3-476e-9b12-f2b83fd063f8
📒 Files selected for processing (1)
mcp-registry/servers/getxapi.json
| { | ||
| "name": "getxapi", | ||
| "display_name": "GetXAPI MCP Server", | ||
| "description": "Remote MCP server for X/Twitter data, search, user lookup, and timeline retrieval through the GetXAPI API.", |
There was a problem hiding this comment.
Description claims unavailable functionality.
The description mentions "timeline retrieval" but the manifest only defines two tools: search_tweets and get_user. No timeline-related tool exists.
📝 Proposed fix to align description with actual capabilities
- "description": "Remote MCP server for X/Twitter data, search, user lookup, and timeline retrieval through the GetXAPI API.",
+ "description": "Remote MCP server for X/Twitter data, search and user lookup through the GetXAPI API.",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "description": "Remote MCP server for X/Twitter data, search, user lookup, and timeline retrieval through the GetXAPI API.", | |
| "description": "Remote MCP server for X/Twitter data, search and user lookup through the GetXAPI API.", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@mcp-registry/servers/getxapi.json` at line 4, The manifest's description
claims "timeline retrieval" but the actual tools are only search_tweets and
get_user; update the "description" string in getxapi.json to accurately reflect
supported capabilities (e.g., mention search and user lookup only) or
alternatively implement and expose a timeline retrieval tool (e.g., add a new
tool entry like "get_timeline" that wires to timeline logic). Ensure references
to search_tweets and get_user remain correct and remove the incorrect "timeline
retrieval" phrasing unless you add the corresponding tool.
| "description": "Remote MCP server for X/Twitter data, search, user lookup, and timeline retrieval through the GetXAPI API.", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/getxapi/getxapi-mcp" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify GetXAPI external URLs are accessible
echo "Checking repository..."
curl -s -o /dev/null -w "Repository: %{http_code}\n" https://github.com/getxapi/getxapi-mcp
echo "Checking homepage..."
curl -s -o /dev/null -w "Homepage: %{http_code}\n" https://getxapi.com
echo "Checking API endpoint..."
curl -s -o /dev/null -w "API endpoint: %{http_code}\n" https://api.getxapi.com/mcp
echo -e "\nExpected: 200 for homepage/API, 200 for GitHub repository"Repository: pathintegral-institute/mcpm.sh
Length of output: 250
🏁 Script executed:
#!/bin/bash
set -euo pipefail
check() {
local name=$1 url=$2
echo "== $name: $url =="
# follow redirects, show final status
curl -s -L -o /dev/null -w "Final: %{http_code}\n" "$url"
# show where redirects go (if any)
curl -s -L -o /dev/null -w "Final URL: %{url_effective}\n" "$url" || true
echo
}
check "GitHub repo" "https://github.com/getxapi/getxapi-mcp"
check "Homepage" "https://getxapi.com"
check "API endpoint (no slash)" "https://api.getxapi.com/mcp"
check "API endpoint (slash)" "https://api.getxapi.com/mcp/"
check "API base" "https://api.getxapi.com/"Repository: pathintegral-institute/mcpm.sh
Length of output: 586
Fix GetXAPI API endpoint URL (currently returns 404).
GitHub repo (200) and homepage (200) are reachable, but https://api.getxapi.com/mcp (and https://api.getxapi.com/) responds with 404, so the configured API endpoint URL isn’t accessible as set in mcp-registry/servers/getxapi.json. Update it to the correct reachable endpoint.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@mcp-registry/servers/getxapi.json` at line 7, The configured server entry's
"url" in mcp-registry/servers/getxapi.json points at the GitHub repo and the
currently used API base (https://api.getxapi.com/mcp) returns 404; update the
"url" value (the "url" JSON key in getxapi.json) to the correct reachable API
base (for example the project homepage or the API host that responds 200, e.g.,
https://getxapi.com or the proper /mcp endpoint) so the registry uses an
endpoint that returns a successful response; verify the chosen URL returns 200
before committing.
| "social media", | ||
| "tweet search", | ||
| "user lookup", | ||
| "timeline", |
There was a problem hiding this comment.
Remove "timeline" tag to match actual tools.
The "timeline" tag is inconsistent with the available tools. Only search_tweets and get_user are implemented.
📝 Proposed fix
"tweet search",
"user lookup",
- "timeline",
"remote mcp"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "timeline", | |
| "tweet search", | |
| "user lookup", | |
| "remote mcp" |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@mcp-registry/servers/getxapi.json` at line 26, Remove the incorrect
"timeline" tag entry from getxapi.json so the tag list matches the implemented
tools (only search_tweets and get_user); locate the "timeline" string in the
JSON tags array and delete that element, then validate the JSON to ensure the
tags array now only contains the actual tool names.
| { | ||
| "title": "Look Up A User", | ||
| "description": "Fetch normalized profile data for an X user.", | ||
| "prompt": "Use GetXAPI to look up the X profile for @getxapi." |
There was a problem hiding this comment.
Example inconsistent with tool parameter requirements.
Line 72 specifies that the get_user tool expects "X/Twitter username without the leading @", but this example shows "@getxapi" with the @ symbol included.
📝 Proposed fix to align example with tool requirements
- "prompt": "Use GetXAPI to look up the X profile for `@getxapi`."
+ "prompt": "Use GetXAPI to look up the X profile for getxapi."📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "prompt": "Use GetXAPI to look up the X profile for @getxapi." | |
| "prompt": "Use GetXAPI to look up the X profile for getxapi." |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@mcp-registry/servers/getxapi.json` at line 92, The example prompt value uses
a leading "@" which contradicts the tool requirement for the get_user tool
(expects "X/Twitter username without the leading @"); update the JSON "prompt"
string in getxapi.json to remove the "@" so it passes just the username (e.g.,
change "Use GetXAPI to look up the X profile for `@getxapi`." to use "getxapi"
without the @), ensuring any other examples or references to get_user follow the
same format.
Adds a manifest entry for the GetXAPI MCP server (remote HTTP transport).
Hosted remote MCP server (Streamable HTTP) at https://api.getxapi.com/mcp
Single env var (GETXAPI_API_KEY) for Bearer auth
Tools: search_tweets, get_user
Repo: https://github.com/getxapi/getxapi-mcp
Wikidata: https://www.wikidata.org/wiki/Q139996278
Summary by CodeRabbit