Skip to main content
Glama
MetaMCP Admin MCP

MetaMCP Admin MCP

MetaMCP Admin MCP

An MCP server for administering MetaMCP instances — manage servers, namespaces, endpoints, and API keys across multiple MetaMCP deployments from any MCP client.

This is not the MetaMCP proxy (which aggregates tools). This is an admin tool that lets AI agents manage MetaMCP itself: add/remove servers, create namespaces, toggle tools, compare instances, and more.

Features

  • Multi-instance: Manage multiple MetaMCP deployments from a single MCP server

  • Full CRUD: Create, read, update, delete servers, namespaces, endpoints, and API keys

  • Bulk import: Import servers in Claude Desktop JSON format

  • Cross-instance ops: Compare servers across instances, clone server configs between instances

  • Health checks: Verify connectivity to all instances

  • Tool management: Inspect tools per server, toggle tools/servers within namespaces

Available Tools (22)

Tool

Description

list_instances

List all configured MetaMCP instances

health_check

Check connectivity to all instances

compare_instances

Compare servers/namespaces/endpoints across instances

list_servers

List all MCP servers on an instance

get_server

Get server details by UUID

create_server

Create a new MCP server

update_server

Update an existing server

delete_server

Delete a server

bulk_import_servers

Import servers from Claude Desktop JSON format

clone_server

Copy a server config from one instance to another

list_namespaces

List all namespaces

get_namespace

Get namespace details with servers

create_namespace

Create a new namespace

update_namespace

Update a namespace

delete_namespace

Delete a namespace

get_namespace_tools

List tools in a namespace

toggle_server_in_namespace

Enable/disable a server in a namespace

toggle_tool_in_namespace

Enable/disable a specific tool in a namespace

list_endpoints

List all endpoints

get_endpoint

Get endpoint details

create_endpoint

Create a new endpoint

delete_endpoint

Delete an endpoint

list_api_keys

List all API keys

create_api_key

Create a new API key

delete_api_key

Delete an API key

get_server_tools

List tools for a specific server

Installation

npm install -g metamcp-admin-mcp

Or clone and build:

git clone https://github.com/danielrosehill/metamcp-admin-mcp.git
cd metamcp-admin-mcp
npm install
npm run build

Configuration

Single instance

export METAMCP_BASE_URL="http://localhost:12008"
export METAMCP_INSTANCE_NAME="desktop"          # optional
export METAMCP_SESSION_COOKIE="better-auth.session_token=..."  # from browser

Multiple instances

export METAMCP_INSTANCES='[
  {
    "name": "desktop",
    "baseUrl": "http://localhost:12008",
    "sessionCookie": "better-auth.session_token=..."
  },
  {
    "name": "vm",
    "baseUrl": "https://mcp.example.com",
    "sessionCookie": "better-auth.session_token=..."
  }
]'

MetaMCP uses Better Auth for session management. To get your session cookie:

  1. Open MetaMCP in your browser

  2. Open DevTools (F12) → Application → Cookies

  3. Copy the better-auth.session_token value

  4. Use it as sessionCookie in config (prefix with better-auth.session_token=)

Claude Desktop / Claude Code config

{
  "mcpServers": {
    "metamcp-admin": {
      "command": "node",
      "args": ["/path/to/metamcp-admin-mcp/dist/index.js"],
      "env": {
        "METAMCP_INSTANCES": "[{\"name\":\"desktop\",\"baseUrl\":\"http://localhost:12008\",\"sessionCookie\":\"better-auth.session_token=...\"}]"
      }
    }
  }
}

How it works

MetaMCP exposes a tRPC API for its admin frontend. This MCP server acts as a tRPC client, calling those same endpoints with session cookie authentication. This means you get the same capabilities as the MetaMCP web UI, but accessible from any MCP client.

API Coverage

Built against the MetaMCP tRPC API:

  • frontend.mcpServers.* — Full CRUD + bulk import

  • frontend.namespaces.* — Full CRUD + tool/server status management

  • frontend.endpoints.* — Full CRUD

  • frontend.apiKeys.* — Create, list, delete

  • frontend.tools.* — Query by server

