Skip to main content
Glama

免责声明

好吧,这个问题有点难。很遗憾,需要一些设置。不过,如果你能把这个问题简化一下,请给我发个 PR。

mcp-inception MCP 服务器

从您的 mcp 客户端调用另一个 mcp 客户端。委托任务,卸载上下文窗口。为您的代理提供代理!

这是一个基于 TypeScript 的 MCP 服务器,实现了一个简单的 LLM 查询系统。

  • MCP 服务器和客户端合二为一

  • 使用mcp-client-cli制作

  • 卸载上下文窗口

  • 委派任务

  • 任务的并行和 Map-Reduce 执行

特征

工具

  • execute_mcp_client - 向单独的 LLM 提出问题,忽略查询其工具时所需的所有中间步骤,并返回输出。

    • 将问题作为必需参数

    • 返回答案,忽略所有中间上下文

  • 执行_parallel_mcp_client - 获取输入列表和主提示符,并针对输入中的每个字符串并行执行提示符。例如,获取 6 个主要城市的当前时间:伦敦、巴黎、东京、里约、纽约、悉尼。

    • 接受主要提示“这个城市的时间是几点?”

    • 获取输入列表,伦敦巴黎等

    • 为每个输入并行运行提示

    • 注意:使用此功能前请等待

  • execute_map_reduce_mcp_client - 并行处理多个项目,然后按顺序将结果减少为单个输出。

    • 使用mapPrompt和{item}占位符来处理单个项目

    • 使用reducePrompt和{accumulator}以及{result}占位符来合并结果

    • 获取要处理的items清单

    • 累加器的可选initialValue

    • 并行处理项目,然后按顺序减少结果

    • 用例示例:分析多个文档,然后将所有文档中的关键见解综合成摘要

Related MCP server: Orchestration MCP

发展

依赖项:

  • 安装 mcp-client-cli

    • 还要安装配置文件,以及~/.llm/config.json中所需的 mcp 服务器

  • 在某处创建一个 bash 文件,用于激活 venv 并执行llm可执行文件

#!/bin/bash
source ./venv/bin/activate
llm --no-confirmations

安装包

安装依赖项:

npm install

构建服务器:

npm run build

对于使用自动重建的开发:

npm run watch

安装

要与 Claude Desktop 一起使用,请添加服务器配置:

在 MacOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json在 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"
      }
    }
  }
}

调试

由于 MCP 服务器通过 stdio 进行通信,调试起来可能比较困难。我们推荐使用MCP Inspector ,它以包脚本的形式提供:

npm run inspector

检查器将提供一个 URL 来访问浏览器中的调试工具。

Available Tools

3 tools
execute_map_reduce_mcp_clientC

Process multiple items in parallel then sequentially reduce the results to a single output.

