Enables connection and interaction with Discord servers through the MCP framework using a pluggable service connector.
Provides integration with Slack workspaces through a modular service connector for messaging and workspace management.
Offers real-time connection to the Telegram Bot API for instant messaging and bot interactions.
Maintains a stateful WhatsApp Web session for persistent messaging capabilities and chat management.
Universal MCP Server Framework
An open-source, modular MCP (Model Context Protocol) server designed to connect Large Language Models to various real-world applications. This project provides a core engine, pluggable service connectors, and a Vite+React frontend for testing.
This monorepo contains:
/backend: The Node.js MCP server./frontend: A Vite+React control panel.
Features
Modular Architecture: Easily add new service connectors (e.g., Discord, Slack).
Secure by Default: Uses
.envfiles to keep all secrets out of version control.Stateful WhatsApp Connection: Maintains your WhatsApp Web session.
Real-time Telegram Bot: Connects instantly to the Telegram Bot API.
React Control Panel: A simple UI to test your server's tools.
Project Setup
Prerequisites
Node.js (LTS version, e.g., v20.x)
Git
Installation & Configuration
Clone the repository:
git clone <your-repo-url> cd universal-mcp-projectSet Up Backend:
cd backend npm install cp .env.example .envNow, open
backend/.envwith a text editor (nano .env) and add your API keys.Set Up Frontend:
cd ../frontend npm install cp .env.example .envThe default settings in
frontend/.envshould work for local development.
Running the Application
You will need two separate terminal sessions for this.
Start the Backend Server: Open your first terminal, navigate to the
backendfolder, and run:npm run devOn the first run for WhatsApp, a QR code will appear. Scan it with your phone.
Start the Frontend App: Open a second terminal, navigate to the
frontendfolder, and run:npm run devOpen your web browser on your phone and go to the URL shown in the terminal (usually
http://localhost:5173).
You should now see the control panel and be able to execute commands through your backend server.