github Rust re-analysis due

Regsorm/code-index-mcp

github

Поиск по коду для ИИ-агентов: 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.

maintainer
Regsorm
license
MIT
first seen
2026-06-25
last seen
2026-09-05
releases · 30d
30
short id

Drift inferred · capture-to-capture

tool count over time

06-25 07:05 08-12 08:05 now
31t
31t
31t
capabilities 31 tools
transport stdio · http verified reported listed in the official MCP registry counts 31 tools · 0 res · 0 prompts permission surface via README inference

tools

  • 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: SELEC

  • find_data_path

    Data-links graph (v0.10.0): chain of reference links from one object to another (BFS over data_links, like find_path but for data, not calls). v0.57.0: on failure the answer distinguishes «no path» fr

  • find_path

    (v0.23.0) Shortest path in the call graph between two functions from→to (iterative cycle-safe BFS over unique calls nodes, max_depth=5, any language). Returns path edges [{caller, callee, line}]. v0.5

  • find_path_bsl

    Call-chain between two procedures via proc_call_graph (recursive CTE, max_depth=3). BSL-specific variant of the universal find_path — proc_call_graph carries call_type and procedure keys. (v0.35.0) fr

  • find_references

    Impact map (v0.21.0): everything that references an object, in one call — reverse data_links (structural refs from metadata) + metadata_code_usages (usages in .bsl code) + role_rights (roles holding r

  • find_symbol

    Search everywhere (functions, classes, variables, imports)

  • get_call_tree

    (v0.23.0) Call tree from a root function up to max_depth (default 3). direction: callees/down (downstream) or callers/up. Flat edge list [{caller, callee, line, depth, path}] ((v0.35.0) path = source

  • 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). v0.62.0: for 1C configurations, form event handler bindings (kind:

  • get_class

    Get class by exact name (case-insensitive fallback; (v0.44.0) on 0 matches returns did_you_mean 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 (data_links 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/sho

  • get_file_summary

    Complete file map without reading source

  • get_form_handlers

    Managed-form event handlers by (owner_full_name, form_name). Owner accepted in both formats — Document.X and export-folder Documents.X (v0.31.0). v0.54.0: returns (event, handler, element) triples — e

  • get_function

    Get function by exact name (case-insensitive fallback; (v0.44.0) on 0 matches returns did_you_mean 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 get_object_structure/get_form_handlers/get_data_links. The sec

  • get_object_structure

    Structure of a 1C object. v0.63.0: object templates are now in the registry — a row Catalog.X.Template.Y with the owner, the template kind and a content_indexed flag (large templates stay out of the i

  • get_register_writers

    Register recorders / document movements (v0.16.0): for a register (AccumulationRegister.Stock) returns writers — documents writing movements; for a document — writes_to (target registers). From the de

  • get_stats

    Index statistics

  • grep_body

    Substring or regex search in function/class bodies. Returns match_lines (first 3 line numbers) and match_count (total, if > 3). v0.7.0: optional path_glob, context_lines

  • grep_code

    (v0.8.0) Regex search over code-file content (.py, .bsl, .rs, .ts, etc.) via file_contents table (zstd-decode in Rust). Same parameters as grep_text: regex, path_glob?, language?, limit?, context_line

  • grep_text

    (v0.7.0) Regex search over text-file content (REGEXP). Closes the FTS5 special-character gap. Optional path_glob, language, context_lines. 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), path_prefix, language, limit. v0.49.8: limit defaults to 500; when more files match, the response carries {truncated, total, shown,

  • read_file

    (v0.7.0) Read content of a file. Optional line_start/line_end (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.) — conten

  • 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 proced

  • search_text

    Full-text search across text files

  • stat_file

    (v0.7.0) Metadata of a single file: exists, size, mtime, language, lines_total, content_hash, indexed_at, category (text/code). (v0.8.0) adds oversize: bool for code files

code evidence vv0.49.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 105

filesystem 1

  • fs (weak) Regsorm-code-index-mcp-27bbf13/npm/scripts/postinstall.js :15 const fs = require('fs');

shell / exec 2

  • shell Regsorm-code-index-mcp-27bbf13/npm/bin/cli.js :13 const { spawn } = require('child_process');
  • shell (weak) Regsorm-code-index-mcp-27bbf13/npm/scripts/postinstall.js :19 const { execFileSync } = require('child_process');

network 1

  • net (weak) Regsorm-code-index-mcp-27bbf13/npm/scripts/postinstall.js :18 const https = require('https');

install hooks 1

  • postinstall Regsorm-code-index-mcp-27bbf13/npm/package.json :35 node scripts/postinstall.js

declared dependencies 46

  • rmcp@1.3
  • clap@4
  • tokio@1
  • tree-sitter@0.25
  • tree-sitter-python@0.25
  • tree-sitter-javascript@0.23
  • tree-sitter-typescript@0.23
  • tree-sitter-java@0.23
  • tree-sitter-rust@0.23
  • tree-sitter-bsl@0.1.7
  • tree-sitter-go@0.23
  • tree-sitter-html@0.23
  • tree-sitter-php@0.23
  • tree-sitter-c@0.23
  • tree-sitter-cpp@0.23
  • tree-sitter-c-sharp@0.23
  • tree-sitter-ruby@0.23
  • tree-sitter-swift@0.7
  • quick-xml@0.37
  • rusqlite@0.39
  • zstd@0.13
  • serde@1
  • serde_json@1
  • schemars@1
  • walkdir@2
  • rayon@1.10
  • notify@7
  • notify-debouncer-full@0.4
  • sha2@0.10
  • regex@1
  • globset@0.4
  • anyhow@1
  • thiserror@2
  • tracing@0.1
  • tracing-subscriber@0.3
  • sysinfo@0.32
  • hex@0.4
  • chrono@0.4
  • axum@0.8
  • tower@0.5
  • reqwest@0.12
  • toml@0.8
  • toml_edit@0.22
  • dirs@5
  • arc-swap@1
  • tempfile@3