多提供商MCP服务器

一个支持多工具提供商的模型上下文协议(MCP)服务器,通过标准化接口使AI模型能够使用不同服务提供商的工具。

  • by matheusleite
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 matheusleite/mcp_server

使用说明

多提供商MCP服务器

一个强大且可扩展的模型上下文协议(MCP)服务器,支持多个工具提供商。该服务器使AI模型能够通过标准化的接口利用来自不同服务提供商的工具。

特性

  • 模块化架构,便于与新提供商进行扩展
  • 集中配置管理
  • 特定于提供商的工具实现
  • 用于直接工具测试的CLI模式
  • 全面的错误处理和记录

支持的提供商

目前,服务器支持以下提供商:

  • 进化API:WhatsApp消息和群组管理工具

入门指南

先决条件

  • Node.js 14.x或更高版本
  • npm或纱线

安装

  1. 克隆存储库
  2. 安装依赖项:
    npm install
    
  3. 创建一个 .env 模板中的文件:
    cp .env.example .env
    
  4. 在中配置环境变量 .env 文件

运行服务器

在开发模式下启动服务器:

npm run dev

或者在生产中:

npm start

使用CLI模式测试工具

您可以通过运行以下命令直接测试任何工具:

npm run tool <tool_name> '<json_args>'

例子:

npm run tool envia_mensagem '{"number":"5511999999999","mensagem":"Hello world!"}'

添加新提供者

  1. 在中创建新的提供程序类 src/providers 目录,扩展 BaseProvider
  2. 实施所需的工具及其处理程序
  3. 在中注册您的提供商 src/providers/index.js
  4. 在中添加提供程序配置 src/config/index.js
  5. 更新 .env.example 带有新变量

提供者模板

const BaseProvider = require('../core/BaseProvider');

class MyNewProvider extends BaseProvider {
  constructor(config) {
    super('provider-name', config);
    this._registerTools();
  }
  
  _registerTools() {
    // Register your tools here
  }
}

module.exports = MyNewProvider;

建筑

├── src/
│   ├── config/             # Configuration settings
│   ├── core/               # Core server functionality
│   │   ├── BaseProvider.js # Base class for providers
│   │   ├── MCPServer.js    # MCP server implementation
│   │   └── ProviderManager.js # Manages all providers
│   ├── providers/          # Provider implementations
│   │   ├── EvolutionProvider.js  # Evolution API provider
│   │   └── index.js        # Provider exports
│   ├── utils/              # Utility functions
│   │   ├── httpClient.js   # HTTP client wrapper
│   │   └── logger.js       # Logging utility
│   └── index.js            # Application entry point
├── .env                    # Environment variables
├── .env.example            # Environment variables template
└── package.json            # Project metadata

许可证

国际协调委员会