About Multi-Provider MCP Server
Multi-Provider MCP Server supports tools from multiple providers and currently includes Evolution API for WhatsApp messaging and group management. Its modular structure, centralized configuration, and CLI testing mode are aimed at developers extending or testing provider tools.
Key features
- 01Modular provider architecture
- 02Centralized configuration
- 03Evolution API tools
- 04Direct CLI tool testing
- 05Error handling and logging
Use cases
- 01Send WhatsApp messages
- 02Manage WhatsApp groups
- 03Test provider tools from the CLI
- 04Extend and register a new tool provider
MCP support
It exposes tools from different service providers to AI models through MCP, currently including Evolution API tools for WhatsApp messaging and group management.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMulti-Provider MCP Server
A robust and extensible Model Context Protocol (MCP) server that supports multiple tool providers. This server enables AI models to utilize tools from different service providers through a standardized interface.
Features
- Modular architecture for easy extension with new providers
- Centralized configuration management
- Provider-specific tool implementations
- CLI mode for direct tool testing
- Comprehensive error handling and logging
Supported Providers
Currently, the server supports the following providers:
- Evolution API: Tools for WhatsApp messaging and group management
Getting Started
Prerequisites
- Node.js 14.x or higher
- npm or yarn
Installation
- Clone the repository
- Install dependencies:
npm install - Create a
.envfile from the template:cp .env.example .env - Configure your environment variables in the
.envfile
Running the Server
Start the server in development mode:
npm run dev
Or in production:
npm start
Using CLI Mode for Testing Tools
You can directly test any tool by running:
npm run tool <tool_name> '<json_args>'
Example:
npm run tool envia_mensagem '{"number":"5511999999999","mensagem":"Hello world!"}'
Adding a New Provider
- Create a new provider class in the
src/providersdirectory, extendingBaseProvider - Implement the required tools and their handlers
- Register your provider in
src/providers/index.js - Add provider configuration in
src/config/index.js - Update
.env.examplewith new variables
Provider Template
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;
Architecture
├── 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
License
ISC
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.