Skip to main content
Glama

MCP-Hub-MCP Server

A hub server that connects to and manages other MCP (Model Context Protocol) servers.

Overview

This project builds an MCP hub server that can connect to other MCP servers, list their tools, and execute them. It is especially useful for bypassing Cursor's 40-tool MCP limit. Even outside of Cursor, it helps reduce AI mistakes by hiding infrequently used tools.

Related MCP server: MCP Hub MCP Server

Key Features

  • Automatic connection to other MCP servers via configuration file

  • List available tools on connected servers

  • Call tools on connected servers and return results

Configuration

Add this to your mcp.json:

Using npx

{
  "mcpServers": {
    "mcp-hub": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-hub-mcp",
        "--config-path",
        "/path/to/your/mcp-hub-config.json"
      ]
    }
  }
}

Using Node (e.g., for local development or direct execution)

If npx isn't picking up your local changes or you prefer to run the built server directly, you can configure it like this:

{
  "mcpServers": {
    "mcp-hub": {
      "command": "node",
      "args": [
        "/path/to/your/mcp-hub-mcp/dist/index.js",
        "--config-path",
        "/path/to/your/mcp-hub-config.json"
      ]
    }
  }
}

Note: Ensure you have built the project (e.g., npm run build or pnpm build) so that dist/index.js exists.

System Prompt (or Cursor Rules)

Before processing a user's request, you must use the "list_all_tools" command to identify which tools are available.

This ensures that the AI assistant will always check available tools before attempting to use them.

Installation and Running

Requirements

  • Node.js 18.0.0 or higher

  • npm, yarn, or pnpm

Installation

# Clone repository
git clone <repository-url>
cd mcp-hub-mcp

# Install dependencies
npm install
# or
yarn install
# or
pnpm install

Build

npm run build
# or
yarn build
# or
pnpm build

Run

npm start
# or
yarn start
# or
pnpm start

Development Mode

npm run dev
# or
yarn dev
# or
pnpm dev

Configuration File

The MCP-Hub-MCP server uses a Claude Desktop format configuration file to automatically connect to other MCP servers. You can specify the configuration file in the following ways:

  1. Environment variable: Set the MCP_CONFIG_PATH environment variable to the configuration file path

  2. Command line argument: Use the --config-path option to specify the configuration file path

  3. Default path: Use mcp-config.json file in the current directory

Configuration file format:

{
  "mcpServers": {
    "serverName1": {
      "command": "command",
      "args": ["arg1", "arg2", ...],
      "env": { "ENV_VAR1": "value1", ... }
    },
    "serverName2": {
      "command": "anotherCommand",
      "args": ["arg1", "arg2", ...]
    }
  }
}

Example:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    },
    "other-server": {
      "command": "node",
      "args": ["path/to/other-mcp-server.js"]
    }
  }
}

Usage

The MCP-Hub-MCP server provides the following tools:

1. list-all-tools

Returns a list of tools from all connected servers.

{
  "name": "list-all-tools",
  "arguments": {}
}

2. call-tool

Calls a tool on a specific server.

  • serverName: Name of the MCP server to call the tool from

  • toolName: Name of the tool to call

  • toolArgs: Arguments to pass to the tool

{
  "name": "call-tool",
  "arguments": {
    "serverName": "filesystem",
    "toolName": "readFile",
    "toolArgs": {
      "path": "/Users/username/Desktop/example.txt"
    }
  }
}

Commit Message Convention

This project follows Conventional Commits for automatic versioning and CHANGELOG generation.

Format: <type>(<scope>): <description>

Examples:

  • feat: add new hub connection feature

  • fix: resolve issue with server timeout

  • docs: update API documentation

  • chore: update dependencies

Types:

  • feat: New feature (MINOR version bump)

  • fix: Bug fix (PATCH version bump)

  • docs: Documentation only changes

  • style: Changes that do not affect the meaning of the code

  • refactor: Code change that neither fixes a bug nor adds a feature

  • perf: Code change that improves performance

  • test: Adding missing tests or correcting existing tests

  • chore: Changes to the build process or auxiliary tools

Breaking Changes: Add BREAKING CHANGE: in the commit footer to trigger a MAJOR version bump.

Tech Stack

  • Node.js

  • TypeScript

  • @modelcontextprotocol/sdk (version: ^1.9.0)

  • zod (version: ^3.22.4)

License

MIT

Available Tools

2 tools
call-toolC

Call a specific tool from a specific server

Inputs: serverName (required), toolName (required), toolArgs (required).

list-all-toolsA

List all available tools from all connected servers. Before starting any task based on the user's request, always begin by using this tool to get a list of any additional tools that may be available for use.

Inputs: no named parameters.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have completely distinct purposes with no overlap: one is for calling specific tools from servers, while the other is for listing all available tools. An agent can easily tell them apart as they serve different functions in the tool management workflow.

    Naming Consistency4/5

    The tool names follow a consistent verb_noun pattern (call-tool, list-all-tools) with clear actions and objects. The hyphenated style is used consistently, though 'list-all-tools' includes a modifier ('all') which is a minor deviation from a pure verb_noun structure.

    Tool Count2/5

    With only 2 tools, the server feels thin for its apparent purpose of managing MCP tools across servers. While it covers basic operations (call and list), more comprehensive tool management (e.g., discover servers, configure connections) is missing, making the scope underdeveloped.

    Completeness2/5

    The tool surface is severely incomplete for managing an MCP hub. It lacks essential operations such as discovering or connecting to servers, managing server configurations, or handling errors. The two tools provide only minimal functionality, leaving significant gaps that will hinder agent workflows.

    Related MCP Connectors

    Related MCP Servers