logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-coordination-matrix

Orchestrates and unifies connections across disparate MCP (Model Context Protocol) server instances, enabling streamlined tool access while circumventing inherent per-tool invocation quotas. This structure supports remote tool execution via linked servers and presents an aggregate inventory of all accessible functionalities.

Author

mcp-coordination-matrix logo

warpdev

MIT License

Quick Info

GitHub GitHub Stars 49
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

mcpapishubmcp serversmcp hubrequests warpdev

Deploy MCP Fabric

Integrate within VS Code

MCP-Fabric-Service

An aggregation service designed to interface with and govern a topology of multiple underlying MCP (Model Context Protocol) instances.

Synopsis

This repository establishes an MCP aggregation node that aggregates control over several distinct MCP environments via a singular command interface. Its primary utility is to mitigate overhead and resource contention (such as excessive context consumption) stemming from infrequently invoked protocols (e.g., external environment interaction tools like Playwright or specialized vendor protocols like Atlassian's). By deferring connections until operational necessity arises, it ensures the actively engaged toolset remains lean, enhancing computational efficiency and minimizing erroneous inference.

Core Capabilities

  • Automated linkage to supplementary MCP nodes based on declarative configuration data.
  • Runtime enumeration of capabilities exposed by interconnected nodes.
  • Proxied invocation of remote procedures residing on connected MCP endpoints, returning consolidated results.

Configuration Protocol

Integrate the following structure into your primary mcp.json definition:

Initialization via npx

{
  "mcpServers": {
    "remote-agent-group": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-hub-mcp",
        "--config-path",
        "/Users/username/mcp.json"
      ]
    }
  }
}

Deployment and Execution

Prerequisites

  • Runtime Environment: Node.js version 18.0.0 or superior.
  • Package Manager: npm, yarn, or pnpm.

Setup Procedure

# Obtain source code repository
git clone <repository-url>
cd mcp-hub-mcp

# Install dependencies
npm install
# OR
yarn install
# OR
pnpm install

Compilation Step

npm run build
# OR
yarn build
# OR
pnpm build

Standard Operation

npm start
# OR
yarn start
# OR
pnpm start

Iterative Development Mode

npm run dev
# OR
yarn dev
# OR
pnpm dev

Manifest File Specification

The MCP-Fabric-Service relies on a configuration schema consistent with the Claude Desktop standard for establishing remote connections dynamically. The location of this manifest can be determined via:

  1. Environmental Variable: Set the MCP_CONFIG_PATH variable to reference the required file location.
  2. Command Line Argument: Utilize the --config-path flag to designate the file path.
  3. Default Location: Search for mcp-config.json within the current execution directory.

Manifest Schema Details:

{
  "mcpServers": {
    "serverIdentifier1": {
      "command": "execution_binary",
      "args": ["argument1", "argument2", ...],
      "env": { "ENV_VAR_KEY": "variable_value", ... } // Optional environment variables
    },
    "serverIdentifier2": {
      "command": "alternative_binary",
      "args": ["arg_a", "arg_b"]
    }
  }
}

Illustrative Example:

{
  "mcpServers": {
    "local-storage-access": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/DocumentsRoot",
        "/Users/username/DownloadsArea"
      ]
    },
    "external-processor": {
      "command": "node",
      "args": ["/path/to/external/mcp-implementation.js"]
    }
  }
}

Available Operations

The MCP-Fabric-Service exposes the following operational interfaces:

1. enumerate-all-services

Retrieves a consolidated inventory of all functional units present across every connected processing node.

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

2. execute-remote-operation

Triggers a specific function on a designated networked service instance.

  • serverName: Identifier for the target MCP node.
  • toolName: Name of the required function to invoke.
  • toolArgs: Parameters payload destined for the remote function.
{
  "name": "call-tool",
  "arguments": {
    "serverName": "local-storage-access",
    "toolName": "retrieveFileContent",
    "toolArgs": {
      "path": "/Users/username/Desktop/document.log"
    }
  }
}

3. scan-services-by-pattern

Performs a regular expression-based search across the metadata (names and descriptions) of all available operational components (grep-like functionality).

  • pattern: The regular expression string used for matching.
  • searchScope: Delineates the search domain: "name", "description", or "both" (default setting).
  • isCaseSensitive: Boolean flag indicating if the search must respect case.
{
  "name": "find-tools",
  "arguments": {
    "pattern": "data-io",
    "searchScope": "both",
    "isCaseSensitive": false
  }
}

Illustrative Search Patterns: - "read_op" - Locate all operations containing the substring "read_op" - "^init" - Find operations beginning with "init" - "(retrieve|persist).*data" - Match operations related to retrieving or saving data entities - "schema$" - Find operations whose names conclude with "schema"

