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-aggregation-nexus

Orchestrates connectivity across multiple Model Context Protocol (MCP) endpoints. It unifies diverse toolsets into a singular access layer, mitigating execution errors stemming from obscured tool availability and circumventing inherent system-level constraints on tool enumeration.

Author

mcp-aggregation-nexus logo

tpavelek

MIT License

Quick Info

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

Tags

mcpapishubmcp hubmcp toolmcp servers

MCP Aggregation Nexus

A central server designed to interface with and govern several underlying MCP (Model Context Protocol) instances.

Abstract

This implementation establishes a core nexus for linking disparate MCP servers, cataloging their accessible functionalities, and routing invocations through a unified command structure. Its primary utility lies in transcending the standard 40-tool limitation imposed by certain environments like Cursor. Furthermore, it enhances reliability by simplifying the exposed API surface, thereby diminishing inadvertent invocation of inappropriate utilities.

Core Capabilities

  • Automated bootstrapping of connections to remote MCP services based on configuration directives.
  • Dynamic introspection of the tool inventories resident on all linked hosts.
  • Remote tool execution routing with seamless result relay back to the caller.

Setup Directives

Integrate the following definition within your primary mcp.json manifest:

Via npx Execution

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

Via Direct Node Invocation

When iterative refinement necessitates direct execution or when npx environment caching causes issues:

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

Prerequisite: Ensure the distribution artifact is up-to-date (e.g., run npm run build or equivalent) so that dist/index.js is present.

System Protocol Mandate (AI Context Rules)

Prior to fulfilling any user directive, the designated command list_all_tools MUST be invoked to ascertain the current functional landscape.

This guarantees that the assisting agent maintains an accurate, real-time map of executable capabilities.

Deployment and Operation

Prerequisites

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

Acquisition

bash

Obtain the source code repository

git clone cd mcp-hub-mcp

Install requisite dependencies

npm install

OR

yarn install

OR

pnpm install

Compilation

bash npm run build

OR

yarn build

OR

pnpm build

Activation

bash npm start

OR

yarn start

OR

pnpm start

Iterative Development Mode

bash npm run dev

OR

yarn dev

OR

pnpm dev

Configuration Schema

The nexus employs a configuration structure analogous to the Claude Desktop model to bootstrap connections to subordinate MCP services. The specific path to this configuration file is determined via three fallback mechanisms:

  1. Environment Variable: Setting the MCP_CONFIG_PATH variable to the desired file location.
  2. Argument Override: Utilizing the --config-path command-line flag.
  3. Default Location: Searching for a file named mcp-config.json in the execution directory.

Expected Configuration File Structure:

{ "mcpServers": { "serverAlias1": { "command": "launch_directive", "args": ["param1", "param2", ...], "env": { "ENV_VAR_ID": "value_set", ... } // Optional environment variables }, "serverAlias2": { "command": "alternative_directive", "args": ["paramA", "paramB", ...] } } }

Illustrative Example:

{ "mcpServers": { "system_fs_access": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/username/DocumentsRoot", "/Users/username/SharedData" ] }, "external_api_handler": { "command": "node", "args": ["/srv/scripts/external-mcp-interface.js"] } } }

Exposed Toolset

The MCP-Nexus service exposes the following interface commands:

1. list-all-tools

Retrieves a consolidated inventory of all functions available across all affiliated servers.

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

2. call-tool

Dispatches an execution request to a specific underlying service endpoint.

  • serverName: Identifier for the target MCP instance.
  • toolName: The function to be invoked.
  • toolArgs: The parameters required by the target function.

{ "name": "call-tool", "arguments": { "serverName": "system_fs_access", "toolName": "read_file_contents", "toolArgs": { "file_path": "/Users/username/project_notes.md" } } }

Commit Protocol Standard

Adherence to Conventional Commits standard is enforced for automated version tracking and changelog generation.

Schema: <classification>(<area>): <summary_of_change>

Examples:

  • feature: integrate secure connection handshake
  • bugfix: rectify race condition during concurrent tool calls
  • docs: overhaul configuration parameter definitions
  • chore: update dependency lock files

Critical Revisions: Append BREAKING CHANGE: in the footer section to mandate a MAJOR version increment.

Classifications:

  • feature: New functionality (MINOR increment).
  • bugfix: Error resolution (PATCH increment).
  • docs: Documentation modifications only.
  • style: Formatting/cosmetic code adjustments.
  • refactor: Structural code improvements without functional change.
  • perf: Performance optimization modifications.
  • test: Addition or correction of testing artifacts.
  • chore: Build system maintenance or auxiliary utility updates.

Technology Foundation

  • Core Language Runtime: Node.js
  • Source Language: TypeScript
  • Primary SDK: @modelcontextprotocol/sdk (v: ^1.9.0)
  • Validation Utility: zod (v: ^3.22.4)

Licensing

Open Source - MIT

[Wikipedia Entry on XMLHttpRequest (XHR)]

XMLHttpRequest (XHR) represents a critical browser-side API implemented as a JavaScript object. Its methods facilitate asynchronous HTTP request transmission from the client application to the web server, enabling the reception of data post-initial page load. XHR forms the underpinning technology for the Ajax paradigm. Before Ajax, server communication relied predominantly on traditional hyperlink navigation or full-page form submissions.

== Genesis == The conceptual groundwork for XHR was pioneered around 2000 by the development team behind Microsoft Outlook. This concept first materialized within Internet Explorer 5 (released 1999). However, the initial invocation syntax deviated, utilizing COM object identifiers like ActiveXObject("Msxml2.XMLHTTP") instead of the standardized XMLHttpRequest. By the release of Internet Explorer 7 (2006), universal support for the XMLHttpRequest identifier was established across all major browser platforms, including Mozilla’s Gecko engine (2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Standardization Process === The World Wide Web Consortium (W3C) published the initial Working Draft specification for the XMLHttpRequest object on April 5, 2006. A subsequent Level 2 specification was released in February 2008, introducing capabilities for progress monitoring, enabling cross-site invocation, and handling binary data streams. By the close of 2011, the Level 2 enhancements were merged back into the primary specification document. Development stewardship transitioned to the WHATWG in late 2012, which maintains the specification as a living document expressed using Web IDL.

== Operational Flow == Executing a typical request via XMLHttpRequest involves a defined sequence of programming actions:

  1. Object Instantiation: Create an instance of the XMLHttpRequest object via its constructor.
  2. Configuration: Invoke the open() method to define the request modality (GET/POST, etc.), specify the target resource URI, and set the operation mode (synchronous or asynchronous).
  3. Listener Setup: For asynchronous operations, assign an event handler function to monitor state transitions.
  4. Transmission: Initiate the network operation by calling the send() method, optionally including payload data.
  5. Response Handling: Process state changes within the registered listener. Upon successful completion (state code 4, the "done" state), the server response body is typically accessible via the responseText property.

Beyond these core steps, XHR offers extensive control over request behavior. Custom header fields can be prepended to guide server processing. Data can be uploaded within the send() call. Responses can be automatically coerced into JavaScript objects if they are JSON-formatted, or streamed progressively. Operations can also be terminated prematurely or subjected to strict time-out constraints.

== Inter-Domain Communication ==

During the nascent stages of the World Wide Web, security restrictions were less stringent, allowing for unauthorized cross-origin access, a vulnerability that led to the implementation of the same-origin policy.

See Also

`