MCP Facade

by DmitryBe

212 downloads Not rated yet

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Facade
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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:

bash
curl -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 .

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.