Give your AI coding assistant real code understanding — powered by the same engines VS Code uses
Project description
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
- Scope looks at your project — it spots what languages you're using (Python, TypeScript, Rust, Go, C++) from files like
package.jsonorCargo.toml. - It sets up the brain — launches the same language engine your editor uses (pyright, tsserver, rust-analyzer, gopls). If missing, it installs one automatically.
- 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.
- Install it:
pip install scope-mcp- Check it works: run
scope --version- 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- Verify: Use the
scope_statustool 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20786900dea3672512878a12e8914c374a6860a17a2bdf712fdb2df8cb30003a
|
|
| MD5 |
f6b3bb6ff4cf3848241e121a1db5d654
|
|
| BLAKE2b-256 |
4c2b2113cafd0090d2dc688457cbace32c652568b2a45d481cabedd42fba4007
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e4401f444655315630dd7704432024d94a4622f8e83302b84d8341ba49a22ad
|
|
| MD5 |
96fe6835f1270efcd9ee80a4035b8de0
|
|
| BLAKE2b-256 |
9af4c14bedd2788bbdd239e20d9d89e18b969fd052bfb7717d826e268ae1ff4d
|