- Home
- MCP servers
- XMCP
XMCP
- python
7
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"vibeforge1111-xmcp": {
"command": "xmcp-server",
"args": [],
"env": {
"X_MCP_PROFILE": "researcher",
"TWITTER_API_KEY": "your_key",
"TWITTER_API_SECRET": "your_secret",
"TWITTER_ACCESS_TOKEN": "your_token",
"TWITTER_BEARER_TOKEN": "your_bearer",
"TWITTER_ACCESS_TOKEN_SECRET": "your_token_secret"
}
}
}
}XMCP is a permission-based MCP server for X/Twitter that exposes a wide set of tools for research, engagement, publishing, and management. It enables controlled access with profiles and groups while supporting Playwright-powered article fetching and comprehensive engagement metrics, making it suitable for researchers, creators, and automation workflows.
How to use
You run the MCP server locally and connect your MCP clients to it to perform tasks like searching tweets, fetching articles, posting content, managing follows, and reading conversations. Use runtime permission profiles to control what each client can do, and switch profiles or groups without restarting the server. When you issue a task, the server will enforce the configured permissions and return structured results with optional advisory guidance for human review.
How to install
Prerequisites: you need Python and Playwright installed on your machine.
pip install "xmcp[articles] @ git+https://github.com/vibeforge1111/xmcp.git"
python -m playwright install chromium
Configuration and usage notes
Configure the MCP server as a local process that your clients can connect to. The following standard configuration example shows how to run the server with environment variables for API keys and a permission profile.
Runtime permissions and profiles
Choose from predefined permission profiles to control tool access. Runtime enforcement allows you to switch profiles or groups on the fly, tailoring capabilities for each client or task without restarting the server.
Article fetching
Article content for X articles requires rendering with a browser. The server uses Playwright to fetch article content, ensuring you get titles, authors, and article bodies reliably. Use get_article to retrieve article data from a given X article URL.
Real-time use cases
You can drive real-time workflows by polling tools on a schedule from your client or a cron job. Examples include hourly trend snapshots, keyword monitoring, and article tracking to stay informed without excess telemetry.
Security and data handling
Credentials for X/Twitter are read locally and used solely to authenticate requests. Do not share sensitive keys. The server supports runtime permission checks to minimize exposure of capabilities.
Configuration reference and examples
The MCP server supports environment-based configuration. Set the profile, groups (for custom profiles), and enable or disable specific tools as needed. All provided credentials are kept locally and used only for authentication to X/Twitter.
HTTP server mode (optional for cloud deployments)
You can run an HTTP gateway variant to expose MCP functionality over HTTP. This mode is useful for cloud deployments and integrations that prefer a remote HTTP interface.
Tools and endpoints overview
A comprehensive set of tools is available for discovery, engagement, publishing, social actions, and conversations. Each tool is exposed through the MCP server and subject to the active permission profile.
Available tools
search_twitter
Search tweets with full engagement metrics
search_articles
Find tweets containing X articles
get_trends
Fetch worldwide trending topics
get_article
Fetch article content using Playwright
get_user_by_screen_name
Get user details by @handle
get_user_profile
Get user profile with metrics
get_tweet_details
Retrieve full tweet information
get_conversation
Get complete tweet thread
get_replies
Retrieve replies to a tweet
favorite_tweet
Like a tweet
retweet
Retweet content
bookmark_tweet
Bookmark a tweet
quote_tweet
Quote a tweet with a comment
post_tweet
Post a tweet with media, tags, or reply
create_thread
Post multiple tweets as a thread
create_poll_tweet
Create a poll tweet
follow_user
Follow a user
unfollow_user
Unfollow a user
block_user
Block a user
unblock_user
Unblock a user
mute_user
Mute a user
unmute_user
Unmute a user
get_authenticated_user_profile
Get the authenticated user profile