
A Model Context Protocol (MCP) server for secure Twitter client integration using the ElizaOS agent-twitter-client library
概览
A Model Context Protocol (MCP) server that provides secure access to Twitter functionality through the agent-twitter-client library. The Twitter Client MCP provides the following capabilities: - - Get profile information by username - Get the authenticated user's profile - - Get a specific tweet by ID - Get tweets from a user - Send new tweets - Like tweets - Retweet tweets - - Search for tweets - Search for profiles - - Get followers of a user - Get users that a user is following - Follow a user This MCP server requires Twitter credentials to operate. To protect these sensitive credentials: This server implements several layers of security to keep your credentials safe:
README
以下为原文 README 节选,完整内容请查看原文。
Twitter Client MCP
A Model Context Protocol (MCP) server that provides secure access to Twitter functionality through the agent-twitter-client library.
Features
The Twitter Client MCP provides the following capabilities:
-
Profile Operations
- Get profile information by username
- Get the authenticated user’s profile
-
Tweet Operations
- Get a specific tweet by ID
- Get tweets from a user
- Send new tweets
- Like tweets
- Retweet tweets
-
Search Operations
- Search for tweets
- Search for profiles
-
Relationship Operations
- Get followers of a user
- Get users that a user is following
- Follow a user
Security ⚠️
IMPORTANT: TWITTER CREDENTIAL PROTECTION
This MCP server requires Twitter credentials to operate. To protect these sensitive credentials:
- NEVER share your credentials
- NEVER run commands that display your credentials
- NEVER allow the LLM to execute shell commands directly without your approval
Multiple Layers of Protection
This server implements several layers of security to keep your credentials safe:
1. Credential Isolation
- Your credentials are only loaded during initialization
- After loading, credentials are immediately removed from environment variables
- Credentials are never logged or transmitted to the LLM
2. Memory Protection
- Secure memory allocation using sodium-native
- Memory locking to prevent swapping to disk
- Zero-out memory buffers after use
3. Access Prevention
- Secure environment variable handling
- Strict validation of required environment variables
- Console output sanitization to prevent leaking secrets
Setup
- Clone the repository
- Install dependencies:
npm install - Build the project:
npm run build
Required Environment Variables
The Twitter Client MCP requires the following environment variables:
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
[email protected]
Optionally, you can add Twitter API v2 credentials for advanced functionality:
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_secret
Tools
The server exposes the following MCP tools:
| Tool Name | Description | Parameters |
|---|---|---|
profileByUsername |
Get a Twitter profile by username | username: String |
myProfile |
Get the authenticated user’s profile | check: Boolean |
getTweet |
Get a specific tweet by ID | tweetId: String |
getUserTweets |
Get tweets from a Twitter user | username: String, count?: Number |
sendTweet |
Post a new tweet | text: String, inReplyToId?: String |
likeTweet |
Like a tweet | tweetId: String |
retweet |
Retweet a tweet | tweetId: String |
安装
npx -y github:mzkrasner/twitter-client-mcp配置
{
"mcpServers": {
"twitter-client-mcp": {
"command": "npx",
"args": [
"-y",
"github:mzkrasner/twitter-client-mcp"
],
"env": {
"TWITTER_USERNAME": "your_username",
"TWITTER_PASSWORD": "your_password",
"TWITTER_EMAIL": "[email protected]"
}
}
}
}