模型上下文协议服务器

一个演示模型上下文协议(MCP)服务器和客户端集成的项目,包括Gemini AI和Twitter(X)工具的使用。

  • by Jain-Tirth
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 jain-tirth/mcp-server-demo

使用说明

MCP服务器演示

该项目演示了模型上下文协议(MCP)服务器和客户端集成,包括Gemini AI和Twitter(X)工具的使用。

项目结构

  • server/ --基于Express的MCP服务器,带有工具注册功能(例如,addTwoNumbers,为Twitter/X创建Post)
  • client/ --连接到MCP服务器的Node.js客户端,使用Gemini AI,支持工具调用

先决条件

  • Node.js(建议使用v18+)
  • npm
  • Twitter/X开发者帐户(用于发布)
  • Google Gemini API密钥

设置

  1. 克隆存储库:

    git clone https://github.com/Jain-Tirth/MCP-Server-Demo.git
    cd MCP-Server-Demo
    
  2. 安装依赖项:

    cd server && npm install
    cd ../client && npm install
    
  3. 环境变量:

    • 复制 .env.example 向 .env 两者都 server/ 和 client/ 文件夹(如果提供),或创建 .env 手动文件。
    • 对于Twitter/X发布,设置:
      TWITTER_API_KEY=your_api_key
      TWITTER_API_SECRET=your_api_secret
      TWITTER_ACCESS_TOKEN=your_access_token
      TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret
      
    • 对于Gemini API,设置:
      GEMINI_API_KEY=your_gemini_api_key
      
  4. 启动MCP服务器:

    cd server
    node index.js
    # or use nodemon for auto-reload
    # npx nodemon index.js
    
  5. 启动客户端:

    cd ../client
    node index.js
    

特性

  • MCP服务器
    • 注册工具(例如addTwoNumbers、createPost)
    • 处理来自客户的工具调用
  • 客户端
    • 通过SSE连接到MCP服务器
    • 使用Gemini AI进行聊天和工具调用
    • 支持函数调用(例如,发布到Twitter/X)

备注

  • 确保您的Twitter/X应用程序权限设置为“读写”,并在更改权限后使用重新生成的访问令牌。
  • 敏感文件,如 .env 为了安全起见,凭证JSON被忽略。