使用说明
MCP(模型上下文协议)
一个客户端-服务器应用程序,与推特和谷歌的Gemini AI集成,创建了一个交互式的人工智能社交媒体助手。
使用的技术
后端(服务器)
- Node.js与Express.js
- TypeScript
- Twitter API v2
- 模型上下文协议(MCP)SDK
- Zod用于模式验证
前端(客户端)
- Node.js
- 谷歌Gemini人工智能API
- 模型上下文协议(MCP)SDK
- 环境变量的dotenv
先决条件
- Node.js(v14或更高版本)
- 具有API证书的Twitter开发人员帐户
- 使用Gemini API访问的谷歌云项目
设置
-
克隆存储库
-
安装依赖项:
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install -
创建
.env包含以下变量的客户端和服务器目录中的文件:服务器
.env:TWITTER_API_KEY=your_twitter_api_key TWITTER_API_SECRET=your_twitter_api_secret TWITTER_ACCESS_TOKEN=your_twitter_access_token TWITTER_ACCESS_SECRET=your_twitter_access_secret客户端
.env:GEMINI_API_KEY=your_gemini_api_key
运行应用程序
-
启动服务器:
cd server npm start -
启动客户端:
cd client node index.js
服务器将在上运行http://localhost:3000默认情况下。
特性
- 与Twitter API集成,用于发布推文
- 使用谷歌Gemini的人工智能响应
- 标准化人工智能交互的模型上下文协议
- 自动推特长度验证和截断
- 错误处理和速率限制保护
- 用于AI交互的交互式聊天界面
项目结构
MCP/
├── client/
│ ├── index.js # Main client application
│ └── gemini-test.js # Gemini API testing
├── server/
│ ├── index.js # Express server setup
│ └── mcp.tool.js # MCP tool implementations
└── README.md
核心组件
服务器(server/)
index.js:设置Express服务器和MCP服务器,定义可用工具mcp.tool.js:实现具有速率限制和错误处理功能的Twitter集成
客户(client/)
index.js:具有聊天界面和AI集成的主客户端应用程序gemini-test.js:Gemini API集成的测试文件
详细功能
Twitter集成
- 自动推特长度验证(280个字符限制)
- 指数回退的速率限制处理
- 删除Markdown格式
- API故障的错误处理
人工智能集成
- 交互式聊天界面
- 上下文感知响应
- 基于用户输入的自动工具选择
- 错误处理和重试机制
安全功能
- 基于环境变量的配置
- API密钥管理
- 速率限制保护
- 使用Zod进行输入验证
错误处理
该应用程序包括以下全面的错误处理:
- API费率限制
- 推文长度无效
- 网络连接问题
- 身份验证失败
- AI响应生成错误
贡献
- 分叉存储库
- 创建功能分支
- 提交您的更改
- 推到分支
- 创建新的Pull请求