Blindspot MCP

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.

Category
访问服务器

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 repo
  • get_project_snapshot: one-shot repo overview at session start
  • get_context: main entrypoint for file, symbol, relationship, and impact context
  • get_symbol_body: exact symbol metadata or bounded source excerpt
  • get_edit_region: small numbered excerpt around a symbol or line range
  • search_code: fallback text search when structured context is not enough
  • find_files: locate candidate files before drilling into one with get_context
  • refresh_index: rebuild the shallow file index if discovery gets stale
  • build_deep_index: rebuild the deep symbol index for richer relationship analysis

Main Workflow

  1. Call set_project_path(...)
  2. Call get_project_snapshot() once at the start of a session
  3. Before any important edit, call get_context(target=..., intent="before_edit", symbol=...)
  4. If exact source is needed, call get_symbol_body(...) or get_edit_region(...)
  5. If the returned context is still insufficient, use search_code(...)

Tool Selection Rule

Agents should default to get_context.

  • Use get_project_snapshot for orientation
  • use get_context for understanding and edit planning
  • use get_symbol_body for one symbol
  • use get_edit_region for a tight excerpt
  • use find_files to locate candidates
  • use search_code only 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:

  • project
  • target
  • overview
  • file_context
  • symbol_context
  • relationship_context
  • impact_context
  • direct_callers
  • indirect_dependents
  • blast_radius
  • risk_reasons
  • safe_edit_hints
  • related_files
  • related_file_reasons
  • missing_context
  • confidence
  • confidence_details
  • edit_plan
  • suggested_next_steps

That is what get_context(...) returns.

Supported Intents

get_context(...) supports these intents:

  • project
  • file
  • symbol
  • before_edit
  • impact

This keeps the public API small while still covering the main agent workflows.

get_context(...) also accepts change_type:

  • modify
  • rename
  • delete
  • signature_change
  • contract_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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选