Skip to main content
Glama

ontomics

Python Rust TypeScript JavaScript platform MCP MCP Registry Glama Claude Code Codex pi

ontomics는 모든 코딩 에이전트에게 코드베이스에 대한 즉각적인 지식을 제공합니다. 19번의 호출 대신 단 한 번의 도구 호출로 가능하며, 토큰 사용량을 약 20배 줄여줍니다.

https://github.com/user-attachments/assets/01afa8a0-1bc2-4686-94d7-965fef7610c3

voxelmorph 프로젝트 시각화 -- 이미지 등록을 위한 비지도 학습 라이브러리

벤치마크

Claude Sonnet으로 테스트 — 동일한 질문에 대해 ontomics 사용 여부 비교.

voxelmorph에서 "이 코드베이스에서 'transform'은 무엇을 의미하나요?" (전체 대화 기록):

ontomics 사용

미사용

도구 호출

1

19

토큰

~3.7k

~76k

시간

5초

1분 15초

답변 품질

완전함

완전함

ScribblePrompt에서 "이 코드베이스의 주요 도메인 개념은 무엇인가요?" (전체 대화 기록):

ontomics 사용

미사용

도구 호출

1

26

토큰

~3.7k

~61.6k

시간

~5초

56초

답변 품질

완전함

완전함

두 경우 모두 완전하고 정확한 답변을 생성했습니다. ontomics는 단 한 번의 호출로 이를 달성했습니다.

Related MCP server: Code-Index-MCP

검색이 할 수 없는 기능

검색은 문자열이 나타나는 위치를 알려줍니다. LSP는 심볼이 정의되고 참조되는 위치를 알려줍니다. 하지만 둘 다 "이 코드베이스의 도메인 개념은 무엇인가?", "그들은 어떻게 연관되어 있는가?", "어떤 명명 규칙이 나타났는가?", "마지막 릴리스 이후 도메인 어휘가 어떻게 변경되었는가?", "이름과 상관없이 어떤 함수들이 유사하게 동작하는가?"와 같은 질문에는 답하지 못합니다.

ontomics는 프로젝트 도메인의 의미론적 인덱스를 구축합니다. 관련 심볼을 개념으로 클러스터링하고, 사용 빈도에서 명명 규칙을 감지하며, 약어를 해결하고, 동작 유사성에 따라 함수를 그룹화하며, 시간이 지남에 따라 어휘가 어떻게 진화하는지 추적합니다. 해당 인덱스는 다른 저장소에서 규칙을 부트스트랩하기 위한 이식 가능한 아티팩트로 내보낼 수 있습니다.

동작 유사성

명명 및 개념을 넘어, ontomics는 CodeRankEmbed(768차원, 대조적 코드 검색)를 사용하여 원시 함수 본문을 임베딩하고 동작 유사성에 따라 클러스터링합니다. 이는 명명이나 호출 그래프가 노출하지 못하는 관계를 표면화합니다:

❯ What functions behave like spatial_transform()?

  random_transform()   nn/functional.py:352   0.80
  spatial_transform()  functional.py:596      0.69
  random_transform()   functional.py:1399     0.67
  random_disp()        nn/functional.py:275   0.65
  integrate_disp()     functional.py:764      0.65
  compose()            nn/functional.py:216   0.63
  disp_to_trf()        functional.py:343      0.62

결과는 또한 random_transform이 서로 다른 유사도 점수로 두 위치에 나타난다는 것을 보여줍니다 — 이는 개념 수준의 검색으로는 완전히 놓칠 수 있는 구현 중복의 징후입니다.

설치

한 번 설치하면 모든 프로젝트에서 사용할 수 있습니다. 설정이 필요 없습니다 — ontomics는 첫 실행 시 저장소를 자동으로 감지하고 인덱싱합니다.

ontomics는 git 저장소(.git/ 디렉토리)가 필요합니다. 홈, 루트 또는 임시 디렉토리는 인덱싱하지 않습니다. git이 아닌 디렉토리를 인덱싱하려면 --force를 전달하세요.

1. 바이너리 설치

npm (macOS/Linux):

npm install -g @ontomics/ontomics

macOS (Homebrew):

brew install EtienneChollet/tap/ontomics

Shell 설치 프로그램 (macOS/Linux):

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/EtienneChollet/ontomics/releases/latest/download/ontomics-installer.sh | sh

소스에서 빌드:

git clone https://github.com/EtienneChollet/ontomics.git
cd ontomics
cargo build --release

2. 하네스에 등록

Claude Code:

claude mcp add -s user ontomics -- ontomics

