MCP协议服务器

MCP Server是一个基于Node.js/TypeScript的项目,实现了与模型上下文协议(MCP)兼容的服务器,适用于AI和自动化应用。

  • by ViorelsS
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 viorelss/mcp-server

使用说明

MCP服务器

此项目基于Web开发简化教程: 终极MCP速成课程-从头开始构建.

MCP Server是一个Node.js/TypeScript项目,实现了一个与模型上下文协议(MCP)兼容的服务器,专为人工智能和自动化应用程序而设计。该项目包括服务器逻辑和示例客户端CLI。

主要特点

  • MCP服务器:实现用于处理AI请求的MCP协议。
  • 客户端CLI示例:一个用于测试和与服务器交互的命令行界面,使用 @inquirer/prompts 用于交互式提示和输入。
  • Gemini API支持:通过以下方式与Google Gemini集成 @ai-sdk/google.
  • 数据验证:使用Zod进行输入验证。
  • 配置管理:通过以下方式支持环境变量 dotenv.

项目结构

├── src/
│   ├── server.ts        # MCP server entry point
│   ├── client.ts        # Sample client
│   └── data/
│       └── users.json   # Sample user data
├── build/               # TypeScript build output
├── package.json         # Dependencies and scripts
├── tsconfig.json        # TypeScript configuration
├── .env.example         # Example environment configuration

先决条件

  • Node.js>=18
  • npm>=9

安装

  1. 克隆存储库:
    git clone <repo-url>
    cd mcp-server
    
  2. 安装依赖项:
    npm install
    
  3. 配置环境变量:
    • 复制 .env.example 向 .env 并添加您的Gemini API密钥。

主要脚本

  • 启动开发中的服务器:
    npm run server:dev
    
  • 构建服务器:
    npm run server:build
    
  • 运行示例客户端:
    npm run client:dev
    
  • MCP检查员(调试):
    npm run server:inspect
    

主要依赖关系

环境配置

创建一个 .env 文件基于 .env.example:

GEMINI_API_KEY=your_gemini_api_key

从以下位置获取密钥 Google Gemini API.

附加说明

  • 示例客户端是位于以下位置的CLI应用程序 src/client.ts,使用 @inquirer/prompts 用于交互式命令行功能。
  • 示例用户数据位于 src/data/users.json.
  • 服务器和客户端都是用TypeScript编写的,并编译为 build/.
  • 要自定义逻辑,请编辑 src/server.ts 和 src/client.ts.
  • 要停止应用程序,请使用组合键 Ctrl+C在终端。

参考文献