Deep code indexing for AI agents. SQLite FTS5 + tree-sitter + embeddings + MCP.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · sse counts 42 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
blame_symbol
-
changes_to
-
codebase_map
-
conversation_summary
-
detect_changes
-
embedding_health
-
embedding_status
-
find_dead_code
-
find_imports
-
find_pattern
-
get_build_targets
-
get_callees
-
get_callers
-
get_communities
-
get_community
-
get_dependents
-
get_execution_flows
-
get_impact
-
get_implementors
-
get_platform_variants
-
get_signature
-
get_symbol
-
get_tests_for
-
get_type_hierarchy
-
git_hotspots
-
hybrid_search
-
index_status
-
learning_stats
-
list_projects
-
platform_conditionals
-
recent_changes
-
record_learning
-
reindex
-
relevant_learnings
-
restart_server
-
search_symbols
-
semantic_search
-
server_stats
-
setup_guide
-
show_status
-
symbols_in_file
-
whats_changed
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 46
filesystem 33
- fs (weak) srclight-srclight-94f89b3/scripts/test_hybrid_search.py :15
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/_mcpkit.py :106
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/build.py :12
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/cli.py :16
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/db.py :14
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/base.py :74
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/csv_extractor.py :7
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/docx_extractor.py :6
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/email_extractor.py :8
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/html_extractor.py :5
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/image_extractor.py :7
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/pdf_extractor.py :8
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/text_extractor.py :6
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/extractors/xlsx_extractor.py :6
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/git.py :12
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/indexer.py :17
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/languages.py :6
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/server.py :17
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/vector_cache.py :18
from pathlib import Path - fs srclight-srclight-94f89b3/src/srclight/workspace.py :18
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_build.py :3
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_community.py :13
db.open() - fs (weak) srclight-srclight-94f89b3/tests/test_db.py :4
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_embeddings.py :318
db.open() - fs (weak) srclight-srclight-94f89b3/tests/test_extractors.py :5
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_features.py :3
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_git.py :4
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_hooks.py :5
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_indexer.py :4
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_new_tools.py :3
from pathlib import Path - fs (weak) srclight-srclight-94f89b3/tests/test_repo_hygiene.py :5
import shutil - fs (weak) srclight-srclight-94f89b3/tests/test_vector_cache.py :30
db.open() - fs (weak) srclight-srclight-94f89b3/tests/test_workspace.py :4
from pathlib import Path
shell / exec 5
- shell srclight-srclight-94f89b3/src/srclight/_mcpkit.py :104
import subprocess - shell srclight-srclight-94f89b3/src/srclight/git.py :10
import subprocess - shell srclight-srclight-94f89b3/src/srclight/indexer.py :13
import subprocess - shell (weak) srclight-srclight-94f89b3/tests/test_git.py :3
import subprocess - shell (weak) srclight-srclight-94f89b3/tests/test_repo_hygiene.py :6
import subprocess
network 1
- net srclight-srclight-94f89b3/src/srclight/embeddings.py :22
import urllib.error
secrets 1
- secrets srclight-srclight-94f89b3/src/srclight/embeddings.py :221
self._api_key = api_key or os.environ.get("OPENAI_API_KEY", "")
database 2
- db srclight-srclight-94f89b3/src/srclight/db.py :12
import sqlite3 - db srclight-srclight-94f89b3/src/srclight/workspace.py :16
import sqlite3
tool registrations 42
- codebase_map srclight-srclight-94f89b3/src/srclight/server.py :426
- search_symbols srclight-srclight-94f89b3/src/srclight/server.py :474
- get_symbol srclight-srclight-94f89b3/src/srclight/server.py :508
- get_signature srclight-srclight-94f89b3/src/srclight/server.py :560
- symbols_in_file srclight-srclight-94f89b3/src/srclight/server.py :613
- get_callers srclight-srclight-94f89b3/src/srclight/server.py :724
- get_callees srclight-srclight-94f89b3/src/srclight/server.py :778
- get_type_hierarchy srclight-srclight-94f89b3/src/srclight/server.py :831
- get_tests_for srclight-srclight-94f89b3/src/srclight/server.py :907
- get_dependents srclight-srclight-94f89b3/src/srclight/server.py :955
- get_implementors srclight-srclight-94f89b3/src/srclight/server.py :1004
- index_status srclight-srclight-94f89b3/src/srclight/server.py :1057
- list_projects srclight-srclight-94f89b3/src/srclight/server.py :1098
- reindex srclight-srclight-94f89b3/src/srclight/server.py :1117
- blame_symbol srclight-srclight-94f89b3/src/srclight/server.py :1176
- recent_changes srclight-srclight-94f89b3/src/srclight/server.py :1222
- git_hotspots srclight-srclight-94f89b3/src/srclight/server.py :1267
- whats_changed srclight-srclight-94f89b3/src/srclight/server.py :1299
- changes_to srclight-srclight-94f89b3/src/srclight/server.py :1335
- get_build_targets srclight-srclight-94f89b3/src/srclight/server.py :1384
- get_platform_variants srclight-srclight-94f89b3/src/srclight/server.py :1407
- platform_conditionals srclight-srclight-94f89b3/src/srclight/server.py :1436
- semantic_search srclight-srclight-94f89b3/src/srclight/server.py :1477
- hybrid_search srclight-srclight-94f89b3/src/srclight/server.py :1540
- embedding_status srclight-srclight-94f89b3/src/srclight/server.py :1632
- embedding_health srclight-srclight-94f89b3/src/srclight/server.py :1655
- find_imports srclight-srclight-94f89b3/src/srclight/server.py :1800
- find_dead_code srclight-srclight-94f89b3/src/srclight/server.py :1989
- find_pattern srclight-srclight-94f89b3/src/srclight/server.py :2050
- server_stats srclight-srclight-94f89b3/src/srclight/server.py :2156
- restart_server srclight-srclight-94f89b3/src/srclight/server.py :2173
- show_status srclight-srclight-94f89b3/src/srclight/server.py :2199
- setup_guide srclight-srclight-94f89b3/src/srclight/server.py :2232
- record_learning srclight-srclight-94f89b3/src/srclight/server.py :2285
- conversation_summary srclight-srclight-94f89b3/src/srclight/server.py :2337
- relevant_learnings srclight-srclight-94f89b3/src/srclight/server.py :2376
- learning_stats srclight-srclight-94f89b3/src/srclight/server.py :2432
- get_communities srclight-srclight-94f89b3/src/srclight/server.py :2450
- get_community srclight-srclight-94f89b3/src/srclight/server.py :2489
- get_execution_flows srclight-srclight-94f89b3/src/srclight/server.py :2548
- get_impact srclight-srclight-94f89b3/src/srclight/server.py :2587
- detect_changes srclight-srclight-94f89b3/src/srclight/server.py :2666
declared dependencies 35
- mcp@>=1.26.0
- click@>=8.1.0
- tree-sitter@>=0.25.0
- tree-sitter-c@>=0.24.0
- tree-sitter-cpp@>=0.23.0
- tree-sitter-python@>=0.25.0
- tree-sitter-javascript@>=0.25.0
- tree-sitter-typescript@>=0.23.0
- tree-sitter-rust@>=0.24.0
- tree-sitter-c-sharp@>=0.23.0
- tree-sitter-markdown@>=0.5.0
- tree-sitter-swift@>=0.0.1
- tree-sitter-kotlin@>=1.0.0
- tree-sitter-java@>=0.23.0
- tree-sitter-go@>=0.23.0
- tree-sitter-php@>=0.24.0
- tree-sitter-bash@>=0.25.0
- tree-sitter-cmake@>=0.7.0
- tree-sitter-sql@>=0.3.0
- tree-sitter-groovy@>=0.1.0
- numpy@>=1.26.0
- networkx@>=3.0
- cupy-cuda12x@>=13.0
- python-docx@>=1.1
- openpyxl@>=3.1
- beautifulsoup4@>=4.12
- Pillow@>=10.0
- pdfplumber@>=0.11
- pytesseract@>=0.3.13
- paddleocr@>=2.8
- pdf2image@>=1.16
- srclight@*
- pytest@>=8.0
- pytest-asyncio@>=0.23.0
- ruff@>=0.9.0