Skip to main content
Glama
possible055

Relace MCP Server

by possible055

非公式 Relace MCP サーバー

PyPI Python 3.11+ License: MIT 100% AI-Generated OpenSSF Scorecard

非公式 — 個人のプロジェクトであり、Relace とは提携していません。

AI で構築 — すべて AI の支援(Antigravity、Codex、Cursor、Github Copilot、Windsurf)を受けて開発されました。

AI を活用したコード編集およびインテリジェントなコードベース探索ツールを提供する MCP サーバーです。

従来の手法

agentic_search + fast_apply を使用

手動 grep、関連ファイルを見落とす

自然言語で質問し、正確な場所を取得

編集により他の場所のインポートが壊れる

インポートと呼び出しチェーンを追跡

全書き換えでトークンを消費

変更内容を記述、行番号は不要

行番号エラーでコードが破損

10,000 トークン/秒以上のマージ

機能

  • Fast Apply — Relace API を介して 10,000 トークン/秒以上の速度でコード編集を適用

  • Agentic Search — 自然言語クエリによるエージェント型コードベース探索

  • Agentic Retrieval — ハイブリッドなセマンティックヒントとライブコード探索(古いヒントのサポートと明示的なクラウドメンテナンス機能付き。MCP_SEARCH_RETRIEVAL=1 で有効化し、MCP_RETRIEVAL_BACKEND でバックエンドを選択)

  • Cloud Search — クラウド同期されたリポジトリに対するセマンティックコード検索

Related MCP server: code-context

クイックスタート

前提条件: uv, git, ripgrep (推奨)

relace バックエンド(デフォルト)を使用する場合: Relace ダッシュボード から API キーを取得し、MCP クライアントに追加してください。

~/.cursor/mcp.json

{
  "mcpServers": {
    "relace": {
      "command": "uv",
      "args": ["tool", "run", "relace-mcp"],
      "env": {
        "RELACE_API_KEY": "rlc-your-api-key",
        "MCP_BASE_DIR": "/absolute/path/to/your/project"
      }
    }
  }
}
claude mcp add relace \
  --env RELACE_API_KEY=rlc-your-api-key \
  --env MCP_BASE_DIR=/absolute/path/to/your/project \
  -- uv tool run relace-mcp

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "relace": {
      "command": "uv",
      "args": ["tool", "run", "relace-mcp"],
      "env": {
        "RELACE_API_KEY": "rlc-your-api-key",
        "MCP_BASE_DIR": "/absolute/path/to/your/project"
      }
    }
  }
}

.vscode/mcp.json

{
  "mcp": {
    "servers": {
      "relace": {
        "type": "stdio",
        "command": "uv",
        "args": ["tool", "run", "relace-mcp"],
        "env": {
          "RELACE_API_KEY": "rlc-your-api-key",
          "MCP_BASE_DIR": "${workspaceFolder}"
        }
      }
    }
  }
}

~/.codex/config.toml

[mcp_servers.relace]
command = "uv"
args = ["tool", "run", "relace-mcp"]

[mcp_servers.relace.env]
RELACE_API_KEY = "rlc-your-api-key"
MCP_BASE_DIR = "/absolute/path/to/your/project"

設定

変数

必須

説明

RELACE_API_KEY

✅*

Relace ダッシュボード の API キー。Relace プロバイダーおよびクラウドツールに必須

MCP_SEARCH_RETRIEVAL

❌

1 に設定すると agentic_retrieval ツールが登録されます

MCP_RETRIEVAL_BACKEND

❌

セマンティック検索バックエンド: relace (デフォルト), codanna, chunkhound, または none

MCP_RETRIEVAL_HINT_POLICY

❌

検索ヒントポリシー: prefer-stale (デフォルト) または strict

MCP_BACKGROUND_INDEX_MONITOR

❌

ローカルインデックスの定期更新モニター(オプトイン)。固定された MCP_BASE_DIR とローカルバックエンドが必要

