Code Index MCP
UnclaimedПоиск по коду для ИИ-агентов: 32 инструмента MCP, индекс на SQLite, один бинарник без зависимостей. Разбирает выгрузки 1С:Предприятие — Конфигуратор и EDT; конфигурация на 88 тыс. файлов индексируется за 6 минут, ответ на запрос — 10 мс. Code index MCP server: tree-sitter AST for 14 languages, 20 universal tools + 12 for 1C/BSL.
Set up this server
01 / Choose your client
02 / Before you connect
Authentication is not specified. Check the project instructions before connecting.
Project instructions03 / Add the configuration
claude mcp add --transport stdio 'code-index-mcp' -- 'npx' '-y' '@regsorm/code-index-mcp' 'serve' '--path' '/path/to/your/repo'04 / Check it in your client
Open your client’s MCP settings and confirm the server connects and lists its tools. A copied configuration does not confirm a working connection.
More in Databases
Browse the full directoryUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverSecurity profile
Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works
31 of 31 tools
Documented tools (31)
From project documentation. A server handshake does not verify each tool’s description or behavior.
bsl_sql
Arbitrary read-only SQL (v0.21.0): a SELECT/WITH query over the repo's index.db for the long tail of metadata/graph questions that have no dedicated tool (roles/RLS, joins, aggregations). Guard: SELECT/WITH only + Statement::readonly() + row cap + timeout. Tables: metadataobjects, metadatamodules, m
find_data_path
Data-links graph (v0.10.0): chain of reference links from one object to another (BFS over datalinks, like findpath but for data, not calls)
find_path
(v0.23.0) Shortest path in the call graph between two functions from→to (iterative cycle-safe BFS over unique calls nodes, maxdepth=5, any language). Returns path edges [{caller, callee, line}]
find_path_bsl
Call-chain between two procedures via proccallgraph (recursive CTE, maxdepth=3). BSL-specific variant of the universal findpath — proccallgraph carries calltype and procedure keys. (v0.35.0) from/to and procedure keys are <relpath>::<name> (a bare name is accepted for unresolved leaves); walks by re
find_references
Impact map (v0.21.0): everything that references an object, in one call — reverse datalinks (structural refs from metadata) + metadatacodeusages (usages in .bsl code) + rolerights (roles holding rights on it), broken down by kind with samples (limit)
find_symbol
Search everywhere (functions, classes, variables, imports)
get_call_tree
(v0.23.0) Call tree from a root function up to maxdepth (default 3). direction: callees/down (downstream) or callers/up. Flat edge list [{caller, callee, line, depth, path}] ((v0.35.0) path = source file of each edge) + nested {name, children} tree; maxnodes cap
get_callees
What does this function call? (v0.35.0) each row carries the source path
get_callers
Who calls this function? (v0.35.0) each row carries the caller's source path (distinguishes same-named callers from different files)
get_class
Get class by exact name (case-insensitive fallback; (v0.44.0) on 0 matches returns didyoumean with similar names)
get_data_links
Data-links graph (v0.10.0): what an object references / what references it, via reference-typed attributes, register dimensions and tabular-section attributes (datalinks table). direction=out\
get_event_subscriptions
All event subscriptions from EventSubscriptions/.xml. Filters: handler module, event (Russian or English platform enum — OnWrite→ПриЗаписи), source — by source object (Document.X/DocumentObject.X/short name, v0.31.0). Unknown parameters are rejected with the list of valid filters; default limit 50 (
get_file_summary
Complete file map without reading source
get_form_handlers
Managed-form event handlers by (ownerfullname, formname). Owner accepted in both formats — Document.X and export-folder Documents.X (v0.31.0). For typical document form returns ~120 (event, handler) pairs; unknown form → error with availableforms of the owner
get_function
Get function by exact name (case-insensitive fallback; (v0.44.0) on 0 matches returns didyoumean with similar names)
get_imports
Imports by module or file
get_object_profile
Object passport in one call (v0.21.0): the full portrait of an object — structure + forms + modules + data links — instead of a series of getobjectstructure/getformhandlers/getdatalinks. The sections parameter (['structure'\
get_object_structure
Full structure of a 1C metadata object by fullname (Document.SalesInvoice): attributes with 1C-notation types (+synonym — UI label, +required — fill checking, v0.32.0; +indexing — indexing flag Index/IndexWithAdditionalOrder, v0.45.1), tabular sections with columns, register dimensions/resources; en
get_register_writers
Register recorders / document movements (v0.16.0): for a register (AccumulationRegister.Stock) returns writers — documents writing movements; for a document — writesto (target registers). From the declarative <RegisterRecords> set (recorder edges of datalinks). One call covers both directions
get_stats
Index statistics
grep_body
Substring or regex search in function/class bodies. Returns matchlines (first 3 line numbers) and matchcount (total, if > 3). v0.7.0: optional pathglob, contextlines
grep_code
(v0.8.0) Regex search over code-file content (.py, .bsl, .rs, .ts, etc.) via filecontents table (zstd-decode in Rust). Same parameters as greptext: regex, pathglob?, language?, limit?, contextlines?. Complements grepbody (which searches only inside function/class bodies). Oversize files are skipped
grep_text
(v0.7.0) Regex search over text-file content (REGEXP). Closes the FTS5 special-character gap. Optional pathglob, language, contextlines. Hard-cap 1 MB on response size
health
MCP server health and connected repos
list_files
(v0.7.0) Flat file listing with optional pattern (glob like /.py), pathprefix, language, limit
read_file
(v0.7.0) Read content of a file. Optional linestart/lineend (1-based, inclusive). Soft-cap 5000 lines or 500 KB, hard-cap 2 MB. (v0.8.0) works for code files too (.py, .bsl, .rs, .ts, etc.) — content stored in filecontents table (zstd). Oversize files (default > 5 MB) return oversize: true with an e
search_class
Full-text search across classes
search_function
Full-text search across functions (name, docstring, body)
search_terms
Meaning-based procedure search (v0.30.0): terms are filled mechanically at index time — words of the procedure name (CamelCase split), the owner object's name and synonym, the comment above the procedure; no LLM needed. Trigram FTS: word forms and 3+ character substrings work, case and ё/е are irrel
search_text
Full-text search across text files
stat_file
(v0.7.0) Metadata of a single file: exists, size, mtime, language, linestotal, contenthash, indexedat, category (text/code). (v0.8.0) adds oversize: bool for code files
Tool change history
FAQ
Questions about Code Index MCP Server
- How do I connect Code Index MCP Server to Claude?
- Run `claude mcp add code-index-mcp -- npx -y @regsorm/code-index-mcp serve --path /path/to/your/repo` in Claude Code, or add the same command and arguments under mcpServers in Cursor's mcp.json or Claude Desktop's claude_desktop_config.json, then restart the client. The blocks above are ready to paste.
- Is Code Index MCP Server free?
- The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
- What can Code Index MCP Server do?
- Code Index MCP Server documents 31 tools to the agent, including bsl_sql, find_data_path, find_path. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.