MCQuest MCP
A read-only MCP server that gives AI coding agents structured access to a project's source code, architecture, documentation, and Git context through 16 tools for searching, reading, and comparing evidence without modifying files.
README
MCQuest MCP — Read-Only Project Intelligence Server
A reusable, read-only MCP server that gives AI coding agents structured access to a software project's source code and documentation.
Built for and battle-tested on the MCQuest codebase, the server is intentionally maintained as a standalone developer tool outside application repositories so it can be pointed at any repository.
It is an evidence layer, not a decision engine: it reports what is actually in a project, and the AI coding agent performs the reasoning.
Features
Provides 16 read-only tools organized into categories:
Project Structure
| Tool | Purpose |
|---|---|
mcquest_project_info |
Compact project overview with structure and key files |
mcquest_project_context |
High-level understanding: tech stack, directories, source areas |
mcquest_list_files |
Recursively list project files with glob pattern filtering |
Source Code Analysis
| Tool | Purpose |
|---|---|
mcquest_read_file |
Read bounded file sections with line numbers |
mcquest_search |
Regex-based source code search with context |
mcquest_find_files |
Find files by filename (case-insensitive) |
mcquest_find_imports |
Find ES module imports referencing a target |
mcquest_find_usages |
Find symbol references with word-boundary matching |
mcquest_pattern_audit |
Predefined responsive/layout pattern audit |
Documentation Intelligence
| Tool | Purpose |
|---|---|
mcquest_list_docs |
List Markdown documentation files |
mcquest_read_doc |
Read Markdown docs with line numbers |
mcquest_search_docs |
Regex/text search across docs |
mcquest_phase_context |
Locate phase docs (supports query and phase modes) |
mcquest_compare_phase |
Compare documentation between two phases |
Cross-Evidence & Git
| Tool | Purpose |
|---|---|
mcquest_find_evidence |
Search code + docs in one call, grouped by evidence type |
mcquest_git_context |
Read-only Git: branch, status, recent commits, changes |
The server does not modify the target project.
Quick Start
Requires Python 3.10+ and uv.
# 1. Get the code
# (or clone your fork / place it somewhere outside your app repos)
cd mcquest-mcp
# 2. Install dependencies (runtime dep is only the MCP SDK;
# pytest is installed as a dev-only dependency)
uv sync
# 3. Run it, pointing the server at the repository you want to inspect
# Windows (PowerShell):
uv run mcquest-mcp --project "D:\path\to\your\project"
# macOS / Linux:
uv run mcquest-mcp --project /path/to/your/project
Important: you must tell the server which repository to inspect. Either pass
--project <PATH>(absolute or relative), or set theMCQUEST_PROJECT_ROOTenvironment variable. If neither is supplied, startup fails with a clear error — the server never silently assumes a repository.--projecttakes precedence over the environment variable.
The same installed server is safely reused across repositories by changing the
--project argument, e.g.:
uv run mcquest-mcp --project "D:\DeveloperTools\mcquest-mcp" # this repo
uv run mcquest-mcp --project "D:\Some\Other\Repository" # anything else
Configuration
| Setting | Default | Purpose |
|---|---|---|
--project / MCQUEST_PROJECT_ROOT |
(none — startup fails if unset) | Absolute or relative path to the project root all tools are confined to |
- Path containment. Every tool resolves its inputs against
MCQUEST_PROJECT_ROOTand rejects path traversal (../, absolute escapes) outside that boundary. - Default search paths. Several tools default to
frontend/src(source) anddocs(documentation). Passpath=/docs_path=explicitly for other layouts. - Phase docs.
mcquest_phase_contextandmcquest_compare_phaseassume docs are named likedocs/phase-<N>...mdunder the documentation path.
Registering with an MCP client
Wire the mcquest-mcp console script into your MCP client's server configuration.
Example (JSON, e.g. Cline/Claude local config):
{
"mcpServers": {
"mcquest-mcp": {
"command": "uv",
"args": ["run", "mcquest-mcp", "--project", "C:/path/to/your/project"]
}
}
}
Or run the MCP Inspector during development:
uv run python -m mcp dev dev_server.py
Documentation Awareness
The documentation tools give the AI agent read-only access to project Markdown
documentation (e.g. docs/, memory-bank/), including previous audit and
implementation phases.
mcquest_list_docs— list Markdown files under a project-relative path.mcquest_read_doc— read a Markdown file with exact line numbers.mcquest_search_docs— regex/text search across Markdown docs, returning file path, line number, matching line, and surrounding context.mcquest_phase_context— Two modes:querymode (free-text) andphasemode (structured lookup, e.g.phase="61"). Phase mode groups results by document type.
These tools preserve the original Markdown evidence and line references. They do not summarize, rewrite, or interpret the documentation; they return the raw evidence so the AI agent can reason about it.
Safety
This MCP is intentionally read-only.
It does not provide:
- file editing
- file creation
- file deletion
- shell execution
- arbitrary code execution
- package installation
- Git mutation
- commits
- pushes
- deployment
The server provides evidence; the AI coding agent performs the reasoning. It never
claims runtime verification — static/documentation evidence is always labeled as such
(e.g. RUNTIME VERIFICATION: NOT PERFORMED where applicable).
Recommended Cline Usage Flow
mcquest_project_context— First call for project orientationmcquest_phase_context(phase="N")— Understand a specific phasemcquest_find_evidence(query="...")— Cross-search code + docsmcquest_read_file/mcquest_read_doc— Read specific filesmcquest_git_context— Check recent changes before investigationmcquest_compare_phase(from_phase="61", to_phase="62")— Compare phase docs
Development & Testing
-
uv syncinstalls runtime + dev dependencies. -
Run the regression suite with:
uv run pytest -qThe suite guards: the exact 16-tool registration, path-security/traversal, the read-only guarantee, output bounds, evidence-neutral
compare_phaseoutput, and thefind_evidence(scope="phase")behavior. -
Runtime dependency is only
mcp[cli]>=2,<3;pytestis a dev-only dependency.
Known Legacy Defaults
The tool names retain the mcquest_ prefix and several defaults assume an
MCQuest-style layout (e.g. frontend/src, docs, specific config filenames in
mcquest_project_info / mcquest_project_context, responsive-pattern categories in
mcquest_pattern_audit). These are intentionally retained for backward
compatibility while the server is progressively generalized. The project root is no
longer hard-coded: it comes from --project or MCQUEST_PROJECT_ROOT, and startup
fails if neither is supplied. Git tools are limited to read-only inspection
commands.
Version History
- v0.3.0 — Evidence-neutral
compare_phasevocabulary (ADDED/REMOVED/COMMON,RUNTIME VERIFICATION: NOT PERFORMED), fixedfind_evidence(scope="phase"), added a dev-only pytest regression suite. - v0.2.0 — Added
project_context,find_evidence,git_context,compare_phase. Improved all tool descriptions. Addedphaseparameter tophase_contextwith structured lookup grouped by document type. - v0.1.0 — Initial release with 12 read-only tools.
Requirements
- Windows, macOS, or Linux
- Python 3.10+
uv- MCP Python SDK
- Node.js only if using MCP Inspector
Install
Clone or place the server somewhere outside your application repositories, then see Quick Start.
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.