MCP_BACKGROUND_INDEX_INTERVAL_SECONDS

❌

ローカルインデックスモニターの定期実行間隔(秒)(デフォルト: 300)

MCP_BACKGROUND_INDEX_INITIAL_DELAY_SECONDS

❌

初回のローカルインデックスチェックまでの初期遅延(秒)(デフォルト: 30)

MCP_SEARCH_TURN_STATUS_MODE

❌

ターンステータスのユーザーメッセージポリシー: always (デフォルト), final-only, または off

SEARCH_BASH_TOOLS

❌

検索実行中の bash 有効化: 1 (オン、デフォルト), 0 (オフ)

SEARCH_LSP_TOOLS

❌

LSP 支援検索の有効化: 1 (オン), 0 (オフ、デフォルト)

MCP_BASE_DIR

❌

プロジェクトルートのオーバーライド(MCP Roots → Git → ワークスペースストレージ → CWD から自動検出)

MCP_LOGGING

❌

ファイルログ: off (デフォルト), safe, full

MCP_DOTENV_PATH

❌

設定を一元管理するための .env ファイルへのパス

* APPLY_PROVIDER と SEARCH_PROVIDER の両方が Relace 以外であり、かつ MCP_RETRIEVAL_BACKEND が codanna, chunkhound, none のいずれかである場合はオプションです。

.env の使用方法、エンコーディング設定、カスタム LLM プロバイダーなどの詳細については、docs/advanced.md を参照してください。

ツール

常に利用可能: fast_apply, agentic_search。agentic_retrieval は MCP_SEARCH_RETRIEVAL=1 が必要です。クラウドツールは MCP_RETRIEVAL_BACKEND=relace の場合のみ利用可能です。index_status は relace, codanna, chunkhound で利用可能で、MCP_RETRIEVAL_BACKEND=none の場合は非表示になります。

MCP ネイティブの検出機能を使用してください: ツールには list_tools()、リソースには list_resources() を使用します。

詳細なパラメータについては、docs/tools.md を参照してください。

言語サポート

LSP ツールは、システムにインストールされている外部言語サーバーを使用します。

言語

言語サーバー

インストールコマンド

Python

basedpyright

(バンドル済み)

TypeScript/JS

typescript-language-server

npm i -g typescript-language-server typescript

Go

gopls

go install golang.org/x/tools/gopls@latest

Rust

rust-analyzer

rustup component add rust-analyzer

ダッシュボード

操作を監視するためのリアルタイムターミナル UI。

pip install relace-mcp[tools]
relogs

詳細な使用方法については、docs/dashboard.md を参照してください。

ベンチマーク

Loc-Bench コードローカリゼーションデータセットを使用して agentic_search のパフォーマンスを評価します。

git clone https://github.com/possible055/relace-mcp.git
cd relace-mcp
uv sync --extra benchmark

# Build dataset from Hugging Face
uv run --extra benchmark python -m benchmark.cli.build_locbench --output artifacts/data/raw/locbench_v1.jsonl

# Run evaluation
uv run --extra benchmark python -m benchmark.cli.run --dataset artifacts/data/raw/locbench_v1.jsonl --limit 20

すべてのベンチマーク成果物は benchmark/.data/ に書き込まれます。

グリッド検索、分析ツール、メトリクスの解釈については、docs/benchmark.md を参照してください。

プラットフォームサポート

プラットフォーム

ステータス

備考

Linux

✅ 完全サポート

主要な開発プラットフォーム

macOS

✅ 完全サポート

すべての機能が利用可能

Windows

⚠️ 部分的

bash ツールは利用不可。完全な機能を利用するには WSL を使用してください

トラブルシューティング

エラーまたはメッセージ

解決策

RELACE_API_KEY is required ...

Relace プロバイダーまたはクラウドツールを使用する場合は RELACE_API_KEY を設定してください

NEEDS_MORE_CONTEXT

ターゲットブロックの近くに 1~3 個の固有のアンカー行を含めてください