License

MIT

Available Tools

26 tools
bulk_import_serversB

Bulk import MCP servers (Claude Desktop JSON format)

Inputs: servers (required), instance.

clone_serverC

Copy an MCP server config from one instance to another

Inputs: serverUuid (required), sourceInstance (required), targetInstance (required).

compare_instancesB

Compare MCP servers across all configured MetaMCP instances

Inputs: no named parameters.

create_api_keyC

Create a new API key

Inputs: name (required), instance.

create_endpointC

Create a new endpoint exposing a namespace

Inputs: name (required), namespaceUuid (required), description, enableApiKeyAuth, +2 more.

create_namespaceC

Create a new namespace

Inputs: name (required), description, mcpServerUuids, instance.

create_serverC

Create a new MCP server on a MetaMCP instance

Inputs: name (required), type (required), description, command, +6 more.

delete_api_keyC

Delete an API key

Inputs: uuid (required), instance.

delete_endpointD

Delete an endpoint

Inputs: uuid (required), instance.

delete_namespaceC

Delete a namespace

Inputs: uuid (required), instance.

delete_serverB

Delete an MCP server from a MetaMCP instance

Inputs: uuid (required), instance.

get_endpointC

Get endpoint details

Inputs: uuid (required), instance.

get_namespaceB

Get namespace details including its servers

Inputs: uuid (required), instance.

get_namespace_toolsC

List tools available in a namespace

Inputs: namespaceUuid (required), instance.

get_serverB

Get details of a specific MCP server by UUID

Inputs: uuid (required), instance.

get_server_toolsB

List tools registered for a specific MCP server

Inputs: mcpServerUuid (required), instance.

health_checkA

Check connectivity to all configured MetaMCP instances

Inputs: no named parameters.

list_api_keysB

List all API keys on a MetaMCP instance

Inputs: instance.

list_endpointsC

List all endpoints on a MetaMCP instance

Inputs: instance.

list_instancesC

List all configured MetaMCP instances

Inputs: no named parameters.

list_namespacesC

List all namespaces on a MetaMCP instance

Inputs: instance.

list_serversA

List all MCP servers on a MetaMCP instance

Inputs: instance.

toggle_server_in_namespaceB

Enable or disable a server within a namespace

Inputs: namespaceUuid (required), serverUuid (required), status (required), instance.

toggle_tool_in_namespaceC

Enable or disable a specific tool within a namespace

Inputs: namespaceUuid (required), toolUuid (required), serverUuid (required), status (required), +1 more.

update_namespaceC

Update an existing namespace

Inputs: uuid (required), name (required), description, mcpServerUuids, +1 more.

update_serverC

Update an existing MCP server

Inputs: uuid (required), name (required), type (required), description, +7 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 26 tools

    Disambiguation4/5

    Tools are clearly partitioned by resource type (servers, namespaces, endpoints, api_keys, instances) with distinct action verbs preventing overlap. Minor density exists between get_namespace and list_namespaces, but descriptions clarify that one retrieves detailed server membership while the other provides a simple listing.

    Naming Consistency5/5

    Excellent adherence to snake_case with a strict verb_noun pattern throughout all 26 tools (create_server, delete_namespace, list_api_keys, etc.). Compound verbs like bulk_import_servers and health_check follow the same convention without mixing styles or cases.

    Tool Count3/5

    With 26 tools, the surface exceeds the typical ideal range (3-15) and enters the heavy category (16-25+). While each tool earns its place covering full CRUD for four distinct resource types plus specialized operations (clone, toggle, import), the breadth creates a dense interface that approaches cognitive overload.

    Completeness4/5

    Provides comprehensive lifecycle coverage for servers and namespaces, including granular controls like toggling specific tools. Minor gaps exist for endpoints (missing update_endpoint) and API keys (lacking get single key), though these can be worked around via list operations.

    Related MCP Connectors