Codex:

codex mcp add ontomics -- ontomics

OpenClaw:

openclaw mcp set ontomics '{"command":"ontomics"}'

pi-coding-agent:

pi install npm:@ontomics/ontomics

팀과 공유 — 저장소 루트에 .mcp.json을 배치하세요:

{
  "mcpServers": {
    "ontomics": {
      "command": "npx",
      "args": ["-y", "@ontomics/ontomics", "--repo", "."]
    }
  }
}

지원 언어

Python, TypeScript, JavaScript, Rust. 파일 확장자에서 자동으로 감지됩니다.

도구

개념 및 어휘

도구

기능

query_concept

용어의 모든 변형, 관련 개념 및 발생 빈도 찾기

locate_concept

개념에 대한 주요 시그니처, 클래스 및 파일 찾기

describe_symbol

함수나 클래스에 대한 시그니처, 독스트링 및 관계 가져오기

trace_concept

호출 체인을 통해 개념이 코드베이스를 흐르는 방식 추적

list_concepts

빈도별 상위 도메인 개념 나열

list_conventions

감지된 모든 명명 패턴(접두사, 접미사, 변환) 나열

list_entities

개념, 역할 또는 종류별로 필터링된 코드 엔티티(클래스, 함수) 나열

check_naming

프로젝트 규칙에 따라 식별자 확인; 표준 형식 제안

suggest_name

프로젝트 어휘에 맞는 식별자 이름 생성

vocabulary_health

규칙 적용 범위, 명명 일관성 및 클러스터 응집도 측정

ontology_diff

git 참조 이후 새로 추가, 변경 또는 제거된 도메인 개념 표시

export_domain_pack

다른 저장소에서 사용할 수 있도록 도메인 지식을 이식 가능한 YAML로 내보내기

동작 유사성

도구

기능

find_similar_logic

임베딩 유사도 순으로 정렬된, 동작이 유사한 구현을 가진 함수 찾기

describe_logic

함수에 대한 동작 설명, 본문 텍스트 및 로직 클러스터 멤버십 가져오기

compact_context

LLM 소비에 최적화된 심볼에 대한 계층화된 컨텍스트(개념 + 로직) 구성

코드베이스 구조

도구

기능

describe_file

파일의 엔티티, 개념 및 관계에 대한 개요

concept_map

어떤 모듈이 어떤 도메인 개념을 포함하는지 표시

type_flows

주요 유형과 데이터가 코드베이스를 통해 흐르는 방식 표시

trace_type

특정 유형이 파일과 호출 사이트 전반에 걸쳐 전파되는 방식 추적

리소스

리소스

기능

ontomics://briefing

세션 브리핑: 주요 규칙, 약어, 핵심 개념, 대조 쌍 및 어휘 경고. ontomics briefing CLI를 통해서도 사용 가능.

작동 원리

ontomics는 API 키 없이 로컬 머신에서 완전히 실행되는 다단계 파이프라인을 운영합니다:

  1. 파싱(Parse) — tree-sitter가 소스 파일에서 모든 식별자, 시그니처 및 호출 사이트를 추출합니다.

  2. 분석(Analyze) — TF-IDF 점수가 도메인별 개념을 식별하고 명명 규칙을 감지합니다.

  3. 임베딩(개념) — BGE-small(384차원)이 의미론적 유사성에 따라 관련 개념을 클러스터링합니다.

  4. 임베딩(로직) — CodeRankEmbed(768차원)가 원시 함수 본문을 임베딩하고 동작 유사성에 따라 클러스터링합니다.

  5. 중심성(Centrality) — PageRank가 구조적 중요도에 따라 엔티티 점수를 매깁니다.

두 임베딩 모델 모두 첫 실행 시 한 번 다운로드되어 로컬에 캐시됩니다. 인덱스는 <repo>/.ontomics/index.db에 저장되며, 이후 시작 시 캐시에서 로드하고 파일 변경 사항을 감시합니다.

설정은 저장소 루트의 .mcp.json 또는 .ontomics/config.toml을 통해 수행합니다. 모든 필드에는 합리적인 기본값이 있습니다. 전체 설계 계약은 SPEC.md를 참조하세요.

Available Tools

19 tools
check_namingA

Check if an identifier follows project naming conventions — detects inconsistencies like 'n_dims' vs the project's 'ndim' convention, or 'numFeatures' vs 'nb_features'. Returns a consistent/inconsistent verdict with the canonical form and suggestions. Use before committing new code or when reviewing identifier names.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesThe identifier to check (e.g. 'n_dims')