INVALID_PATH

パスが存在し、MCP_BASE_DIR または許可された追加パス内にあることを確認してください

FILE_TOO_LARGE

ファイルが 10MB を超えています。変更を小さなファイルや編集に分割してください

ENCODING_ERROR

UTF-8 以外のプロジェクトでは RELACE_DEFAULT_ENCODING を明示的に設定してください

AUTH_ERROR

API キーとプロバイダーの設定を確認してください

RATE_LIMIT

後で再試行するか、リクエスト量を減らしてください

NETWORK_ERROR / TIMEOUT_ERROR

ネットワークアクセスを確認して再試行してください

APPLY_NOOP

マージが差分を生成できるように、より具体的なアンカーや具体的な新しい行を追加してください

MARKER_LEAKAGE

プレースホルダーマーカーがプレースホルダーとしてのみ使用され、期待されるリテラル出力として使用されていないことを確認してください

TRUNCATION_DETECTED

大規模な削除を伴う編集を分割するか、明示的な削除ディレクティブを使用してください

BLAST_RADIUS_EXCEEDED

変更をより小さく、より局所的な編集に分割してください

開発

git clone https://github.com/possible055/relace-mcp.git
cd relace-mcp
uv sync --extra dev --extra benchmark
uv run pytest
uv run --extra dev --extra benchmark pytest benchmark/tests -q

ライセンス

MIT

Available Tools

7 tools
cloud_clearA
Destructive

Delete cloud repository and local sync state. IRREVERSIBLE.

Removes all indexed data from Relace Cloud. Use cloud_list to find repo IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNoMust be True to proceed.
repo_idNoOptional repo ID to delete directly (use cloud_list to find). If not provided, deletes the repo associated with current directory.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it as destructive (destructiveHint=true). The description adds detail: 'IRREVERSIBLE' and clarifies it removes both cloud data and local sync state, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences plus a warning. All information is front-loaded with the core action, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists (not shown), return values are handled. The description covers the destructive nature, local state removal, and the confirm parameter. Could mention confirmation step explicitly, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear param descriptions. The description adds no extra meaning to params beyond hinting repo_id can come from cloud_list, but does not elaborate on confirm param or provide additional syntactic details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool deletes a cloud repository and local sync state, with the verb 'delete' and specific resource. It distinguishes from siblings like cloud_list (for listing) and implies this is for removal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using cloud_list to find repo IDs, providing helpful context. However, it does not explicitly state when to use this tool vs alternatives (e.g., cloud_sync) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloud_listA
Read-onlyIdempotent

[ADMIN] List all repositories in your Relace Cloud account.

Use to find repo_id for cloud_clear. Not needed for normal search/sync workflow. Returns repository IDs, names, and indexing status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint, idempotentHint; description adds that it returns specific fields and is admin-only, complementing without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with [ADMIN], no fluff; every sentence provides value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Has output schema for returns; description covers purpose, usage, and relationship to siblings; fully adequate for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist and schema coverage is 100%; description adds usage context (output fields) beyond schema, meeting baseline for zero-param case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it lists all repositories, with an admin prefix and explicit use case for cloud_clear, distinguishing from normal search/sync workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (find repo_id for cloud_clear) and when not needed (normal search/sync), providing clear differentiation from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloud_syncA
Idempotent

Upload or refresh codebase to Relace Cloud for semantic search.

Check index_status() first—skip this if cloud freshness is already 'fresh'. Syncs git-tracked files to enable cloud_search. Incremental by default.

Advanced (Relace-specific): force=True Re-upload all files; use after large refactors. force=True+mirror=True Delete cloud files absent locally; use after branch switch.

