Multi-Provider MCP Server
@matheusleite
Custom MCP Server to integrate with tools and run inside a n8n instance
Overview
What is Multi-Provider MCP Server?
A robust and extensible Model Context Protocol (MCP) server that supports multiple tool providers, enabling AI models to utilize tools from different service providers through a standardized interface. It is designed for developers integrating AI models with external services, currently supporting Evolution API for WhatsApp messaging and group management.
How to use Multi-Provider MCP Server?
Install Node.js 14+, clone the repository, run npm install, copy .env.example to .env and configure environment variables. Start in development mode with npm run dev or production with npm start. Tools can be tested directly in CLI using npm run tool <tool_name> '<json_args>'.
Key features of Multi-Provider MCP Server
- 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
Use cases of Multi-Provider MCP Server
- AI assistants sending WhatsApp messages via the Evolution API provider
- Extending the server with custom providers by implementing the BaseProvider class
- Testing tool outputs without involving an AI model, using the CLI mode
- Centralizing tool access from multiple service providers under one MCP interface
FAQ from Multi-Provider MCP Server
Which providers are currently supported?
Evolution API for WhatsApp messaging and group management.
What are the runtime requirements?
Node.js 14.x or higher and npm or yarn.
How can I add a new provider?
Create a new provider class extending BaseProvider in src/providers, implement tools, register it in src/providers/index.js, and add configuration in src/config/index.js.
Can I test individual tools without an AI model?
Yes, use npm run tool <tool_name> '<json_args>' to test any tool directly.
Where is provider-specific configuration stored?
In the .env file based on the .env.example template. The server uses centralized configuration management.