mcp-inception

MCP.Pizza Chef: tanevanwifferen

mcp-inception is an MCP client designed to call and delegate tasks to other MCP clients, enabling offloading of context windows and parallel or map-reduce execution of tasks. It acts as an agent for your agent, facilitating complex workflows by splitting tasks between models and managing multi-step reasoning across clients. Built with TypeScript and leveraging mcp-client-cli, it simplifies scaling LLM interactions and task delegation within MCP ecosystems.

Use This MCP client To

Delegate complex queries to specialized MCP clients Offload large context windows to separate clients Execute parallel or map-reduce style task workflows Chain multiple MCP clients for multi-step reasoning Split tasks between different LLM models efficiently Manage and orchestrate multi-client LLM interactions

README

Disclaimer

Ok this is a difficult one. Will take some setting up unfortunately. However, if you manage to make this more straightforward, please send me PR's.

mcp-inception MCP Server

Call another mcp client from your mcp client. Delegate tasks, offload context windows. An agent for your agent!

This is a TypeScript-based MCP server that implements a simple LLM query system.

  • MCP Server and Client in one
  • Made with use of mcp-client-cli
  • Offload context windows
  • Delegate tasks
  • Parallel and map-reduce execution of tasks

Inception Server MCP server

Features

Tools

  • execute_mcp_client - Ask a question to a separate LLM, ignore all the intermediate steps it takes when querying it's tools, and return the output.
    • Takes question as required parameters
    • Returns answer, ignoring all the intermediate context
  • execute_parallel_mcp_client - Takes a list of inputs and a main prompt, and executes the prompt in parallel for each string in the input. E.G. get the time of 6 major cities right now - London, Paris, Tokyo, Rio, New York, Sidney.
    • takes main prompt "What is the time in this city?"
    • takes list of inputs, London Paris etc
    • runs the prompt in parallel for each input
    • note: wait for this before using this feature
  • execute_map_reduce_mcp_client - Process multiple items in parallel and then sequentially reduce the results to a single output.
    • Takes mapPrompt with {item} placeholder for individual item processing
    • Takes reducePrompt with {accumulator} and {result} placeholders for combining results
    • Takes list of items to process
    • Optional initialValue for the accumulator
    • Processes items in parallel, then sequentially reduces results
    • Example use case: Analyze multiple documents, then synthesize key insights from all documents into a summary

Development

Dependencies:

  • Install mcp-client-cli
    • Also install the config file, and the mcp servers it needs in ~/.llm/config.json
  • create a bash file somewhere that activates the venv and executes the llm executable
#!/bin/bash
source ./venv/bin/activate
llm --no-confirmations

install package

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-inception": {
      "command": "node",
      "args": ["~/Documents/Cline/MCP/mcp-inception/build/index.js"], // build/index.js from this repo
      "disabled": false,
      "autoApprove": [],
      "env": {
        "MCP_INCEPTION_EXECUTABLE": "./run_llm.sh", // bash file from Development->Dependencies
        "MCP_INCEPTION_WORKING_DIR": "/mcp-client-cli working dir"
      }
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

mcp-inception FAQ

How does mcp-inception handle task delegation?
It calls other MCP clients to process tasks, returning only final answers.
Can mcp-inception run tasks in parallel?
Yes, it supports parallel and map-reduce execution of tasks across clients.
Is mcp-inception both a client and a server?
Yes, it functions as both to facilitate communication between MCP clients.
What programming language is mcp-inception built with?
It is built using TypeScript and uses the mcp-client-cli framework.
How does mcp-inception help with context window limits?
It offloads large context windows to other MCP clients to avoid hitting limits.
Can mcp-inception integrate with multiple LLM providers?
Yes, it can delegate tasks to clients using OpenAI, Claude, Gemini, and others.
Is setting up mcp-inception complex?
It requires some configuration but enables powerful multi-client orchestration once set up.
Does mcp-inception return intermediate tool steps from delegated clients?
No, it returns only the final output, ignoring intermediate steps.