Blindspot MCP
Blindspot is a local, general-purpose context engine for AI coding agents. It helps agents understand project structure, symbols, relationships, and change impact before editing.
README
Blindspot MCP
Blindspot is a local, general-purpose context engine for AI coding agents.
It exists for one job:
- help the agent understand a project
- help the agent understand symbols and relationships
- help the agent estimate change impact before editing
- do this across different languages and project layouts
Blindspot is intentionally small. It is not trying to be a deployment system, policy engine, rollout manager, or autonomous edit platform.
Why
Most agents can edit files, search text, and run commands. What they usually lack is a compact, reusable understanding layer for:
- project structure
- symbol ownership
- callers and references
- inheritance and composition
- likely blast radius of a change
That is the gap Blindspot fills.
Paid context engines already proved this model is useful. Blindspot is the local and reusable alternative.
Design Goals
- Small MCP surface
- Works across languages and frameworks
- Gives structured context instead of file dumps
- Helps any agent write better code with fewer blind edits
- Stays useful even when framework-specific intelligence is missing
Language Coverage
Blindspot keeps one public API and improves the engine underneath it.
- Strong support: Python, PHP, JavaScript, TypeScript, Go
- Solid project-structure and syntax-aware support: Dart / Flutter, React Native, Node.js
- Additional generic support: Java, Kotlin, C#, Ruby, Rust, mixed repos
The contract does not change per language. get_context(...) stays the same; only the quality of the internal enrichment improves.
Core Tools
Blindspot now exposes only the core context-engine surface:
set_project_path: call once to bind Blindspot to the repoget_project_snapshot: one-shot repo overview at session startget_context: main entrypoint for file, symbol, relationship, and impact contextget_symbol_body: exact symbol metadata or bounded source excerptget_edit_region: small numbered excerpt around a symbol or line rangesearch_code: fallback text search when structured context is not enoughfind_files: locate candidate files before drilling into one withget_contextrefresh_index: rebuild the shallow file index if discovery gets stalebuild_deep_index: rebuild the deep symbol index for richer relationship analysis
Main Workflow
- Call
set_project_path(...) - Call
get_project_snapshot()once at the start of a session - Before any important edit, call
get_context(target=..., intent="before_edit", symbol=...) - If exact source is needed, call
get_symbol_body(...)orget_edit_region(...) - If the returned context is still insufficient, use
search_code(...)
Tool Selection Rule
Agents should default to get_context.
- Use
get_project_snapshotfor orientation - use
get_contextfor understanding and edit planning - use
get_symbol_bodyfor one symbol - use
get_edit_regionfor a tight excerpt - use
find_filesto locate candidates - use
search_codeonly as fallback - use index rebuild tools only when index data is missing or stale
The Main Idea
The agent should not decide between 40 different analysis tools.
Instead, it should call one entrypoint and receive a normalized context envelope:
projecttargetoverviewfile_contextsymbol_contextrelationship_contextimpact_contextdirect_callersindirect_dependentsblast_radiusrisk_reasonssafe_edit_hintsrelated_filesrelated_file_reasonsmissing_contextconfidenceconfidence_detailsedit_plansuggested_next_steps
That is what get_context(...) returns.
Supported Intents
get_context(...) supports these intents:
projectfilesymbolbefore_editimpact
This keeps the public API small while still covering the main agent workflows.
get_context(...) also accepts change_type:
modifyrenamedeletesignature_changecontract_change
Use a stronger change_type when you want Blindspot to plan a coordinated refactor instead of a local edit.
Install
pip install blindspot-mcp
Claude Code
Add this to ~/.claude/settings.json:
{
"mcpServers": {
"blindspot": {
"command": "blindspot-mcp",
"args": ["--project-path", "/path/to/your/project"]
}
}
}
Cursor / VS Code
Add this to .cursor/mcp.json:
{
"mcpServers": {
"blindspot": {
"command": "blindspot-mcp",
"args": ["--project-path", "."]
}
}
}
Example
Developer: Change the User status behavior
Agent:
1. get_project_snapshot()
2. get_context(target="app/models/user.py", intent="before_edit", symbol="is_active")
3. get_symbol_body("app/models/user.py", "is_active")
4. edit with full awareness of related files and likely impact
What Blindspot Does Not Try To Be
- a code editor
- a release gate system
- a deployment orchestrator
- a policy approval workflow
- a giant framework tool catalog
Those concerns make the product noisier and make agents choose tools instead of understanding code.
Local-First
Blindspot runs locally and analyzes the codebase on your machine.
Current Product Direction
Blindspot should become:
- a stable context layer any AI agent can use
- easy to plug into different editors and agent runtimes
- reliable across Python, PHP, TypeScript, JavaScript, Go, Java, Ruby, Rust, C#, and mixed repos
- reliable across Dart / Flutter, React Native, Node.js, and mixed monorepos
- useful even in plain projects with no heavy framework detection
The standard for success is simple:
- fewer blind edits
- better relationship awareness
- better change impact awareness
- better code written by the agent
Development
Run the core test suite:
python3 -m unittest tests.test_context_engine_service -v
Run the lightweight context evaluation harness:
.venv/bin/python evals/run_context_eval.py
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.