Skip to main content

Give your AI coding assistant real code understanding — powered by the same engines VS Code uses

Project description

PyPI Python

scope-mcp

A tool that gives your AI coding assistant superpowers. Instead of guessing what your code does, it gets real answers straight from the same engines VS Code uses — so it actually understands functions, classes, types, and where things connect.

No setup. No indexing. Just works.

What's the problem?

When you ask an AI to "find where get_lsp is called," most tools do a text search — like Ctrl+Shift+F. That returns everything named get_lsp: the definition, comments, imports, false positives. You have to dig through the noise.

┌─ grep (text search) ─────────────────────┐
│  project.py:75  def get_lsp(self, lang)   │  ← definition (not a call)
│  project.py:110 return await get_lsp(lang)│  ← actual call
│  project.py:117 lsp = await get_lsp(lang) │  ← actual call
│  project.py:81  cfg = LSP_REGISTRY...     │  ← noise
│  project.py:109 async def get_lsp_for...  │  ← noise
│    5 results · 3 are noise                │
└───────────────────────────────────────────┘

┌─ scope (smart search) ────────────────────┐
│  [call site] project.py:110               │
│  [call site] project.py:117               │
│    2 results · 0 noise                    │
└───────────────────────────────────────────┘

Scope asks the compiler instead. You get only what you actually asked for.

What you can do with it

Instead of digging through files... Just ask scope... You get
Grepping for a function name and filtering out junk find_references("get_lsp") Only the places where it's actually called — no noise
Reading a whole file to figure out what's in it explain_file("server.py") A clean summary: language, line count, every function and class
Hunting through 50 files to find where an interface is used implementations("IEventHandler") One answer with all the implementations
Tracing who calls what by hand call_hierarchy("validate_token") A tree of callers and callees, 3 levels deep
Scanning a big diff to see what changed changed_since("HEAD~3") Just the changed files and affected symbols

How it works

  1. Scope looks at your project — it spots what languages you're using (Python, TypeScript, Rust, Go, C++) from files like package.json or Cargo.toml.
  2. It sets up the brain — launches the same language engine your editor uses (pyright, tsserver, rust-analyzer, gopls). If missing, it installs one automatically.
  3. Your AI asks, scope answers — every question hits that engine live. No stale data, no sync jobs, no waiting.
AI Assistant (Claude, Codex, etc.)  ←→  scope  ←→  Language Engine
                                              (pyright, tsserver, etc.)

Setup

pip install scope-mcp

Then add scope to your AI coding tool:

Claude Desktop

File: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "scope": {
      "command": "scope",
      "args": ["--project", "."]
    }
  }
}

Cursor

Settings → Cursor Settings → MCP → Add new MCP server

Name:     scope
Type:     command
Command:  scope --project .

Windsurf

File: ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "scope": {
      "command": "scope",
      "args": ["--project", "."]
    }
  }
}

VS Code (GitHub Copilot)

File: .vscode/mcp.json (project-level) or ~/AppData/Roaming/Code/User/globalStorage/github.copilot-chat/mcp.json

{
  "servers": {
    "scope": {
      "command": "scope",
      "args": ["--project", "."]
    }
  }
}

Any MCP-compatible tool

command:  scope
args:     ["--project", "/path/to/your/project"]
transport: stdio

From source

git clone https://github.com/deviprasadshetty-dev/scope.git
cd scope
pip install -e .

Optional extras: rg (ripgrep) for text searches, git for change tracking.


🤖 One-click agent setup

Copy-paste this to your AI coding agent and it will set up scope for you automatically:

I want you to install and configure the scope-mcp tool for this project.

  1. Install it: pip install scope-mcp
  2. Check it works: run scope --version
  3. Set up MCP: Find my editor's MCP config file and add the scope server entry:
    • For Claude Desktop: claude_desktop_config.json
    • For Cursor: Cursor Settings → MCP
    • For Windsurf: mcp_config.json
    • For VS Code Copilot: .vscode/mcp.json
  4. Verify: Use the scope_status tool to confirm everything is running.

The server should run with: scope --project . (so it analyzes the current project). Don't skip any step — actually install it and configure it.

Languages scope understands

Language Detected when it sees... Scope handles setup
Python pyproject.toml · setup.py · requirements.txt ✅ Installs pyright automatically
TypeScript / JavaScript tsconfig.json · package.json ✅ Installs tsserver automatically
Rust Cargo.toml ✅ Installs rust-analyzer automatically
Go go.mod ✅ Installs gopls automatically
C / C++ CMakeLists.txt · compile_commands.json ⚠️ You install clangd manually

Project layout

scope/
├── __init__.py
├── __main__.py       # Where scope starts — just runs `scope --project .`
├── server.py         # All the commands (tools) your AI can call
├── project.py        # Figures out your project and starts language engines
├── lsp_client.py     # Talks to language engines behind the scenes
└── lsp_registry.py   # Knows which engine to use for each language

Requirements

  • Python 3.11 or newer
  • ripgrep (optional, for text search)
  • git (optional, for change tracking)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scope_mcp-0.1.2.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scope_mcp-0.1.2-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file scope_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: scope_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for scope_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 20786900dea3672512878a12e8914c374a6860a17a2bdf712fdb2df8cb30003a
MD5 f6b3bb6ff4cf3848241e121a1db5d654
BLAKE2b-256 4c2b2113cafd0090d2dc688457cbace32c652568b2a45d481cabedd42fba4007

See more details on using hashes here.

File details

Details for the file scope_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: scope_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for scope_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e4401f444655315630dd7704432024d94a4622f8e83302b84d8341ba49a22ad
MD5 96fe6835f1270efcd9ee80a4035b8de0
BLAKE2b-256 9af4c14bedd2788bbdd239e20d9d89e18b969fd052bfb7717d826e268ae1ff4d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page