TDQS

A4.2/5.0
Behavior4/5

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

Clearly describes it returns a verdict, canonical form, and suggestions. With no annotations, the description carries full burden and does so adequately, though it could explicitly state no side effects.

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?

Two sentences with examples and usage context—no wasted words. Front-loaded with purpose.

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?

Covers purpose, examples, usage guidance, and return type. Without output schema, the description of the verdict is slightly vague but 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%, and the description adds an example but no additional semantics beyond the schema's description of 'identifier'. Baseline 3 is appropriate.

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 checks identifier naming conventions with specific examples ('n_dims' vs 'ndim'), distinguishing it from siblings like 'suggest_name' or 'list_conventions'.

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

Usage Guidelines4/5

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

Explicitly says 'Use before committing new code or when reviewing identifier names', providing good context. However, it does not mention when not to use or list alternatives.

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

compact_contextA

Assemble minimal, token-efficient context for a concept, entity, or file — combines function body + structural summary + domain concepts + logic cluster into a compact text block suitable for LLM prompt injection. Much smaller than full source while preserving behavioral and structural information. Use when assembling context for another LLM, when asked to 'summarize X compactly', or when building prompts about codebase entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYesConcept name, entity name, or file path
max_tokensNoToken budget (default: 500)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It explains that the tool combines function body, structural summary, domain concepts, and logic cluster, but does not detail how it handles large scopes, truncation, or errors. The description is adequate but lacks edge-case transparency.

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 a concise two sentences: first sentence defines the purpose and output, second gives usage contexts. Every phrase earns its place, and the action verb 'Assemble' is front-loaded.

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 two parameters with full schema coverage and no output schema, the description explains the tool's purpose, components, and usage. It does not mention output format or limitations, but for a text assembly tool, it is sufficiently complete.

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%, and the description merely restates the parameter descriptions from the schema (scope as concept/entity/file path, max_tokens as token budget with default). It adds no new meaning beyond what the schema already provides.

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

Purpose4/5

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

The description clearly states that the tool assembles a token-efficient context for a concept, entity, or file, combining multiple aspects. It is clear what it does, but it does not explicitly differentiate from siblings like describe_file or concept_map, which also provide summaries.

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

Usage Guidelines4/5

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

The description provides explicit use cases: assembling context for another LLM, when asked to summarize compactly, or building prompts. However, it does not mention when not to use this tool or suggest alternative tools among the listed siblings.

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

concept_mapA

Semantic topology of the codebase — shows which directories concentrate which domain concepts, with entity counts and concept density. Use as a first call to understand codebase layout before drilling into specific concepts or symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses behavioral traits effectively: it provides a layout overview with counts and density, implying a read-only operation. It lacks explicit safety or performance details but adds value beyond the empty schema.

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?

Two sentences with no wasted words. The first sentence front-loads the core purpose and outputs, and the second provides usage context. Every sentence earns its place.

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?

For a zero-parameter tool with no output schema, the description is fairly complete: it explains what it does and when to use it. It could add detail about the output format, but it's adequate for an agent to select and invoke correctly.

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?

The input schema has zero parameters, so schema_description_coverage is 100%. The description does not need to add parameter info, and it doesn't. Baseline score of 3 is appropriate.

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 shows 'semantic topology of the codebase' with specific outputs like directories, entity counts, and concept density. It uses a specific verb 'shows' and resource, distinguishing it from sibling tools like list_concepts or query_concept by positioning it as an initial overview 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 says 'Use as a first call to understand codebase layout before drilling into specific concepts or symbols.' This provides clear when-to-use guidance and implies alternatives (drilling tools) without naming them explicitly, which is sufficient for an agent.

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

describe_fileA

