impart-mcp
Integrates with Vercel's Codex CLI and AI SDK, enabling the MCP server to use Codex agents (e.g., codex/gpt-5.2) for high-difficulty engineering tasks and architecture analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@impart-mcpResearch the latest trends in microservices architecture using the researcher agent."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Impart MCP (Agent Orchestration Layer)
impart-mcp 是一个基于 Model Context Protocol (MCP) 的智能体编排服务器。它充当「Agent 编排层」,将具备高度工程化能力的专家智能体(如 Claude Code, Codex CLI 等)封装为标准 MCP 工具,使宿主环境(Claude Desktop, Cursor 等)能够通过统一接口调用这些具备复杂任务处理能力的「超级 Agent」。
🚀 核心特性
多智能体编排:内置 5 种预设专家提示词和工具权限的专业 Agent。
跨平台集成:完美适配 Claude Desktop, Cursor, Gemini CLI 等支持 MCP 的环境。
异步任务处理:支持耗时任务的后台运行与结果轮询。
混合模型供应商:集成 Vercel AI SDK,支持 Claude Code、Codex CLI 和 Gemini CLI 驱动的 Agent。
灵活配置:通过 JSON 配置文件自定义每个 Agent 的模型、开关及参数。
Related MCP server: Agentic Control Framework (ACF)
🛠️ 专家智能体 (Agents)
Agent 名称 | 核心定位 | 默认模型 | 权限 |
Advisor | 架构与调试专家,处理高难度工程问题 |
| Read-only |
Researcher | 代码研究专家,擅长跨仓搜索与文档分析 |
| Read-only |
Explore | 代码定位专家,快速回答「某逻辑在哪里」 |
| Read-only |
Frontend Engineer | UI/UX 实现专家,独立完成高保真组件 |
| Read-write |
Document Writer | 技术文档专家,撰写清晰的规范文档 |
| Read-write |
📦 安装说明
方式一:npx 直接运行(推荐)
无需安装,直接在 MCP 配置中使用:
npx impart-mcp@latest方式二:全局安装
npm install -g impart-mcp
# 或
bun add -g impart-mcp方式三:从源码安装
git clone <repository-url>
cd impart-mcp
bun install # 或 npm install
bun run build # 构建产物🔌 使用集成
配置到 Cursor
打开 Cursor 设置 -> Features -> MCP。
添加新的 MCP Server。
Name:
impart-mcpType:
commandCommand:
npx impart-mcp@latest(或全局安装后直接使用impart-mcp)
配置到 Claude Code
使用 claude mcp add 命令一键添加:
claude mcp add impart-mcp -- npx impart-mcp@latest或全局安装后:
claude mcp add impart-mcp -- impart-mcp⚙️ 配置说明
默认情况下,所有 Agent 使用内置的默认配置即可运行,无需额外配置。
自定义配置(可选)
如需自定义 Agent 的模型或开关,可通过环境变量 AGENT_CONFIG_PATH 指定配置文件路径:
{
"mcpServers": {
"impart-mcp": {
"command": "npx",
"args": ["impart-mcp@latest"],
"env": {
"AGENT_CONFIG_PATH": "/path/to/your/agent-config.json"
}
}
}
}自动初始化:若指定的配置文件不存在,系统会在首次运行时自动生成包含所有默认值的配置模板,方便你按需修改。
配置文件示例 (agent-config.json):
{
"advisor": {
"model": "codex/gpt-5.2",
"enabled": true
},
"researcher": {
"model": "claude/sonnet",
"enabled": true
},
"frontend-ui-ux-engineer": {
"model": "gemini/gemini-3-pro-preview",
"enabled": true
}
}📋 API 文档 (MCP Tools)
服务器提供了以下核心工具:
工具名称 | 类型 | 描述 |
| 同步 | 阻塞式调用,适用于需要立即验证结果的场景 |
| 异步 | 后台启动任务,返回 |
| 查询 | 获取异步任务状态,支持 |
| 批量 | 并行调用多个 Agent,阻塞直到所有任务完成 |
参数说明
call_agent / call_agent_async:
agent:Agent 名称枚举 (advisor|researcher|explore|frontend-ui-ux-engineer|document-writer)prompt:任务描述cwd:工作目录(必填)context:可选上下文信息
👨💻 开发说明
命令 | 描述 |
| 启动服务(Bun 运行时) |
| 开发模式(支持热重载) |
| 构建产物到 |
| 启动服务(Node.js 运行时) |
核心逻辑路径
文件 | 职责 |
| MCP 协议处理与工具注册 |
| Agent 的 System Prompt 及行为定义 |
| 模型供应商适配逻辑 |
| 全局类型定义 |
📄 许可证
Available Tools
4 toolscall_agentA
Synchronous single agent call (BLOCKING, 30-120s).
⚠️ STOP: Choose the Right Tool First
Decision Tree:
Need to run explore/researcher? → Use
call_agent_async(NEVER this tool)Need multiple agents in parallel? → Use
call_agent_async× N, NOTcall_agents_batchNeed advisor advice or must verify result immediately? → Use this tool
Why async for search agents?
explore/researcher may take 30-120s each
Blocking wastes your time waiting
Async lets you continue working while agents search
Available Agents
advisor: Read-only consultation agent. High-IQ reasoning specialist for debugging hard problems and high-difficulty architecture design.
researcher: Specialized codebase understanding agent for multi-repository analysis, searching remote codebases, retrieving official documentation, and finding implementation examples.
explore: Contextual grep for codebases. Answers "Where is X?", "Which file has Y?", "Find the code that does Z".
frontend-ui-ux-engineer: A designer-turned-developer who crafts stunning UI/UX even without design mockups. Code may be a bit messy, but the visual output is always fire.
document-writer: A technical writer who crafts clear, comprehensive documentation. Specializes in README files, API docs, architecture docs, and user guides.
Agent → Tool Mapping
Agent | Tool | Reason |
advisor |
| Need result immediately |
researcher |
| Search task, run in background |
explore |
| Search task, run in background |
frontend-ui-ux-engineer |
| Need result immediately |
document-writer |
| Need result immediately |
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Working directory for the agent (required) | |
| agent | Yes | The agent to use: advisor | researcher | explore | frontend-ui-ux-engineer | document-writer | |
| images | No | Base64 encoded images (only for multimodal-looker) | |
| prompt | Yes | The prompt/task for the agent | |
| context | No | Additional context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses that the call is blocking, takes 30-120s, and that advisor is read-only. However, it does not describe the return value shape, error behavior, or whether the agent can mutate files, which limits full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key blocking behavior and then uses headers, a decision tree, and a table for efficient scanning. It is somewhat long, but most content earns its place by directly informing tool selection; the 'Why async for search agents?' section is slightly redundant with the decision tree.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description does substantial work by covering routing, agent roles, and timing expectations. It lacks an explicit statement of the return value or post-call behavior, which would make it fully complete. Overall, it is highly informative but has a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds significant semantic value by detailing each agent's role and pairing them with the appropriate call mode. It does not enrich prompt/context/images beyond the schema, but the agent-level detail meaningfully helps invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Synchronous single agent call (BLOCKING, 30-120s)', which precisely names the action, resource, and blocking behavior. It clearly distinguishes from async siblings by stating what this tool is used for versus call_agent_async, and the mapping table reinforces the exact agent-to-tool pairing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The decision tree provides explicit when-to-use and when-not-to-use guidance, including 'NEVER this tool' for explore/researcher and alternatives like call_agent_async and call_agents_batch. The Agent → Tool Mapping table further clarifies which agents should use this tool synchronously.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_agent_asyncA
Start agent task in background (NON-BLOCKING). Returns task_id immediately.
✅ Recommended for explore/researcher
Workflow:
call_agent_async→ get task_id instantlyContinue your work (read files, think, etc.)
get_agent_result(task_id, block=true)when ready
Why async is better:
No wasted waiting time
Can launch multiple searches in parallel
Check results when YOU need them
Parallel search pattern:
call_agent_async(explore, "Find X") → task_1
call_agent_async(researcher, "Find Y") → task_2
... do other work ...
get_agent_result(task_1, block=false)
get_agent_result(task_2, block=false)
... do other work ...
get_agent_result(task_1, block=true)
get_agent_result(task_2, block=true)| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Working directory for the agent | |
| agent | Yes | The agent to use: advisor | researcher | explore | frontend-ui-ux-engineer | document-writer | |
| prompt | Yes | The prompt/task for the agent | |
| context | No | Additional context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly discloses the NON-BLOCKING behavior, immediate return of task_id, and the necessity of later calling get_agent_result. It also demonstrates parallel usage. It does not cover failure modes or error handling, but the core behavioral traits are well addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Workflow, Why async is better, Parallel search pattern) and front-loads the key behavior. It is slightly longer than necessary, but each section contributes to understanding the tool's usage pattern.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async launch tool without an output schema, the description is remarkably complete. It covers the return value (task_id), the full workflow including how to retrieve results with get_agent_result, and demonstrates a parallel search pattern. It integrates well with sibling tools and addresses the uncertainty of async behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all four parameters (agent, prompt, cwd, context). The description adds a usage example mapping agent and prompt to positional arguments, but does not enrich the meaning of cwd or context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts an agent task in the background (NON-BLOCKING) and returns a task_id immediately. This specific verb+resource+behavior distinguishes it from siblings like call_agent (likely synchronous) and aligns with get_agent_result for retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear workflow (start task, continue work, retrieve result with get_agent_result) and explains why async is better for parallel searches. It recommends this tool for explore/researcher use cases, but does not explicitly state when NOT to use it (e.g., when immediate results are needed versus call_agent).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_agents_batchA
Execute multiple agents in PARALLEL (BLOCKING until ALL complete).
⚠️ Usually NOT what you want
Prefer call_agent_async × N instead:
Async returns immediately, you can continue working
Batch blocks until the SLOWEST agent finishes
If one agent takes 2min, you wait 2min doing nothing
Only use batch when:
You MUST have ALL results before ANY next step
Results are interdependent (rare)
You're okay blocking for potentially minutes
Example (usually wrong):
{ "calls": [{ "agent": "explore", ... }, { "agent": "researcher", ... }] }↑ This blocks until both finish. Use call_agent_async × 2 instead.
Example (correct use case): Comparing outputs from multiple agents where you need all results simultaneously.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | Yes | Working directory for all agents (required) | |
| calls | Yes | Array of agent calls to execute in parallel (1-10 calls) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It fully discloses blocking behavior, parallel execution, and the risk of waiting for the slowest agent. It doesn't cover failure modes or return details, but core behavioral traits are clearly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than ideal but well-structured with headings and examples. The warning section is impactful, and the examples illustrate misuse and correct use. However, it could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description explains blocking semantics, parallel execution, and appropriate use cases. It doesn't describe the return value format or how to retrieve individual results (though sibling get_agent_result exists), which keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema describes both cwd and calls with 100% coverage, so the baseline is 3. The description's example adds a concrete JSON structure showing the calls array shape, but doesn't explain parameters beyond the schema. Reasonable but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb+resource statement: 'Execute multiple agents in PARALLEL (BLOCKING until ALL complete).' It explicitly distinguishes itself from call_agent_async, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises against typical use, names the preferred alternative (call_agent_async × N), and lists precise conditions where batch is appropriate. This is outstanding when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_resultA
Get result from async agent task.
Parameters:
task_id: The task ID from call_agent_async
block: If true, wait for completion (default: false)
timeout: Max wait time in ms when blocking (default: 300000 = 5min)
Returns task status and result if completed.
| Name | Required | Description | Default |
|---|---|---|---|
| block | No | Wait for completion (default: false) | |
| task_id | Yes | Task ID from call_agent_async | |
| timeout | No | Max wait time in ms (default: 300000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well by explaining the block parameter, timeout default, and return of 'task status and result if completed'. It does not cover edge cases like timeout behavior or errors, but provides solid behavioral guidance for a simple polling tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, front-loading the purpose, then listing parameters with defaults in a clear structure, and ending with return behavior. Every sentence earns its place with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple async result retrieval tool with only 3 parameters and no output schema, the description covers the essential aspects: purpose, parameters, blocking behavior, and return value. It lacks explicit error-handling details but is otherwise complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats parameter information already in the schema (e.g., task_id from call_agent_async, block default false) without adding new semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get result from async agent task' uses a specific verb and resource, clearly distinguishing it from sibling tools that initiate agent calls. It explicitly references call_agent_async, establishing the relationship and making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after call_agent_async by requiring a task_id from that tool, which provides clear context. It does not explicitly state when not to use it (e.g., for sync calls), but the async-specific wording and companion sibling names make the intended use evident.
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. Dates show when Glama detected each change.
4 tool updates
v1.0.7- First observed
call_agent - First observed
call_agent_async - First observed
call_agents_batch - First observed
get_agent_result
TDQS
The tools are functionally distinct by execution model (sync, async, batch, result retrieval), but call_agent_async and call_agents_batch overlap in parallel execution capability, requiring extensive warnings to steer usage. The descriptions clarify intent, but the ambiguity is notable enough to deduct a point.
All tools follow a snake_case verb_noun pattern with clear prefixes (call_, get_). However, the distinction between call_agent, call_agent_async, and call_agents_batch is subtle, and pluralization is inconsistent, slightly reducing predictability.
Four tools is an appropriate scope for an agent orchestration server, covering the essential sync, async, batch, and result retrieval patterns without bloat or redundancy. Each tool serves a distinct purpose in the workflow.
The surface covers the core lifecycle of launching and retrieving agent results, including synchronous and asynchronous execution. Missing cancellation or task listing is a minor gap, but the main workflows are well-supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
LLM Orchestration Agent (Mcp)
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Build and manage AI-native customer support agents from Claude or any MCP client.
Related MCP Servers
- FlicenseBqualityDmaintenanceA Model Context Protocol server that enables Claude users to access specialized OpenAI agents (web search, file search, computer actions) and a multi-agent orchestrator through the MCP protocol.410-
- AlicenseDqualityDmaintenanceAI-native orchestration layer with 80+ tools for task management, code editing, browser automation, terminal control, and persistent memory across CLI, local MCP, and cloud deployments.691531ISC
- AlicenseAqualityAmaintenanceAn MCP orchestration layer that aggregates multiple MCP servers while exposing only 8 meta-tools, dramatically reducing context window usage, and provides SLOP scripting, event monitoring, and tool customization.10MIT
- AlicenseBqualityFmaintenanceEnables orchestrating multiple AI CLI agents (Claude Code, Codex, Gemini CLI, Copilot CLI) through a unified MCP interface for task delegation, cross-agent comparison, and specialized tools like code review and debugging.141314MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/J3n5en/impart-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server