X Post Mcp

X Post Mcp

🚀 🐦 X-Post MCP 🚀

一款强大的集成工具,允许AI模型直接通过Model Context Protocol (MCP)将内容发布到X(原推特),实现AI与社交媒体的无缝对接,让信息传播更智能、高效 🤖✨

🚀 快速开始

1. 安装依赖

服务端安装

cd server
npm install express @types/express

客户端安装

cd client
npm install @tensorflow/tfjs @tensorflow-models/generative-ai

2. 配置环境变量

在服务器根目录创建.env文件,添加以下内容:

TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret_key
TWITTER_BEARER_TOKEN=your_bearer_token
GEMINI_API_KEY=your_gemini_api_key

3. 启动服务

服务端启动

cd server
npm run dev

服务将运行在 http://localhost:3001

客户端启动

cd client
npm run index.ts

✨ 主要特性

  • 🔄 与X(推特)API的顺畅整合,确保数据交互稳定高效。
  • 🧠 使用Google的Gemini模型实现AI-powered帖子生成,为内容创作提供强大支持。
  • 🛠️ 提供X发帖功能的MCP服务器端点,方便AI模型调用。
  • 💬 交互式聊天界面用于测试和演示,便于用户快速上手。
  • 🔒 安全处理API凭证,保障数据安全。
  • ✂️ 自动截断超出X字符限制的帖子,避免发布失败。

📦 安装指南

依赖安装

服务端

进入server目录,执行以下命令安装依赖:

cd server
npm install express @types/express

客户端

进入client目录,执行以下命令安装依赖:

cd client
npm install @tensorflow/tfjs @tensorflow-models/generative-ai

环境变量配置

在服务器根目录创建.env文件,并添加以下API凭证信息:

TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret_key
TWITTER_BEARER_TOKEN=your_bearer_token
GEMINI_API_KEY=your_gemini_api_key

💻 使用示例

基础用法

示例命令:

你:发布一条关于今天美好天气的推文

AI模型将使用Gemini生成内容,并通过MCP工具发送到X平台。

高级用法

定制发帖规则

server/src/tools/createPost.ts文件中,可以根据需求自定义发帖逻辑:

export async function createPost(context: Context, args: string[]) {
const message = await gemini.generate(args.join(' '));
return { status: 'success', message };
}

扩展AI能力

通过替换或扩展client/src/models/gemini.ts文件,可以支持更多AI模型。

📚 详细文档

项目架构

  • 服务器端:基于Express框架,提供MCP协议支持,并通过Server-Sent Events (SSE) 实现长轮询通信。
  • 客户端:用于连接MCP服务器并与AI模型交互的界面工具。

核心功能

  1. AI内容生成:利用Google Gemini模型生成高质量文本。
  2. X平台发帖:通过Twitter API将内容发布到目标账户。
  3. 实时通信:使用SSE实现客户端与服务器之间的双向数据流。

🔧 技术细节

技术栈

  • Bun:快速的一站式JavaScript运行时,提升应用性能。
  • TypeScript:类型安全的JavaScript,增强代码可维护性。
  • Express:高效的Web应用框架,简化服务器开发。
  • Server-Sent Events (SSE):实时通信协议,实现数据的实时推送。

📄 许可证

此项目采用MIT License授权,详情请参阅LICENSE文件。

🙏 致谢

感谢以下项目的贡献:

🤝 贡献指南

欢迎贡献!请按照以下步骤提交您的PR:

  1. Fork仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m 'Add some amazing feature'
  4. 推送到远程分支(git push origin feature/amazing-feature
  5. 提交Pull Request
  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-28 11:09

相似服务问题