Describe a file's structure WITHOUT reading it — returns classes, functions, and methods annotated with domain concepts and semantic roles. Use when you need to understand a file's shape, what symbols it contains, or what concepts it implements. Accepts partial paths (e.g. 'networks.py' matches 'src/networks.py'). Use describe_symbol to drill into any symbol shown.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile path or partial path to describe (e.g. 'networks.py')

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so the description carries the full burden. It correctly discloses that the tool does not read file content, accepts partial paths, and returns annotated symbols. It could mention that it is read-only and safe, but the description is clear enough.

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 the core purpose, no redundancy. Every sentence serves a clear function: purpose, usage guidance, and parameter behavior.

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 a single parameter, no output schema, and no annotations, the description covers all necessary information: what the tool does, when to use it, how parameters work, and what the return structure looks like. It is complete for an AI agent to invoke correctly.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that partial paths are accepted and giving an example ('networks.py' matches 'src/networks.py'), which is not in the schema description.

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 'Describe', the resource 'file's structure', and distinguishes it from siblings like 'describe_symbol' by emphasizing it does not read the file. It clearly states what it returns: classes, functions, methods annotated with domain concepts.

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 it ('when you need to understand a file's shape'), and provides an alternative tool ('Use describe_symbol to drill into any symbol shown'). This directly helps the agent decide between sibling tools.

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

describe_logicA

Describe the behavioral logic of a function or class — returns the raw function body, logic cluster membership (which other entities behave similarly), and structural centrality (PageRank importance in the dependency graph). Use when asked 'what does this function do internally', 'how does X work at a high level', or 'what is the logic of X'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFunction or class name

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the returned data (raw function body, cluster membership, centrality). It lacks details on side effects, permissions, error handling, or size limits. Overall adequate but not exhaustive.

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 two sentences with no redundant information. The first sentence states the core purpose and outputs, the second provides usage examples. Extremely concise and well-structured.

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?

For a simple tool with one parameter and no output schema, the description fully explains what the tool returns and gives sample queries. No further clarification is needed for correct usage.

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 description coverage is 100% for the single parameter 'name', which has a clear description. The tool description does not add additional semantics beyond the schema, so baseline 3 is appropriate.

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 explicitly states the tool 'Describe the behavioral logic of a function or class' and lists the specific returns (raw function body, logic cluster membership, structural centrality). It distinguishes from siblings like describe_symbol or describe_file by focusing on internal logic and dependencies.

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

Usage Guidelines4/5

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

The description provides explicit usage cues: 'Use when asked "what does this function do internally"...' This clearly indicates when to invoke. However, it does not mention when not to use or alternative tools for similar queries.

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

describe_symbolA

Describe a function or class WITHOUT reading its source file — returns signature, parameters, callers, callees, and related domain concepts. Faster and more informative than Read for understanding what a symbol does and how it fits into the codebase. Use when asked 'what does function X do' or 'what is class X'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFunction or class name (e.g. 'spatial_transform')

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that it returns signature, parameters, callers, callees, and domain concepts without reading source. No destructive hints, but could mention if it has any side effects or requires permissions.

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?

Two sentences, each adding value: first defines action and output, second gives usage pattern and comparison. No redundant words.

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?

For a single-parameter tool with no output schema, the description thoroughly covers what it does, when to use it, and what it returns. Sibling tools are distinct.

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%, so baseline is 3. The description adds no extra parameter info beyond the schema's 'Function or class name' description.

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's purpose: 'Describe a function or class WITHOUT reading its source file' and lists return values. It distinguishes from siblings like 'Read' by emphasizing it is faster and more informative.

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?

Explicit usage guidance: 'Use when asked what does function X do or what is class X.' Also contrasts with alternative (Read) to guide selection.

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

export_domain_packA

Export the project's full domain knowledge as a portable YAML pack — abbreviations, conventions, domain terms, and concept associations. Use when asked to 'export conventions', 'create a domain pack', or 'share naming rules'. The output can be reviewed, curated, and saved for use in other projects or tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, but description effectively explains non-destructive export behavior and output nature. Does not mention potential size or scope limitations, but overall transparent given zero parameters.

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 concise sentences: first defines action/content, second provides usage guidance, third describes output utility. No redundant or missing information.

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?

No output schema, but description sufficiently explains the YAML pack output and its contents. With zero parameters, the description covers all necessary context for an agent to use the tool correctly.

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?

Tool has no parameters, and schema coverage is 100% (empty). Description adds no further parameter info, which is acceptable as baseline for zero-parameter tools.

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 exports full domain knowledge as a portable YAML pack, listing specific contents (abbreviations, conventions, terms, associations) and use cases. Distinguishes from sibling tools like list_concepts or list_conventions by being a comprehensive export.

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

Usage Guidelines4/5

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

Explicitly defines when to use with phrases like 'export conventions', 'create a domain pack', 'share naming rules'. Lacks direct comparison to alternative tools or when not to use, but trigger phrases are clear.

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

find_similar_logicA

Find entities with similar behavioral patterns — uses logic embeddings to find functions/classes that do similar things regardless of naming. Returns similarity scores. Use when asked 'what other functions do the same thing', 'find similar implementations', or 'what behaves like X'.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesEntity name to compare against
top_kNoMax similar entities to return (default: 5)

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must cover Behavioral traits. It explains the method (logic embeddings) and what is returned (similarity scores), but doesn't explicitly state it's read-only or mention any side effects or permissions.

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?

Two sentences plus a list of example queries. No unnecessary words, front-loaded purpose, very efficient.

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

Completeness3/5

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

Given no output schema, the description briefly mentions returns similarity scores but does not describe the result structure, leaving some ambiguity for an agent.

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%, so the schema already describes both parameters. The description does not add additional parameter-level details beyond what the schema provides, meeting the baseline.

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 it finds entities with similar behavioral patterns using logic embeddings, and explicitly distinguishes from naming-based similarity. It gives concrete query examples.

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?

Provides explicit natural language triggers like 'what other functions do the same thing' and clarifies it ignores naming, which effectively guides an agent on when to use it.

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

list_conceptsA

List the project's domain vocabulary ranked by importance — a semantic overview of what this codebase is about that reading individual files cannot provide. Returns concept names as a ranked list. Use query_concept or locate_concept to drill into any result. Use when asked 'what is this project about', 'what are the main concepts', or when orienting in an unfamiliar codebase.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_kNoMaximum number of concepts to return

TDQS

A4.4/5.0
Behavior4/5

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

Discloses it returns a ranked list of concept names, implying a read operation. No annotations provided, but description adequately conveys its non-destructive nature and output format.

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?

Two sentences, front-loaded with purpose, no redundancy, efficiently conveys all necessary information.

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?

Covers output (ranked list of concept names), usage context, and relationship to siblings. Given no output schema, it explains return values adequately. Could mention default behavior for top_k, but overall complete.

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 describes the one optional parameter (top_k) as maximum number of concepts to return. Tool description does not add extra context beyond schema, but schema coverage is 100% so baseline 3 is appropriate.

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 lists the project's domain vocabulary ranked by importance, providing a semantic overview. It distinguishes from sibling tools like query_concept and locate_concept for drilling down.

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 tells when to use the tool: when asked about project's main concepts or orienting in an unfamiliar codebase. Also guides to use query_concept or locate_concept for further exploration.

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

list_conventionsA

List the project's actual naming conventions detected from code — prefix patterns (nb_, is_, has_), suffix patterns, conversion patterns (x_to_y), and casing rules, each with real examples from the codebase. More accurate than guessing from a few files. Use when asked about coding style, before writing new code, or when onboarding to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description must carry burden. It discloses that conventions are detected from code and provides real examples, but does not state read-only nature or side effects. Adequate but not explicit.

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?

Two sentences: first describes outputs, second provides usage guidance. No filler, front-loaded with key information.

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 no parameters or output schema, description covers what is returned (patterns and examples) and when to use. Could benefit from mentioning return structure, but adequate for the tool's simplicity.

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; schema coverage is trivially 100%. Baseline for 0 params is 4. Description adds value by explaining the tool's return content, so score holds at 4.

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 'list' and resource 'naming conventions', detailing prefix, suffix, conversion, and casing patterns with examples. It clearly distinguishes from sibling check_naming by focusing on an overview.

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

Usage Guidelines4/5

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

Explicitly states when to use: when asked about coding style, before writing new code, or when onboarding. Does not mention alternatives or when not to use, but context is clear.

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

list_entitiesA

Find all classes and functions matching a concept — e.g. all loss functions, all network architectures, all transform utilities. Returns entity names with their domain concept tags. Use describe_symbol to drill into any result. Impossible with grep alone because it understands which functions implement a concept, not just mention it. Use when asked 'what loss functions exist', 'show me the network classes', 'what uses concept X', or 'list all X'.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptNoFilter by concept (e.g. 'loss')
roleNoFilter by semantic role substring (e.g. 'module')
kindNoFilter by entity kind
top_kNoMax entities to return (default: 20)

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so the description carries the burden. It implies a read-only query operation through examples and purpose, but does not explicitly state non-destructiveness or other behavioral traits. Still, the intent is clear and no contradictions exist.

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 concise with two main sentences plus usage examples. It is front-loaded with the core purpose, and every sentence contributes value. No unnecessary words.

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 no output schema, the description mentions return of 'entity names with their domain concept tags', which is adequate but could specify format or pagination. It is fairly complete for a list tool, with enough context to guide the agent.

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 description coverage is 100%, so baseline is 3. The description adds example values for 'concept' but does not elaborate on 'role' or 'top_k' beyond what the schema already provides. It adds mild context but no substantial new meaning.

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 finds classes and functions matching a concept, with examples like 'loss functions' and 'network architectures'. It directly addresses the intent of listing entities by concept and distinguishes from the sibling 'describe_symbol' by mentioning drilling down.

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 provides explicit usage scenarios with example queries ('what loss functions exist', 'list all X') and contrasts with grep, explaining when this tool is superior. It also directs users to 'describe_symbol' for further details, setting clear boundaries.

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

locate_conceptA

Find the best entry points for understanding a concept — returns a ranked shortlist of key functions, classes, and files to read, plus contrastive concepts that clarify boundaries. Saves reading dozens of grep matches by surfacing the most important locations first. Use when asked 'how does X work', 'where should I look for X', or 'where are X defined'.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesConcept to locate (e.g. 'transform')

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, but description implies a read-only operation that ranks results. It does not disclose potential side effects, rate limits, or response structure beyond the shortlist. Adequate but could explicitly state it's non-destructive.

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?

Two sentences, no redundant information. First sentence defines function and output, second gives use cases. Efficient and well-structured.

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?

For a simple tool with one parameter and no output schema, the description is complete: it explains purpose, typical use cases, and the nature of the result (ranked shortlist). No gaps.

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 single parameter 'term' is fully described in the schema, and the description adds context (e.g., 'e.g. 'transform''). The description explains how the parameter is used to find entry points, adding meaning beyond schema.

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 finds best entry points for understanding a concept, returning a ranked shortlist of key functions, classes, and files, plus contrastive concepts. It distinguishes from sibling tools like 'trace_concept' by focusing on initial exploration.

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

Usage Guidelines4/5

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

Provides explicit use cases ('how does X work', 'where should I look for X'), giving clear context for when to invoke. Lacks explicit guidance on when not to use or direct alternatives, but the specificity is strong.

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

ontology_diffA

Compare the domain ontology between two git revisions — shows concepts that were added, removed, or changed. Useful for understanding how the project's vocabulary evolved across commits or for reviewing whether a PR introduced naming inconsistencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoGit ref to diff from (default: HEAD~5)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description bears full transparency responsibility. It only mentions comparing revisions and showing changes, but does not disclose prerequisites (e.g., git availability), performance, or output format. Minimal behavioral insight.

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 consists of two sentences, with the primary action front-loaded. No redundant or extra information, every sentence adds value.

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

Completeness3/5

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

Given no output schema and moderate complexity, the description lacks details on the output format (list vs diff). It mentions 'shows concepts' but not how they are presented. Siblings imply more context might be needed, but description is adequate for basic use.

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 description coverage is 100% for the single parameter 'since', which has a clear description in the schema. The tool description does not add extra meaning beyond what the schema provides, so baseline 3 is appropriate.

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 compares domain ontology between two git revisions, showing added, removed, or changed concepts. This is a specific verb and resource, and distinguishes from sibling tools like list_concepts or concept_map.

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

Usage Guidelines4/5

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

The description explicitly states it is useful for understanding vocabulary evolution and PR review, providing clear usage context. It does not mention when not to use or alternative tools, but the context is strong enough for a 4.

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

query_conceptA

Semantic concept lookup — returns all variants (including abbreviations like trf for transform), related concepts, naming conventions, function signatures, and file locations in one call. Richer than grep: querying 'transform' also finds 'trf', 'spatial_transform', 'apply_transform', and related concepts like 'displacement'. Use when asked 'what is X', 'what does X mean', or 'where is X used'.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesThe concept term to look up (e.g. 'transform')
max_relatedNoMax related concepts to return (default: 10)
max_occurrencesNoMax occurrence locations to return (default: 5)
max_variantsNoMax variant identifiers to return (default: 20)
max_signaturesNoMax function signatures to return (default: 5)

TDQS

A4.4/5.0
Behavior4/5

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

While no annotations are provided, the description discloses that the tool returns multiple types of information in one call and gives a detailed example of query expansion. It does not explicitly state read-only or side-effect-free, but the name and context imply a query operation. Lacks some nuance like whether results are cached or ordered, but sufficient for most use cases.

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?

Two sentences plus a usage tip, all front-loaded with the core purpose. No filler, every word earns its place.

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 tool has 5 optional parameters and no output schema, the description covers the return types (variants, related concepts, etc.) reasonably well. It differentiates from grep but not from sibling tools like concept_map or locate_concept, which may overlap. Still, it's sufficiently complete for a query tool.

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%, so the schema already documents all parameters. The description adds no additional parameter-level meaning beyond the schema, e.g., no format constraints or examples. Baseline 3 is appropriate.

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 does a 'semantic concept lookup' returning variants, related concepts, naming conventions, function signatures, and file locations. It distinguishes from grep with a concrete example (querying 'transform' finds 'trf', etc.), making the purpose specific and actionable.

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 says when to use: 'when asked what is X, what does X mean, or where is X used'. Also contrasts with grep as an alternative, providing clear usage context without needing negative examples.

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

suggest_nameA

Generate project-consistent identifier names from a natural language description. Uses the project's actual conventions (prefixes like nb_, patterns like is_/has_, conversion patterns like x_to_y) to suggest names that fit the existing codebase style. Use when naming new functions, variables, or parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesNatural language description (e.g. 'count of features')

TDQS

A4.4/5.0
Behavior4/5

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

Describes that it uses project conventions and suggests names fitting existing style. No annotations provided, so description carries full burden; it adequately conveys the tool's behavior without contradictions, but could mention that it does not modify anything.

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?

Two succinct sentences that are front-loaded with the core purpose, no wasted words.

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?

For a single-parameter tool with no output schema, the description is mostly complete. It could clarify the return format (e.g., list of suggested names), but the essential purpose and usage are clear.

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?

Schema coverage is 100% with a description for the 'description' parameter. The tool's description adds an example ('count of features'), enhancing understanding 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?

Clearly states it generates identifier names from natural language using project conventions, with specific examples of patterns. Distinguishes from siblings (e.g., check_naming) by focusing on generation rather than validation.

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

Usage Guidelines4/5

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

Explicitly specifies 'Use when naming new functions, variables, or parameters.' Provides clear context for when to use, though does not mention when not to use or alternative tools.

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

trace_conceptA

Trace how a domain concept flows through the codebase via function call chains — shows which functions produce the concept, which consume it, and the call path between them including bridge functions on the path. Returns an ordered call chain with file locations and producer/ consumer roles. Use when asked 'how does concept X propagate', 'what calls what for X', or 'trace X through the code'.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYesThe concept to trace (e.g. 'transform')
max_depthNoMaximum call chain depth (default: 5)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description provides substantial behavioral detail: it returns an ordered call chain with file locations and producer/consumer roles, and includes bridge functions on the path. It does not mention side effects or safety, but the read-only nature is implied. The description goes a long way in disclosing behavior beyond the basic purpose.

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 only three sentences, each serving a clear purpose: first sentence states the main purpose and what it shows, second describes the return value, third provides example queries. No wasted words, front-loaded with the core action.

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 the tool has no output schema, the description adequately explains the return value (ordered call chain with locations and roles). It covers the key inputs (concept, depth) and what they affect. The description is complete enough for an agent to understand what the tool does and what it returns, even in the context of 18 sibling tools.

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?

The input schema has 100% description coverage; the schema itself describes 'concept' as 'The concept to trace (e.g. "transform")' and 'max_depth' as 'Maximum call chain depth (default: 5)'. The description does not add significant meaning beyond what the schema provides, only mentioning 'maximum call chain depth' implicitly. Thus, it meets the baseline but does not exceed it.

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's purpose: to trace how a domain concept flows through code via function call chains. It specifies what it shows (producers, consumers, call paths, file locations, roles) and uses specific verb phrases like 'trace', 'shows', 'returns'. The name 'trace_concept' is accurately described, distinguishing it from siblings like 'trace_type' or 'type_flows'.

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

Usage Guidelines4/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: when asked about concept propagation, 'what calls what for X', or 'trace X through the code'. It implies exclusion of other sibling tools (e.g., trace_type for types) but does not explicitly mention when not to use it. Overall, clear context is provided.

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

trace_typeA

Find all data-flow edges involving a specific type. Shows which functions pass and receive this type through call edges. Use when asked 'where does Tensor flow', 'how is type X passed around', or 'which functions use type X'.

ParametersJSON Schema
NameRequiredDescriptionDefault
type_nameYesThe type to trace (e.g. 'Tensor', 'np.ndarray')

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the tool outputs edges and functions passing/receiving the type, but lacks details on potential constraints (e.g., only call edges) or side effects. Adequate but not rich.

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 extremely concise: two sentences that front-load the purpose and immediately provide usage examples. No wasted words; every sentence earns its place.

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?

For a simple tool with one parameter and no output schema, the description is complete. It explains what the tool does, how to use it with examples, and the kind of output (edges, functions). No gaps for this complexity level.

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?

Schema coverage is 100% for the single parameter. The description adds context by explaining how the type_name parameter is used to find edges, going beyond the schema's description. The baseline is 3 but the additional explanation justifies a 4.

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 finds all data-flow edges involving a specific type and shows which functions pass/receive it. It provides concrete example queries ('where does Tensor flow') that distinguish it from sibling tools like trace_concept.

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

Usage Guidelines4/5

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

The description gives explicit usage scenarios with example queries, telling the agent when to use this tool. However, it does not mention when not to use it or provide alternatives, missing some guidance for exclusion.

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

type_flowsA

Trace how types flow through the codebase along call edges. Shows which types dominate the data pipeline and how they propagate between functions. Returns all typed data-flow edges, dominant types ranked by frequency, and counts of typed vs untyped call edges.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the tool returns three types of data: edges, dominant types, and counts. This gives insight into the tool's behavior without stating side effects, but is sufficient for a read-only analysis tool.

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, each adding distinct information. Front-loaded with the main action. No redundancy or waste.

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?

No output schema exists, so description must explain return values. It covers edges, dominant types, and counts, but lacks detail on format or structure. Acceptable for a zero-parameter 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?

Input schema has zero parameters, so description cannot add param info. Baseline 4 applies. The description adds value by explaining output, which is relevant when no params are expected.

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 a clear verb ('trace') and resource ('types flowing through codebase along call edges'). It distinguishes from siblings like 'trace_type' by focusing on global dominance analysis rather than tracing a single type's path.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., trace_type for specific type tracing). The description only states what it does, not context or exclusions.

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

vocabulary_healthA

Measure the vocabulary health of this codebase — returns convention coverage (how many identifiers follow conventions), consistency ratio (how uniformly concepts are spelled), and cluster cohesion (how well semantic clusters hold together). Use when asked about code quality, naming consistency, or vocabulary health. Returns an overall score plus top inconsistencies and uncovered identifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns an overall score plus top inconsistencies and uncovered identifiers. It does not mention side effects (likely none). Could benefit from stating that it is a read-only operation.

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, each adding value: purpose, usage guidance, and output description. No redundant or extraneous information.

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?

Despite having no output schema, the description clearly explains the return value (overall score plus top inconsistencies and uncovered identifiers). This is sufficient for an agent to understand the tool's output.

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, so schema description coverage is effectively 100%. The description adds value by explaining the metrics returned, which compensates for the lack of parameter documentation.

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 measures vocabulary health with three specific metrics (convention coverage, consistency ratio, cluster cohesion). It uses a specific verb+resource and distinguishes from sibling tools like check_naming and suggest_name.

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

Usage Guidelines4/5

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

Provides explicit usage context: 'Use when asked about code quality, naming consistency, or vocabulary health.' No exclusions or alternatives are mentioned, but given the tool's specificity, it is sufficient.

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. 1 tool updatev0.2.8
    • Addedquery_concept
  2. 1 tool updatev0.2.5
    • Removedquery_concept

TDQS

A3.9/5.0

Scored across 19 tools

Disambiguation3/5

The tools are mostly distinct in intent, but several clusters are easy to confuse: describe_file vs describe_symbol vs describe_logic, query_concept vs locate_concept vs list_concepts vs concept_map, and type_flows vs trace_type. An agent would need to read descriptions carefully to pick the right one.

Naming Consistency3/5

Most tools follow a verb_noun pattern (query_concept, describe_file, trace_concept), but several use noun-ish names like type_flows, ontology_diff, concept_map, and vocabulary_health. The naming is descriptive and snake_case throughout, but the verb placement is inconsistent.

Tool Count3/5

19 tools is on the heavy side and there is functional overlap in the concept/type/naming clusters. However, the domain is broad enough that most tools have a distinct purpose, so the count is defensible but borderline.

Completeness4/5

The toolset covers file/symbol/logic description, concept queries, type flow tracing, naming-convention analysis, ontology diffing, and context generation. It's read-only and lacks direct code editing or ontology update tools, but for analysis-oriented ontology tasks it is quite complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Local-first code indexer that provides deep code understanding for Claude and other LLMs with symbol/text search across 48+ languages, semantic search capabilities, and real-time index updates through the Model Context Protocol.
    58
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local-first codebase intelligence tool that enables AI assistants to research codebases using semantic search, multi-hop relationship discovery, and structural parsing. It allows users to extract architectural patterns and institutional knowledge across 30+ programming languages through an MCP-compatible interface.
    2
    1,022 PyPI
    1,447
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Persistent codebase knowledge layer for AI agents. Pre-digests codebases into structured knowledge (symbols, dependency graphs, co-change patterns, architectural decisions) and serves via MCP. 28 languages, 14 tools, ~85% token reduction.
    11 npm
    8
    MIT