MR

molaco/rust-code-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

32 stars 5 forks 品質 60 トレンド 19

mcp サーバの rust コード semantic ハイブリッド検索 bm25 + ツリーシッターで埋め込む, gpu はインデックス作成とマークルツリーの更新を加速

概要

Rustのコードベースを検索し、分析するためのMCPサーバー。 ハイブリッドBM25 +ベクター検索と、rust-analyzer上に構築されたHIR駆動のワークスペースを組み合わせ、シンボルナビゲーション、コールグラフトトラバース、構造監査、およびセマンティックな近所クエリのための45 +ツールを公開します。 ウェブサイト・Discord — 利用している方法を共有し、人のワークフローについて聞きたい。 .docs/ARCHITECTURE.md は、MCP ツールのフルリファレンス、.docs/configure-models-guide.md のパーモジュールのブレークダウン、および各診断マップの原則に対する THEORY.md の .md を参照してください.

概要(AI 翻訳)

Rustのコードベースを検索し、分析するためのMCPサーバー。 ハイブリッドBM25 +ベクター検索とHIR駆動のワークスペースhypergraphをrust-analyzer上に構築し、シンボルナビゲーション、コールグラフの横断、構造的監査、およびセマンティックな近所クエリのための45 +ツールを公開します。

リンク: ウェブサイト・Discord — 利用している方法を共有します。

アーキテクチャ

.docs/ARCHITECTURE.md は、MCP ツールのフルリファレンス、.docs/configure-models-guide.md のパーモジュールのブレークダウン、および各診断マップの原則に対する THEORY.md の .md を参照してください。

##特徴

  • ハイブリッド検索 - BM25キーワード検索+セマンティックベクター類似性(RRF融合)
  • 可燃性埋め込むモデル - ローカルGPU(Qwen3 via Candle/CUDA)、ローカルCPU(BGE via ONNX)、またはAPI-backed(OpenRouter)。新しいAPIモデルは、再コンパイルなしでコンフィグファイルを介して追加されます
  • Symbolナビゲーション - rust-analyzer-backed [find_definition / [find_references]]] / [[rename_symbol]]]] (名前はプレビューを返します。 ファイルは変更されません)

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

rust-code-mcp

An MCP server for searching and analyzing Rust codebases. Combines hybrid BM25 + vector search with a HIR-driven workspace hypergraph built on rust-analyzer, exposing 45+ tools for symbol navigation, call-graph traversal, structural audits, and semantic neighborhood queries.

Links: Website · Discord — come share how you’re using it; we want to hear about people’s workflows.

Architecture

See .docs/ARCHITECTURE.md for the per-module breakdown, TOOLS.md for the full MCP tool reference, .docs/configure-models-guide.md for embedding-model configuration, and THEORY.md for the principles each diagnostic maps to.

Features

  • Hybrid search - BM25 keyword search + semantic vector similarity (RRF fusion)
  • Pluggable embedding models - local GPU (Qwen3 via Candle/CUDA), local CPU (BGE via ONNX), or API-backed (OpenRouter); new API models are added through a config file with no recompile
  • Symbol navigation - rust-analyzer–backed find_definition / find_references / rename_symbol (rename returns a preview; no files are modified)
  • Persisted hypergraph - HIR-driven workspace snapshot (LMDB) with cross-crate imports, exports, re-exports, call edges, attributes, signatures, statics, and unsafe blocks
  • Call-graph traversal - who_calls / calls_from / call_graph / callers_in_crate / recursive_callers_count
  • Structural audits - dead public items, name collisions, module shadowing, forbidden cross-crate edges, Robert Martin instability/abstractness
  • Safety audits - unsafe_audit, mut_static_audit, recursion_check, channel_capacity_audit, fn_body_audit (unwrap/panic/lock-across-await detection)
  • Doc & API hygiene audits - missing_docs_audit, derive_audit, pub_use_pub_type_audit, re_export_chain
  • Semantic neighbors - similar_to_item and workspace-wide semantic_overlaps clustering via cached embeddings
  • Codemap - build_codemap produces a task-conditioned subgraph (seeded by symbols, expanded over hypergraph edges) with Mermaid + outline rendering
  • Complexity metrics - LOC, cyclomatic complexity, function counts
  • Incremental indexing - Merkle-tree change detection; background re-sync every 5 minutes

Tools

45+ MCP tools grouped by category. Full parameter reference in TOOLS.md.

Category Tools
Query search, get_similar_code, read_file_content
Symbol analysis find_definition, find_references, rename_symbol, get_dependencies, get_call_graph, analyze_complexity
Index lifecycle index_codebase, health_check, clear_cache
Hypergraph build build_hypergraph
Imports / exports get_imports, get_exports, get_reexports, get_declared_reexports
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "rust-code-mcp": { "command": "/absolute/path/to/rust-code-mcp" } } }