MCP Facade
About
MCP Facade is a facade service that provides a unified interface for managing and interacting with multiple MCP (Machine Conversation Protocol) servers. It acts as a single entry point for agents to communicate with various MCP servers while providing JWT-based authentication…
Explore
- Unified Access Point: Single interface for multiple MCP servers
- Server Management: Register, update, and manage multiple MCP servers
- Tool Management: Discover and interact with tools across all registered servers
- Authentication: JWT-based authentication with fine-grained access control
- Access Rules: Configurable access rules at the tool level
- Health Monitoring: Built-in health check endpoints
- Database Backend: PostgreSQL for storing server configurations and access rules
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP FacadeCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
pnpm i
cp .env.example .env
uv sync
source .venv/bin/activate
MCPConfig
url: http://localhost:3000/api
tools: echo, add, subtract, multiply, divide
The service uses JWT (JSON Web Tokens) for authentication. Include the JWT token in the Authorization header for authenticated requests:
bashcurl -H "Authorization: Bearer your.jwt.token" http://localhost:3001/api/mcp/tools
```
curl http://localhost:3000/api/mcp/tools | jq .
curl -N -X POST http://localhost:3000/api/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Connection: keep-alive" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "tools/call",
"params": {
"name": "echo",
"arguments": {
"message": "Hello, world!"
}
}
}'
curl http://localhost:3001/api/access-rules/by-tool/echo | jq .
curl -N -X POST http://localhost:3000/api/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Connection: keep-alive" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}' | jq -R 'select(startswith("data: ")) | .[6:] | fromjson'
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp facade": {
"mcp-facade": {
"command": "uv",
"args": [
"sync"
]
}
}
}
}
McpServers
{
"mcp-facade": {
"command": "uv",
"args": [
"sync"
]
}
}
A powerful facade service that provides a unified interface for managing and interacting with multiple MCP (Machine Conversation Protocol) servers. It acts as a single entry point for agents to communicate with various MCP servers while providing robust authentication and access control.
Table of Contents
- Features
- Installation
- Configuration
- API Documentation
- Server Management
- Tool Management
- Access Control
- MCP Protocol
- Authentication
- Examples
Features
- Unified Access Point: Single interface for multiple MCP servers
- Server Management: Register, update, and manage multiple MCP servers
- Tool Management: Discover and interact with tools across all registered servers
- Authentication: JWT-based authentication with fine-grained access control
- Access Rules: Configurable access rules at the tool level
- Health Monitoring: Built-in health check endpoints
- Database Backend: PostgreSQL for storing server configurations and access rules
Run it locally
Run MCP servers (example)
Note: can skip this step if you have your mcp servers.
```bash
cd mcp-facade/mcp-servers
uv sync
source .venv/bin/activate
uv pip install -e .
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



