Back to MCP directory
publicPublicdnsLocal runtime

crazyrabbitLTC_mcp-twitter-server

一个实现Twitter API集成的Model Context Protocol服务器,提供推文发布、搜索分析、用户操作和互动管理等工具功能。

article

README

🚀 Twitter MCP 服务器

这是一个用于 Twitter API 集成的 Model Context Protocol 服务器实现,借助它可以方便地与 Twitter API 进行交互,实现多种推文、用户相关操作。

🚀 快速开始

环境准备

在开始使用本服务器前,请确保你已经安装了 npmnode.js

安装与配置步骤

  1. 克隆仓库到本地。
  2. 安装项目所需依赖,在项目根目录下执行命令:npm install
  3. 复制 .env.example 文件为 .env,并在 .env 文件中填写你的 Twitter API 凭证信息。
  4. 构建项目,执行命令:npm run build
  5. 启动服务器,执行命令: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": "可选的描述性文字(用于辅助功能)"
}
  • 通过 ID 获取推文 使用 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
  • API 错误:Twitter API 返回的错误信息
  • 资源未找到:相应的“未找到”消息,针对具体资源

响应格式

所有成功的响应均采用以下格式:

{
    "content": [
        {
            "type": "text",
            "text": "操作结果信息"
        }
    ]
}

📚 详细文档

开发指南

在开发过程中,你可以使用以下命令来构建、启动和调试项目:

  • 构建项目:npm run build
  • 启动服务器:npm start
  • 开启调试模式:npm run dev
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client