qe-mcp
Provides QE Framework expert-library guidance with compact search and recommendation tools, returning full expert content only on explicit request.
README
qe-mcp
Standalone MCP server for QE Framework expert-library guidance.
This repository holds the large optional expert corpus outside
@inho-team/qe-framework so framework installs stay small. The server exposes
compact search and recommendation by default, then returns full expert content
only after an explicit MCP tool or prompt call.
Install
npm install -g @inho-team/qe-mcp
qe-mcp is the MCP companion for qe-framework. Install the framework plugin
first, then connect this MCP package to the clients you use:
# 1. Install the QE Framework Claude/Codex plugin
claude plugin marketplace add inho-team/qe-framework
claude plugin install qe-framework@inho-team-qe-framework
# 2. Install the companion MCP package
npm install -g @inho-team/qe-mcp
# 3. Register the MCP server for local AI clients
qe-mcp init-registry
qe-mcp sync --client claude
qe-mcp sync --client codex
Run qe-mcp sync --dry-run --client claude or
qe-mcp sync --dry-run --client codex first if you want to inspect the config
file writes before applying them.
For local development:
git clone https://github.com/inho-team/qe-mcp.git
cd qe-mcp
npm run selftest
MCP Server
Direct stdio launch:
qe-mcp-server
Local source launch:
node scripts/qe_mcp_server.mjs
Registry Sync
Initialize a local registry:
qe-mcp init-registry
Preview client config writes:
qe-mcp sync --dry-run --client codex
Apply:
qe-mcp sync --client codex
qe-mcp sync --client claude
qe-mcp sync --client gemini
The default registry writes a qeExpertLibrary MCP server entry pointing at
this package's scripts/qe_mcp_server.mjs.
qe-framework and qe-mcp are intended to run as twins:
qe-frameworkinstalls the workflow skills, agents, hooks, and Codex assets.qe-mcpinstalls the external expert-library MCP server and cross-agent runner tools.- Without
qe-mcp, the core QE workflows still load, but expert-library MCP calls and cross-agent runner tools are unavailable.
Maintainers may also connect the separate admin MCP package,
qe-admin-mcp, for release, bump, skill-test, audit, and migration workflows.
That admin MCP is not required for normal framework usage.
Local Setup Check
After installing and syncing, restart Claude Code or Codex, then verify:
qe-mcp doctor
qe-mcp-server
In the client, the MCP tool list should include qeExpertLibrary tools such as
qe_search_experts, qe_read_expert, qe_run_codex_agent,
qe_run_claude_agent, qe_cross_agent_help, and the bounded QE maintenance
and supervisor tools.
Tools
qe_search_experts: compact metadata searchqe_recommend_expert: task-based expert recommendationqe_read_expert: explicit bounded expert readqe_read_methodology: explicit bounded methodology/reference readqe_expert_prompt: build a bounded expert prompt payloadqe_expert_library_help: quick server usage summaryqe_run_codex_agent: active local Codex runner with bounded timeout/output and default read-only postureqe_run_claude_agent: active local Claude runner with bounded timeout/output and default plan/read-only postureqe_cross_agent_help: passive local runner contract and CLI capability summaryqe_list_maintenance_jobs: passive catalog of QE maintenance jobs and permission classesqe_run_maintenance_job: dry-run or run-once predefined maintenance jobs with source/config writes, secrets, runner delegation, recursion, and internal scheduling deniedqe_get_maintenance_job_status: read recorded maintenance job/run statusqe_get_maintenance_job_log: read bounded slices of recorded maintenance run logsqe_supervisor_status: read bounded supervisor status projectionqe_supervisor_events: read bounded supervisor events with severity and ack filtersqe_supervisor_ack: acknowledge one supervisor event byevent_idqe_supervisor_specs: list supervisor monitor specs
Resources
qe://experts/catalogqe://experts/<name>qe://experts/<name>/referencesqe://expert-packs/<pack>
Prompts
qe-use-expertqe-review-with-expertqe-plan-with-expert
Verification
npm run check
npm run selftest
npm run runner:smoke
runner:smoke launches the local MCP server and calls qe_cross_agent_help,
qe_run_codex_agent, and qe_run_claude_agent through the stdio MCP tool path.
Authenticated runners should return status: "ok". Missing local login,
missing CLI installs, provider quota limits, or bounded timeouts are reported as
structured graceful failures instead of raw crashes.
Trust Boundary
The expert corpus is local passive data. Expert reads do not fetch remote code, do not auto-trust third-party MCP servers, and do not accept raw filesystem paths for expert reads. Expert content was migrated from the deleted optional QE catalog and should be treated as guidance that may need current API verification before implementation.
The cross-agent runner tools are active execution tools. They launch only local
CLIs with existing local auth, sanitize inherited environment variables, reject
working directories outside this repository, cap timeout/output, and block
nested cross-agent recursion by default. qe_cross_agent_help is passive and
does not launch either runner.
Do not use the active runner tools for routine expert-library lookups, untrusted prompts, broad autonomous edits, or tasks that require inheriting a user's full MCP configuration. Use the passive expert tools for guidance-only workflows.
The QE maintenance tools are explicit orchestration/status surfaces, not a
scheduler. They never install timers, background daemons, or hidden recurring
jobs inside the stdio MCP server. Time-based execution belongs to an external
scheduler such as Qcron, launchd, cron, or CI. Maintenance run-once is limited
to predefined read-only/report-only jobs and narrowly approved recoverable-write
jobs.
Recoverable-write candidates (qrefresh, qarchive, qsweep) require an
explicit preview-bound approval flow:
- Call
qe_run_maintenance_jobwithmode: "dry-run". - Inspect
changed_paths_preview,recovery_strategy, andapproval_fingerprint. - Call
qe_run_maintenance_jobwithmode: "run-once",confirm_recoverable_write: true, and the matchingapproval_fingerprint. - Inspect
changed_paths,recovery_manifest, status, and logs.
The approval fingerprint is bound to job_id, mode, workspace_root,
changed_paths_preview, and permission_profile; mismatches fail closed with
policy_denied. Recoverable-write execution is restricted to .qe/state
maintenance paths and still denies source writes, config writes, secrets/env
access, runner delegation, recursion, and internal scheduling.
The QE supervisor tools are also status/control surfaces, not a resident
scheduler. They read .qe/state/supervisor or optional ~/.qe/daemon state,
return bounded event/status/spec projections, and allow only explicit ack state
writes. CLI install is dry-run only in this phase:
qe-mcp supervisor status --json
qe-mcp supervisor events --json
qe-mcp supervisor specs --json
qe-mcp supervisor install --dry-run --json
qe-mcp supervisor install without --dry-run fails closed and does not write
service files, launch agents, cron entries, or start daemons.
Active Runner Examples
Use qe_cross_agent_help first when deciding whether local Codex or Claude is
available. It is passive and does not launch either runner.
Minimal Codex runner call:
{
"name": "qe_run_codex_agent",
"arguments": {
"prompt": "Summarize the current repository constraints.",
"timeout_ms": 60000,
"max_output_bytes": 24000,
"allow_writes": false
}
}
Minimal Claude runner call:
{
"name": "qe_run_claude_agent",
"arguments": {
"prompt": "Review the runner policy boundary.",
"permission_mode": "plan",
"timeout_ms": 60000,
"max_output_bytes": 24000,
"allow_writes": false
}
}
Write-capable runs require an explicit write policy. Codex requires
allow_writes: true plus sandbox_mode: "workspace-write". Unsafe sandbox or
permission modes such as danger-full-access and bypassPermissions are
rejected. Recursive runner calls are blocked by default with
recursion_blocked.
Troubleshooting:
auth_missing: log in to the local provider CLI, then retry the same MCP tool call.not_installed: install the missing localcodexorclaudeCLI.timeoutorprompt_stalled: reduce prompt scope or raisetimeout_mswithin the schema maximum.budget_exceeded: reduce prompt scope or retry after provider quota resets.policy_denied: checkcwd, write policy, output cap, recursion depth, and MCP config policy.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.