Hypothetical Execution Result:

{
  "local-storage-access": [
    {
      "name": "retrieveFileContent",
      "description": "Fetch the raw textual content from a specified filesystem location",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Absolute or relative pathname of the target file"
          }
        },
        "required": ["path"]
      }
    },
    {
      "name": "persistContentToFile",
      "description": "Write provided data payload to a designated file path",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Target file system address"
          },
          "content": {
            "type": "string",
            "description": "The serialized data block intended for storage"
          }
        },
        "required": ["path", "content"]
      }
    }
  ]
}

Commit Messaging Standards

This project adheres to the Conventional Commits specification to enable automated release tracking and documentation generation.

Format: <type>(<context>): <summary>

Examples:

  • feat(hub): introduce cross-server invocation capability
  • fix(config): correct parsing error during startup
  • docs(readme): enhance installation guide clarity
  • chore(deps): update underlying npm package versions

Type Definitions:

  • feat: Introduction of a new functional enhancement (triggers MINOR version increment).
  • fix: Resolution of a defect (triggers PATCH version increment).
  • docs: Modifications limited strictly to documentation.
  • style: Cosmetic code adjustments that impart no semantic alteration.
  • refactor: Restructuring of code logic without changing external behavior or fixing defects.
  • perf: Optimizations targeting execution speed or resource utilization.
  • test: Addition or correction of automated validation routines.
  • chore: Maintenance tasks concerning the build pipeline or auxiliary scripts.

Major Revisions: Include BREAKING CHANGE: in the commit footer narrative to mandate a MAJOR version upgrade.

Supplementary References

Licensing

Proprietary Rights (MIT)

WIKIPEDIA: XMLHttpRequest (XHR) serves as an Application Programming Interface embodied by a JavaScript entity capable of dispatching Hypertext Transfer Protocol queries from a web browsing environment to a remote web host. These methods empower browser-based logic to transmit requests subsequent to page rendering completion and assimilate subsequent information. XHR forms a fundamental pillar of Ajax methodologies. Before Ajax prevalence, resource retrieval relied primarily on standard hyperlinks and form submissions, often necessitating a full page reload.

== Genesis == The foundational concept underpinning XMLHttpRequest was formulated around the year 2000 by personnel involved in the Microsoft Outlook suite development. This concept was subsequently integrated into the Internet Explorer 5 browser release (1999). However, the initial syntactic definition did not employ the specific 'XMLHttpRequest' identifier. Instead, developers utilized 'ActiveXObject("Msxml2.XMLHTTP")' and 'ActiveXObject("Microsoft.XMLHTTP")'. Presently, as of IE7 (2006), all major web rendering engines incorporate support for the standardized XMLHttpRequest identifier. The XMLHttpRequest identifier has now become the established benchmark across all principal browser platforms, including Mozilla's Gecko rendering pipeline (2002), Apple's Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Trajectory === The World Wide Web Consortium (W3C) formally issued a Working Draft specification for the XMLHttpRequest object on April 5, 2006. On February 25, 2008, the W3C published the subsequent Level 2 Working Draft specification. Level 2 introduced enhanced capabilities such as event progress monitoring, support for requests spanning different security domains (cross-site), and mechanisms for handling raw byte sequences. By the close of 2011, the Level 2 specification documentation was merged back into the primary specification document. As of the end of 2012, development authority transitioned to the WHATWG group, which now maintains a continuously evolving document utilizing the Web IDL notation.

== Operational Flow == Generally, dispatching a request using XMLHttpRequest necessitates adherence to several sequential programming phases.

  1. Instantiate an XMLHttpRequest object via constructor invocation:
  2. Invoke the "open" method to define the transaction type, specify the target resource URI, and select either synchronous or asynchronous execution mode:
  3. For asynchronous operations, attach a handler function designed to trigger upon changes to the request's transactional state:
  4. Commence the transmission sequence by calling the "send" method:
  5. Process state transitions within the registered event listener. Upon reception of response data from the server, it is typically aggregated within the "responseText" attribute by default. When the transaction completes its processing cycle, the state transitions to 4, indicating the "done" status. Beyond these fundamental steps, XMLHttpRequest furnishes extensive configuration parameters to dictate request handling and response parsing. Custom header fields can be prepended to the outgoing request to influence server behavior, and data payloads can be transferred to the server provided within the "send" call arguments. The received response data stream can be deserialized from JSON format directly into a consumable JavaScript structure, or processed incrementally as segments arrive, circumventing the need to wait for total reception. Furthermore, the transaction can be terminated prematurely, or configured to automatically fail if a time limit is exceeded.

== Inter-Domain Transactions ==

See Also

`