这是一个用于 Twitter API 集成的 Model Context Protocol 服务器实现,借助它可以方便地与 Twitter API 进行交互,实现多种推文、用户相关操作。
在开始使用本服务器前,请确保你已经安装了 npm
和 node.js
。
npm install
。.env.example
文件为 .env
,并在 .env
文件中填写你的 Twitter API 凭证信息。npm run build
。npm start
。在 .env
文件中,你需要填写必需的 Twitter API 凭证,具体如下:
X_API_KEY=your_api_key
X_API_SECRET=your_api_secret
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret
本服务器提供了丰富的工具来实现各种 Twitter 操作,以下是部分常用工具的使用示例。
postTweet
工具,示例请求如下:{
"text": "你的推文内容"
}
postTweetWithMedia
工具,示例请求如下:{
"text": "你的推文内容",
"mediaPath": "媒体文件路径",
"mediaType": "image/jpeg|image/png|image/gif|video/mp4",
"altText": "可选的描述性文字(用于辅助功能)"
}
getTweetById
工具,示例请求如下:{
"id": "推文ID"
}
deleteTweet
工具,示例请求如下:{
"id": "推文ID"
}
getUserProfile
工具,示例请求如下:{
"userId": "目标用户 ID(可选,默认为当前用户)"
}
updateUserProfile
工具,示例请求如下:{
"name": "新用户名",
"username": "新用户名字",
"bio": "新的个人简介",
"location": "新位置信息",
"url": "新的网址链接"
}
followUser
工具,示例请求如下:{
"userId": "要关注的用户 ID"
}
unfollowUser
工具,示例请求如下:{
"userId": "要取消关注的用户 ID"
}
searchTweets
工具,示例请求如下:{
"query": "搜索关键词或短语",
"maxResults": "最多返回的结果数(可选,默认为10)"
}
getTopicTrend
工具,示例请求如下:{
"topic": "要查询的话题名称"
}
createList
工具,示例请求如下:{
"listName": "新列表的名称",
"mode": "public|private" // 列表访问权限,可选 public 或 private,默认为 public
}
addToList
工具,示例请求如下:{
"listId": "目标列表 ID",
"userId": "要添加的用户 ID"
}
removeFromList
工具,示例请求如下:{
"listId": "目标列表 ID",
"userId": "要移除的用户 ID"
}
getListMembers
工具,示例请求如下:{
"listId": "目标列表 ID",
"maxResults": "最多返回的结果数(可选,默认为10)"
}
本服务器的所有工具都遵循统一的错误处理和响应格式,方便开发者进行集成和调试。
所有工具都返回统一的标准错误响应:
缺少必需的参数:parameter_name
所有成功的响应均采用以下格式:
{
"content": [
{
"type": "text",
"text": "操作结果信息"
}
]
}
在开发过程中,你可以使用以下命令来构建、启动和调试项目:
npm run build
npm start
npm run dev