Returns: {sync_mode (str), files_created (int), files_updated (int), files_deleted (int), files_unchanged (int), warnings (list[str]), repo_id (str), repo_head (str)}. Check warnings[] for truncation or suppressed deletes. Fails if not in a git repo or RELACE_API_KEY is not set.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoIgnore cache, upload all files (default: false).
mirrorNoWith force=True, delete cloud files not in local (default: false).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Clearly discloses incremental default, idempotent nature (aligning with annotations), and potential destructive behavior of force+mirror, plus warnings about truncation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Structured in concise paragraphs with clear headings for advanced options, return format, and failure conditions—every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Thoroughly covers prerequisites, usage guidance, advanced options, return structure, and failure cases, leaving no gaps given the tool's complexity and existing annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant value beyond schema descriptions by explaining advanced use cases for force and mirror, including when to use each option.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb+resource ('Upload or refresh codebase to Relace Cloud for semantic search') and distinguishes from siblings by referencing index_status and cloud_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (after checking index_status), when to skip (if fresh), and provides advanced scenarios for force and mirror usage with concrete examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fast_applyA
Destructive

Edit or create a file using intelligent merging.

For new files: writes content directly. For existing files: merges edit_snippet with current content using anchor lines. Anchor lines are verbatim lines copied from the existing file that help locate the exact edit target. Include 1-2 unique lines adjacent to the change. Truncation markers are recommended for larger scoped edits but not required. Markdown files keep fenced code blocks verbatim; outer fence stripping is skipped for .md/.mdx targets.

On error, the response includes a code field:

  • NEEDS_MORE_CONTEXT: merge model could not locate the target - add 1-2 unique anchor lines from immediately around the edit location.

  • APPLY_NOOP: merge returned an identical file even though the snippet contained explicit remove directives or concrete new lines not present in the original.

  • BLAST_RADIUS_EXCEEDED: edit scope too large - split into smaller edits.

  • MARKER_LEAKAGE: placeholder marker text leaked into merged output (treated as literal text).

  • TRUNCATION_DETECTED: merged output shrank drastically and no explicit remove directive was provided.

On success: {status: "ok", diff: str | None (unified diff, None for new files or no-op)}.

Do NOT use this tool to delete files or clear file contents. Use a dedicated file management tool for those operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile path (absolute or relative to MCP_BASE_DIR; if MCP_BASE_DIR is unset, relative paths resolve against MCP Roots).
edit_snippetYesCode snippet representing the changes. Include only the lines being added or modified, plus placeholder comments for unchanged parts when useful for larger scoped edits: `// ... existing code ...` (JS/TS), `# ... existing code ...` (Python/shell). Anchor the edit with 1-2 verbatim lines from the existing file.
instructionNoOptional natural language hint to disambiguate the target location (e.g., 'add after imports', 'inside the if block').

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, consistent with a mutating edit. The description adds far more: explains the merging behavior with anchor lines, truncation markers, markdown handling, and a full set of error codes with their meanings and remedies. It also documents the success response format. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than minimal but well-structured: core purpose first, then merge details, then error codes, then a do-not-use note. Each sentence adds value. A slight trim could be made (e.g., the truncation markers sentence could be part of anchor lines), but overall it's efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (indicated by CONTEXT SIGNALS) and the input schema is fully described, this description is complete: it covers all behavioral aspects, error handling with codes, response format, and explicit exclusions. No gaps remain for an agent to misunderstand.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for all three parameters. The description still adds substantial value: for 'path' it clarifies resolution relative to MCP_BASE_DIR or MCP Roots; for 'edit_snippet' it gives concrete examples of placeholder comments and anchor line usage; for 'instruction' it provides natural language examples. This goes well beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Edit or create a file using intelligent merging,' which is a specific verb+resource pair. The sibling tools are all cloud/agentic search or index utilities, so this tool is clearly distinct as a file editing tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: for new files write directly, for existing files merge with anchors. It also provides a clear do-not-use instruction: 'Do NOT use this tool to delete files or clear file contents. Use a dedicated file management tool for those operations' – directly indicating when to avoid it and naming an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

index_statusA
Read-onlyIdempotent

Inspect the single active indexing backend in read-only mode.

