MCP Hub
Back to servers

@yawlabs/mcph

mcp.hosting — one install, all your MCP servers, managed from the cloud

npm108/wk
Updated
Apr 13, 2026

Quick Install

npx -y @yawlabs/mcph

@yawlabs/mcph

One install. All your MCP servers. Managed from the cloud.

mcph is an MCP server that orchestrates all your other MCP servers. Configure your servers once on mcp.hosting, install mcph in your client, and never hand-edit MCP JSON configs again.

How it works

Your MCP client (Claude Code, Cursor, etc.)
    |
    |  single stdio connection
    v
@yawlabs/mcph
    |         |         |
    v         v         v
  GitHub    Slack    Stripe     ← your MCP servers (local or remote)
  1. You add servers on mcp.hosting (name, command, args, env vars)
  2. mcph pulls your config on startup
  3. You use 3 meta-tools to control which servers are active:
    • mcp_connect_discover — list all configured servers
    • mcp_connect_activate — connect a server and load its tools
    • mcp_connect_deactivate — disconnect and remove tools

Only activated servers load tools into context. This keeps your context window clean.

Install

Claude Code

{
  "mcpServers": {
    "mcph": {
      "command": "npx",
      "args": ["-y", "@yawlabs/mcph"],
      "env": {
        "MCPH_TOKEN": "mcp_pat_your_token_here"
      }
    }
  }
}

Cursor / VS Code

Add to your MCP settings:

{
  "mcph": {
    "command": "npx",
    "args": ["-y", "@yawlabs/mcph"],
    "env": {
      "MCPH_TOKEN": "mcp_pat_your_token_here"
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "mcph": {
      "command": "npx",
      "args": ["-y", "@yawlabs/mcph"],
      "env": {
        "MCPH_TOKEN": "mcp_pat_your_token_here"
      }
    }
  }
}

Getting your token

  1. Sign up at mcp.hosting
  2. Go to Settings > API Tokens
  3. Create a token — it starts with mcp_pat_
  4. Add it to your MCP client config as shown above

Adding servers

On mcp.hosting, add each MCP server you want to orchestrate:

FieldDescription
NameDisplay name (e.g., "GitHub")
NamespaceShort prefix for tool names (e.g., "gh")
Typelocal (stdio) or remote (HTTP)
CommandFor local: the command to run (e.g., "npx")
ArgsFor local: command arguments (e.g., ["-y", "@modelcontextprotocol/server-github"])
EnvEnvironment variables (API keys, tokens)
URLFor remote: the server URL

Usage

Once configured, your LLM will see three tools. Here's the typical flow:

1. Discover servers

> What MCP servers do I have?

Available MCP servers:

  gh — GitHub [available] (local)
  slack — Slack [available] (local)
  stripe — Stripe [available] (local)

0 active, 0 tools loaded.

2. Activate what you need

> Activate my GitHub server

Activated "gh" — 24 tools available: gh_create_issue, gh_list_prs, ...

You can also activate multiple servers at once:

> Activate GitHub and Slack

Activated "gh" — 24 tools available: gh_create_issue, gh_list_prs, ...
Activated "slack" — 8 tools available: slack_send_message, slack_list_channels, ...

The tool list updates automatically via tools/list_changed. Your client will see the new tools immediately.

3. Use the tools

> List my open PRs

[gh_list_prs is called, returns results]

Tools are namespaced: {namespace}_{original_tool_name}. This prevents collisions between servers.

4. Deactivate when done

> Deactivate GitHub

Deactivated "gh". Tools removed.

This frees up context for other tools.

Config sync

mcph polls mcp.hosting every 60 seconds for config changes. When you add, remove, or modify a server on the dashboard, mcph picks it up automatically — no restart needed.

Environment variables

VariableRequiredDescription
MCPH_TOKENYesYour personal access token from mcp.hosting
MCPH_URLNoAPI URL (default: https://mcp.hosting)
LOG_LEVELNoLog verbosity: debug, info, warn, error (default: info)
MCP_CONNECT_TIMEOUTNoConnection timeout in ms for upstream servers (default: 15000)
MCP_CONNECT_IDLE_THRESHOLDNoTool calls to other servers before auto-deactivating an idle server (default: 10)

Requirements

Links

Reviews

No reviews yet

Sign in to write a review