article
README
🚀 🐦 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模型交互的界面工具。
核心功能
- AI内容生成:利用Google Gemini模型生成高质量文本。
- X平台发帖:通过Twitter API将内容发布到目标账户。
- 实时通信:使用SSE实现客户端与服务器之间的双向数据流。
🔧 技术细节
技术栈
- Bun:快速的一站式JavaScript运行时,提升应用性能。
- TypeScript:类型安全的JavaScript,增强代码可维护性。
- Express:高效的Web应用框架,简化服务器开发。
- Server-Sent Events (SSE):实时通信协议,实现数据的实时推送。
📄 许可证
此项目采用MIT License授权,详情请参阅LICENSE文件。
🙏 致谢
感谢以下项目的贡献:
- Model Context Protocol 提供了标准化的AI上下文协议。
- Twitter API v2 为X平台集成提供了支持。
- Google Gemini 提供了强大的AI能力。
🤝 贡献指南
欢迎贡献!请按照以下步骤提交您的PR:
- Fork仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到远程分支(
git push origin feature/amazing-feature) - 提交Pull Request
扫码联系在线客服