Multi-tenant MCP Server

by brianintegrationapp

436 downloads Not rated yet
GitHub

About

Multi-tenant service that allows MCP Clients to connect to Integration App's MCP Server

Explore

- Multi-tenant support with isolated connections
- Database persistence for tenant information
- Live tool discovery from Integration App
- Audit logging
- Rate limiting and security middleware
- Health check endpoint
- Graceful shutdown handling

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 Multi-tenant MCP Server
    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

- Node.js >= 18.0.0
- PostgreSQL database
- Integration App account and credentials

Create a .env file with the following variables:

```env

PORT=3000
NODE_ENV=development

POST /api/tenant/:tenantId/tool
Authorization: Bearer <tenant-token>

{
"method": "listTools"
}

POST /api/tenant/:tenantId/tool
Authorization: Bearer <tenant-token>

{
"method": "tool-name",
"params": {
// tool parameters
}
}

To list the tools available to a tenant, use the following endpoint with both the tenant API key and JWT token:

curl -X POST https://<your-app-url>/api/tenant/<tenantId>/tool \
  -H "Content-Type: application/json" \
  -H "x-api-key: <TENANT_API_KEY>" \
  -H "Authorization: Bearer <TENANT_JWT_TOKEN>" \
  -d '{"method": "listTools"}'

Response:

{
"tools": [
{ "name": "create-contact", ... },
...
]
}

---

To execute a tool (e.g., create a contact):

curl -X POST https://<your-app-url>/api/tenant/<tenantId>/tool \
  -H "Content-Type: application/json" \
  -H "x-api-key: <TENANT_API_KEY>" \
  -H "Authorization: Bearer <TENANT_JWT_TOKEN>" \
  -d '{
    "method": "create-contact",
    "params": {
      "email": "[email protected]",
      "fullName": "Test User"
    }
  }'

Response:

{
"content": [
{ "type": "text", "text": "{\"id\":\"120688589560\"}" }
],
"isError": false
}

---

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "multi-tenant mcp server": {
            "mcpservice": {
                "command": "docker",
                "args": [
                    "build",
                    "-t",
                    "mcp-service",
                    "."
                ]
            }
        }
    }
}

McpServers

{
    "mcpservice": {
        "command": "docker",
        "args": [
            "build",
            "-t",
            "mcp-service",
            "."
        ]
    }
}

A multi-tenant Model Context Protocol (MCP) server that enables multiple tenants to connect to Integration App's MCP server with their own credentials.

Features

- Multi-tenant support with isolated connections
- Database persistence for tenant information
- Live tool discovery from Integration App
- Audit logging
- Rate limiting and security middleware
- Health check endpoint
- Graceful shutdown handling

Prerequisites

- Node.js >= 18.0.0
- PostgreSQL database
- Integration App account and credentials

Environment Variables

Create a .env file with the following variables:

```env

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.