ParametersJSON Schema
NameRequiredDescriptionDefault
mapPromptYesTemplate prompt for processing each individual item. Use {item} as placeholder for the current item.
reducePromptYesTemplate prompt for reducing results. Use {accumulator} and {result} as placeholders.
initialValueNoInitial value for the accumulator (optional).
itemsYesArray of items to process.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions parallel processing and sequential reduction, but lacks details on execution limits (e.g., rate limits, concurrency), error handling, or output format. For a tool with 4 parameters and no output schema, this is insufficient to inform safe or effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core functionality. Every word earns its place by concisely explaining the two-phase process, with no redundant or vague language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (map-reduce with 4 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like performance, errors, or result format, which are critical for an agent to use this tool correctly in context with siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no parameter-specific semantics beyond implying a map-reduce workflow, which is already suggested by parameter names like 'mapPrompt' and 'reducePrompt'. Thus, it meets the baseline of 3 without compensating for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Process multiple items in parallel then sequentially reduce the results to a single output.' This specifies the verb ('process' and 'reduce') and resource ('multiple items'), but doesn't explicitly distinguish it from sibling tools like 'execute_parallel_mcp_client' or 'execute_mcp_client', which likely have different processing patterns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings ('execute_mcp_client' and 'execute_parallel_mcp_client'). It implies usage for parallel processing followed by reduction, but doesn't specify alternatives, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_mcp_clientB

Offload certain tasks to AI. Used for research purposes, do not use for code editing or anything code related. Only used to fetch data.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe MCP client command to execute

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions 'offload tasks to AI' and 'fetch data', but doesn't disclose behavioral traits such as what types of tasks are supported, how data is fetched, potential side effects, error handling, or performance characteristics. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with no wasted words, making it efficient. However, it could be more front-loaded by stating the core purpose first, and some phrases like 'Used for research purposes' are a bit vague, but overall it's appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and a single parameter with good schema coverage, the description is incomplete. It lacks details on what the tool actually does beyond 'fetch data', how it interacts with AI, what results to expect, or how it differs from siblings. For a tool named 'execute_mcp_client', this leaves too much ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 100% description coverage, so the schema already documents the 'command' parameter. The description doesn't add any meaning beyond the schema, such as examples of valid commands or how they relate to 'offloading tasks'. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool 'offload certain tasks to AI' and 'fetch data', which gives a general purpose but lacks specificity about what 'tasks' or 'data' means. It distinguishes from siblings by mentioning 'do not use for code editing', but doesn't clearly define what it does do versus what siblings do. The purpose is vague rather than specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use ('for research purposes', 'fetch data') and explicit exclusions ('do not use for code editing or anything code related'). However, it doesn't mention alternatives or compare with sibling tools like execute_map_reduce_mcp_client or execute_parallel_mcp_client, so it's not fully explicit about when to choose this over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_parallel_mcp_clientC

Execute multiple AI tasks in parallel, with responses in JSON key-value pairs.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe base prompt to use for all executions
itemsYesArray of parameters to process in parallel

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that execution is parallel and responses are in JSON key-value pairs, which adds some behavioral context. However, it lacks details on error handling, performance implications (e.g., rate limits, timeouts), authentication needs, or side effects. For a tool executing multiple AI tasks, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key information: parallel execution and JSON responses. There is no wasted text, and it directly communicates the core functionality without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of executing multiple AI tasks in parallel, with no annotations and no output schema, the description is incomplete. It doesn't explain the return structure beyond 'JSON key-value pairs,' error cases, or how parallelism is managed. For a tool with potential concurrency and AI task execution nuances, more context is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('prompt' as the base prompt and 'items' as an array of parameters). The description adds minimal value beyond the schema by implying that 'items' are processed in parallel, but it doesn't provide additional syntax, format details, or usage examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute multiple AI tasks in parallel, with responses in JSON key-value pairs.' It specifies the verb 'execute' and resource 'AI tasks,' with the parallel execution and JSON output format. However, it doesn't explicitly distinguish from sibling tools like 'execute_map_reduce_mcp_client' or 'execute_mcp_client,' which likely have different execution patterns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings. It mentions parallel execution and JSON responses but doesn't specify scenarios, prerequisites, or alternatives. For example, it doesn't clarify if this is for batch processing, real-time tasks, or how it differs from 'execute_mcp_client' (likely sequential).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 3 tool updates
    • First observedexecute_map_reduce_mcp_client
    • First observedexecute_mcp_client
    • First observedexecute_parallel_mcp_client

TDQS

C2.9/5.0

Scored across 3 tools

Disambiguation2/5

The three tools have overlapping purposes centered around executing MCP client tasks, with unclear boundaries. execute_map_reduce_mcp_client and execute_parallel_mcp_client both handle parallel execution, while execute_mcp_client is described more broadly for offloading tasks, leading to potential confusion about when to use each.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with a 'execute_' prefix, making them predictable and readable. The naming structure is uniform across the set, with no deviations in style or convention.

Tool Count3/5

With only 3 tools, the set feels thin for a server named 'MCP Inception MCP Server', which suggests a broader scope. While the tools cover parallel and sequential execution, the limited count may not fully support complex workflows or diverse use cases implied by the server name.

Completeness2/5

The tool set is severely incomplete for an MCP server, lacking basic operations like configuration, monitoring, or error handling. It focuses narrowly on execution variants without covering setup, management, or integration aspects, leaving significant gaps for agent-driven tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript-based server that connects MCP Clients to Dify applications, dynamically exposing Dify applications as tools that can be used directly within the MCP Client.
    10 npm
    5
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A TypeScript MCP server for launching, tracking, and managing external coding-agent runs across local and remote backends like Codex and Claude Code. It allows top-level agents to orchestrate subagents through tools for spawning tasks, polling events, and handling interactive sessions.
    7
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A self-hosted MCP server that provides a single execute_code tool, enabling agents to write TypeScript to call multiple REST APIs via fetch() with transparent credential injection, reducing token usage by keeping intermediate results in the sandbox.
    11
    BSD 3-Clause
  • F
    license
    Not graded
    quality
    C
    maintenance
    A TypeScript gateway that aggregates multiple MCP servers into a single endpoint, enabling AI agents to access tools from many backends through one connection.
    25 npm
    2
    -