Use this before retrieval when you need to know whether the active backend is fresh and whether semantic hints are usable. Returns active_backend, a single backend status object with freshness and hints_usable, and background_monitor (state, reason). This tool never refreshes indexes; if active_backend is relace and backend.status.needs_sync is true, run cloud_sync().

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
trace_idYesTrace ID for correlating logs for this tool call.
active_backendYesThe configured active indexing backend.
base_dirNoResolved repository base directory, if available.
base_dir_sourceNoHow the base directory was resolved, when resolution succeeded.
backendNoStatus summary for the active backend, when inspection succeeded.
background_monitorNoBackground monitor state summary, when inspection succeeded.
errorNoError message explaining why status inspection failed.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds key behavioral details: 'never refreshes indexes', conditions for needing cloud_sync, and outlines the return structure, which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the primary purpose, and every sentence provides essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema, the description sufficiently explains the return fields (active_backend, background_monitor) and the condition for using a sibling tool. It is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters (0 params, 100% coverage). The description adds no parameter info, which is appropriate as there are none. Baseline 4 is justified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the verb 'inspect', the resource 'single active indexing backend', and the mode 'read-only'. It clearly defines what the tool does and distinguishes it from siblings like 'cloud_sync'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('before retrieval when you need to know whether the active backend is fresh and whether semantic hints are usable') and when not to ('never refreshes indexes') with an alternative ('run cloud_sync()').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv0.2.4
    • Addedagentic_search
    • Addedcloud_clear
    • Addedcloud_list
    • Addedcloud_search
    • Addedcloud_sync
    • Changedfast_apply4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / edit_snippet / description
        Added value: +"Code snippet representing the changes. Include only the lines being added or modified, plus placeholder comments for unchanged parts when useful for larger scoped edits: `// ... existing code ...` (JS/TS), `# ... existing code ...` (Python/shell). Anchor the edit with 1-2 verbatim lines from the existing file."
      • addedInput schema / properties / instruction / description
        Added value: +"Optional natural language hint to disambiguate the target location (e.g., 'add after imports', 'inside the if block')."
      • addedInput schema / properties / path / description
        Added value: +"File path (absolute or relative to MCP_BASE_DIR; if MCP_BASE_DIR is unset, relative paths resolve against MCP Roots)."
    • Removedfast_search
    • Addedindex_status
  2. 5 tool updatesv1.0.0
    • Removedcloud_clear
    • Removedcloud_info
    • Removedcloud_list
    • Removedcloud_search
    • Removedcloud_sync
  3. 7 tool updates
    • First observedcloud_clear
    • First observedcloud_info
    • First observedcloud_list
    • First observedcloud_search
    • First observedcloud_sync
    • First observedfast_apply
    • First observedfast_search

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with descriptions that explicitly differentiate similar tools (e.g., agentic_search vs cloud_search based on query type). There is no functional overlap.

Naming Consistency3/5

Cloud operations use a consistent 'cloud_' prefix, but 'agentic_search', 'fast_apply', and 'index_status' break the pattern. Mix of verb_noun and adjective_noun styles reduces predictability.

Tool Count5/5

Seven tools is well-scoped for a code search and editing server. Each tool addresses a specific need without redundancy or excessive complexity.

Completeness3/5

Covers search (local and cloud) and file editing, but lacks tools for reading full file content, deleting files, or managing local files beyond edits. Users may need to rely on external tools for basic operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides AI-powered code intelligence for any codebase using local LLMs and vector search, enabling semantic code search, pattern analysis, and context-optimized code generation with 90% token savings.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI coding assistants to automatically scan, store, and query API endpoints from codebases, providing instant lookup and semantic search to reduce context switching and token consumption.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Make any LLM a codebase expert instantly. Provides deep code intelligence through semantic search, architecture mapping, security analysis, and smart context that fits perfectly in token windows.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents and IDEs to ingest and search code repositories using hybrid retrieval (dense + sparse) with exact line-level citations for precise code analysis.
    1
    -