Skip to main content
Glama

🗺️ CodeAtlas MCP 서버

AI 어시스턴트에게 모든 코드베이스에 대한 깊은 이해력을 제공하세요

npm CI License Node

Gemini, Claude, Cursor, Windsurf, VS Code Copilot에 코드 분석 데이터를 제공하는 독립형 MCP 서버로, 대화 간 지속적인 AI 메모리를 지원합니다.


✨ 주요 기능

Your Code → CodeAtlas Analyze → MCP Server → AI Understands Everything
                                     │
                              10 powerful tools:
                              • Search functions & classes
                              • Trace feature flows
                              • Generate architecture diagrams
                              • Persistent memory across conversations

CodeAtlas 이전: AI는 맹목적으로 grep을 수행하며, 대화가 바뀔 때마다 프로젝트를 잊어버립니다. CodeAtlas 이후: AI가 아키텍처와 의존성을 즉시 파악하고 컨텍스트를 기억합니다.


Related MCP server: code-intel MCP Server

🚀 설정 (1분 소요)

1. 프로젝트 분석

CodeAtlas 확장 프로그램을 설치한 후 다음을 수행하세요:

Ctrl+Shift+P → CodeAtlas: Analyze Project

2. AI에 MCP 설정 추가

{
  "mcpServers": {
    "codeatlas": {
      "command": "npx",
      "args": ["-y", "@giauphan/codeatlas-mcp"]
    }
  }
}
{
  "mcpServers": {
    "codeatlas": {
      "command": "npx",
      "args": ["-y", "@giauphan/codeatlas-mcp"]
    }
  }
}
{
  "mcp": {
    "servers": {
      "codeatlas": {
        "command": "npx",
        "args": ["-y", "@giauphan/codeatlas-mcp"]
      }
    }
  }
}
{
  "mcpServers": {
    "codeatlas": {
      "command": "npx",
      "args": ["-y", "@giauphan/codeatlas-mcp"]
    }
  }
}
claude mcp add codeatlas -- npx -y @giauphan/codeatlas-mcp
{
  "mcpServers": {
    "codeatlas": {
      "command": "npx",
      "args": ["-y", "@giauphan/codeatlas-mcp"]
    }
  }
}

완료! 이제 AI가 10가지 CodeAtlas 도구를 모두 사용할 수 있습니다.


🛠️ 10가지 MCP 도구

코드 분석 (6개 도구)

도구

설명

사용 예시

list_projects

분석된 모든 프로젝트 나열

"내 프로젝트가 뭐야?"

get_project_structure

모듈, 클래스, 함수 가져오기

"모든 클래스를 보여줘"

get_dependencies

가져오기/호출/포함 관계

"UserService는 무엇에 의존해?"

get_insights

코드 품질 및 보안 분석

"보안 문제가 있어?"

search_entities

이름으로 엔티티 퍼지 검색

"로그인 함수 찾아줘"

get_file_entities

특정 파일의 모든 엔티티

"auth.ts에 뭐가 들어있어?"

아키텍처 시각화 (2개 도구)

도구

설명

사용 예시

generate_system_flow

Mermaid 아키텍처 다이어그램 (모듈 임포트)

"시스템 아키텍처를 보여줘"

generate_feature_flow_diagram ⭐

Mermaid 실행 흐름 다이어그램 (호출 체인)

"결제 기능은 어떻게 작동해?"

AI 메모리 (2개 도구)

도구

설명

사용 예시

sync_system_memory

컨텍스트를 .agents/memory/에 저장

"우리가 변경한 내용을 기억해"

trace_feature_flow

코드베이스를 통한 기능 추적

"auth에는 어떤 파일들이 관련돼?"


🧠 AI 메모리 — 지속적인 컨텍스트

AI 어시스턴트는 대화가 끝나면 모든 것을 잊어버립니다. CodeAtlas는 이를 다음과 같이 해결합니다:

Conversation 1 → AI analyzes code → sync_system_memory
                                          │
                                   .agents/memory/
                                   ├── system-map.md       ← Architecture diagram
                                   ├── modules.json        ← All entities
                                   ├── conventions.md      ← Code patterns
                                   ├── business-rules.json ← Domain logic
                                   ├── feature-flows.json  ← Feature traces
                                   └── change-log.json     ← Change history
                                          │
Conversation 2 → AI reads memory → full context restored instantly ✨

자동 생성된 IDE 규칙

Analyze Project를 실행하면 CodeAtlas가 AI IDE를 위한 규칙 파일을 자동으로 생성합니다:

생성된 파일

대상

.agents/rules/codeatlas-mcp.md

모든 AI 어시스턴트

.cursor/rules/codeatlas.mdc

Cursor

CLAUDE.md

Claude Code

.windsurfrules

Windsurf

이 파일들은 AI에게 다음을 지시합니다:

  1. 모든 대화 시작 시 .agents/memory/를 읽을 것

  2. 변경 사항을 만들기 전에 MCP 도구를 사용할 것

  3. 변경 완료 후 sync_system_memory를 호출할 것


🌍 지원 언어

언어

기능

TypeScript / JavaScript

전체 AST: 임포트, 클래스, 함수, 변수, 호출, 구현

Python

클래스, 함수, 변수, 임포트, 호출

PHP

클래스, 인터페이스, 트레이트, 열거형, 함수, 속성

Blade Templates

@extends, @include, @component, <x-component>


📦 대안: 전역 설치

npm install -g @giauphan/codeatlas-mcp

그런 다음 MCP 설정에서 "command": "codeatlas-mcp"를 사용하세요 (args는 필요 없음).


🔧 환경 변수

변수

설명

CODEATLAS_PROJECT_DIR

특정 프로젝트 디렉토리 강제 지정

기본적으로 서버는 ~/ 아래에서 .codeatlas/analysis.json이 있는 모든 프로젝트를 자동으로 검색합니다.


🧑💻 개발

git clone https://github.com/giauphan/codeatlas-mcp.git
cd codeatlas-mcp
npm install
npm run build
npm test    # 6 tests
npm start   # Start MCP server

🔗 관련 링크

라이선스

MIT — 개인 및 상업적 용도로 무료 사용 가능.

Available Tools

10 tools
generate_feature_flow_diagramA

Generate a Mermaid diagram showing the EXECUTION FLOW of a feature. Unlike generate_system_flow (which shows module imports), this traces the actual call chain: entry point → controller → service → model → database. Given a keyword, it finds all related functions and classes, then builds a flowchart or sequence diagram showing how they call each other at runtime. This is the best tool for understanding HOW a feature works step-by-step.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
keywordYesFeature keyword to trace (e.g. 'login', 'payment', 'upload', 'auth')
diagramTypeNoType of Mermaid diagram: 'flowchart' (default) shows call graph, 'sequence' shows step-by-step execution order
depthNoHow many call hops to follow (default: 3)
maxNodesNoMaximum nodes in diagram (default: 40)

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 the full burden. It explains that the tool traces the actual call chain and builds diagrams, but does not mention any side effects or resource usage. However, it does not contradict annotations and provides sufficient transparency for a generation 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?

The description is concise, consisting of three sentences that front-load the main purpose, then differentiate from a sibling, and finally give additional context. 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 the tool's complexity (5 parameters, no output schema), the description explains the tool's output type (Mermaid diagram) and key parameters. It lacks details on return format or examples but is sufficient for understanding the tool's role.

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% coverage with descriptions for all five parameters. The tool description adds minimal additional meaning beyond the schema (e.g., general flow description but not specific to parameters). Therefore, a 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 generates a Mermaid diagram of execution flow, distinguishing it from the sibling 'generate_system_flow' which shows module imports. It specifies the call chain tracing and the types of diagrams, leaving no ambiguity about the tool's purpose.

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 contrasts this tool with 'generate_system_flow', indicating when to use this one (for understanding how a feature works step-by-step). It also mentions it is best for this purpose, providing clear usage guidance.

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

generate_system_flowB

Auto-generate a Mermaid flowchart diagram showing how modules, classes, and functions connect in the system. Returns a Mermaid diagram string that AI can read to understand the full system flow without reading every file.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
scopeNoScope of the diagram: 'full' shows all entities, 'modules-only' shows only module relationships (recommended for large projects), 'feature' requires the 'feature' param
featureNoFeature keyword to focus the diagram on (e.g. 'auth', 'crawl', 'payment'). Only used when scope='feature'
maxNodesNoMaximum nodes in diagram (default: 60). Reduce for large projects

TDQS

B3.4/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 disclose behavioral traits. It states the tool is auto-generating and returns a diagram string, but lacks details on whether it is read-only, performance implications, accuracy, or limitations (e.g., dynamic connections). The basic behavior is conveyed, but not comprehensively.

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 consists of two concise sentences that front-load the core purpose and output. It is efficient with no wasted words, though a slightly more structured breakdown of when each scope is appropriate could improve comprehension.

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?

With 4 well-documented parameters and no output schema, the description is adequate for basic usage but lacks critical guidance on sibling tool differentiation and behavioral context (e.g., read-only nature). It is incomplete for nuanced decision-making.

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 for all 4 parameters, so the schema already explains them adequately. The description adds no additional meaning beyond what the schema provides, meeting the baseline for high coverage.

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 the tool auto-generates a Mermaid flowchart showing module/class/function connections, specifying the output type. However, it does not explicitly differentiate from sibling 'generate_feature_flow_diagram', relying on the name and scope inference.

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 implies use for understanding system flow without reading files, but gives no explicit guidance on when to use this vs. alternatives like 'generate_feature_flow_diagram' or 'get_dependencies'. No exclusion criteria or prerequisites are mentioned.

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

get_dependenciesB

Get import/call/containment/implements relationships between entities. Shows how modules, classes, and functions are connected.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
sourceNoFilter by source entity name
targetNoFilter by target entity name
relationshipNoFilter by relationship type
limitNoMax results (default: 100)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should compensate but does not disclose behavioral traits (e.g., database load, pagination, error handling). It only states the function, missing side effects or performance considerations.

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 fluff. First sentence gives the core action, second adds detail. Appropriate length for the tool's complexity.

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

Completeness2/5

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

Given 5 parameters, many siblings, no output schema, and no annotations, the description is too minimal. It doesn't explain return format, defaults, or edge cases, leaving an AI agent with insufficient context.

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 parameters are already described. The description adds context about entity types (modules, classes, functions) but does not enhance parameter meaning beyond schema defaults.

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 retrieves specific dependency types (import, call, containment, implements) for entities like modules, classes, and functions. It differentiates from siblings like trace_feature_flow, which focus on user behavior flows.

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 like trace_feature_flow or search_entities. The description does not specify context, prerequisites, or exclusion criteria.

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

get_file_entitiesC

Get all entities (classes, functions, variables) defined in a specific file.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
filePathYesFile path (partial match, e.g. 'User.php' or 'src/models')

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description must cover behavior. It only states the purpose without disclosing error handling, performance, or safety aspects. No mention of read-only nature or potential 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?

Single sentence with 12 words, directly conveying the tool's function without redundancy. Every word adds value.

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

Completeness2/5

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

Lacks output schema and does not describe return format or content details. Agent cannot infer whether results include entity types, locations, or other metadata needed for downstream tasks.

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 the schema already documents both parameters. The description adds no additional meaning 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.

Purpose4/5

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

The description clearly states the tool retrieves entities (classes, functions, variables) from a specific file. It provides a specific verb and resource, but does not differentiate from siblings like get_project_structure or search_entities.

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 like get_dependencies or search_entities. Missing context on prerequisites or scenarios where this tool is preferred.

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

get_insightsA

Get AI-generated code insights including refactoring suggestions, security issues, and maintainability analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only lists output types. It fails to disclose whether it is read-only, requires authentication, or any potential side effects. No behavioral traits are mentioned.

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?

A single sentence that is clear and front-loaded with the main action. No wasted words.

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?

For a simple tool with no params and no output schema, the description covers the core purpose. However, it lacks context about when to invoke it and any constraints, making it adequate but not complete.

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 schema coverage is 100%. The description adds value by explaining what the tool returns, which is sufficient for a no-parameter tool. Baseline 4 applies.

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: retrieving AI-generated code insights covering refactoring, security, and maintainability. It is specific and differs from sibling tools like get_dependencies or get_file_entities.

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. The description does not indicate prerequisites, limitations, or scenarios where other tools would be more appropriate.

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

get_project_structureA

Get all modules, classes, functions, and variables in the analyzed project. Returns entity type, name, file path, and line number.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path (auto-detects if omitted)
typeNoFilter by entity type
limitNoMax results to return (default: 100)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the behavioral transparency burden. It only mentions what is returned, omitting behavioral traits such as performance, pagination behavior, or any side effects. This is minimal disclosure.

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 single concise sentence (18 words) that front-loads the main purpose without any fluff or redundant 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?

For a query tool with 3 optional parameters and no output schema, the description covers the core purpose and returned fields, but omits details like the default behavior of the 'limit' parameter or how auto-detection works for 'project'. Still 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%, so the schema already documents all parameters. The description does not add additional meaning beyond the schema, meeting the baseline of 3.

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 verb 'Get' and the resource 'modules, classes, functions, and variables in the analyzed project', specifying the returned fields (entity type, name, file path, line number), making it clear and distinct from sibling tools.

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 does not provide guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. Usage is implied by the description but not explicitly stated.

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

list_projectsA

List all projects that have been analyzed by CodeAtlas. Returns project names, paths, and last analysis time.

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?

With no annotations, the description carries the full burden. It correctly implies a read operation (list) and returns data. No hidden behaviors are suggested, and there is 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.

Conciseness5/5

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

A single, front-loaded sentence with no wasted words. Every part is essential and immediately conveys the tool's purpose and output.

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's simplicity (no parameters, no output schema), the description fully covers what an agent needs: what it lists and what is returned. No gaps remain.

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 zero parameters, so description doesn't need to explain them. Baseline for 0 parameters is 4, and the description adds no unnecessary parameter info.

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 uses a specific verb ('List') and resource ('projects that have been analyzed by CodeAtlas'), clearly distinguishing it from sibling tools like 'get_project_structure' which targets a single project.

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 clearly states the tool lists all analyzed projects, providing clear context for when to use it. However, it does not explicitly exclude other tools or mention alternatives, so it falls short of a 5.

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

search_entitiesB

Search for functions, classes, modules, or variables by name. Supports fuzzy matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
queryYesSearch query (case-insensitive, partial match)
typeNoFilter by entity type

TDQS

B3.3/5.0
Behavior3/5

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

Without annotations, the description carries the burden of behavioral disclosure. It mentions fuzzy matching but does not disclose other traits like whether it is read-only, pagination, or response 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 short sentences, no redundant information. Efficiently conveys the core purpose and key feature (fuzzy matching).

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?

Adequate for a search tool with well-described schema, but lacks information about output format, result limits, or interaction with sibling tools. Could be more 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?

All parameters are already described in the input schema (100% coverage). The description adds only 'fuzzy matching' context, which is not parameter-specific. Baseline score of 3 is appropriate.

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 it searches for entities (functions, classes, modules, variables) by name with fuzzy matching. However, it does not differentiate from sibling tools like get_file_entities, which may also search for entities.

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. Does not mention prerequisites, context, 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.

sync_system_memoryA

Create or update the .agents/memory/ folder with auto-generated system documentation. This folder serves as AI's 'long-term memory' — it persists between conversations. After calling this, AI in any future conversation can read these files to understand the full system flow without re-analyzing. Call this after completing any code changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
businessRuleNoOptional: A new business rule to add to the memory (e.g. 'VIP users get free shipping')
changeDescriptionNoOptional: Description of what was just changed (for the changelog)

TDQS

A4/5.0
Behavior3/5

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

Without annotations, the description carries full burden. It explains persistence and future readability but does not disclose overwrite behavior, specific files generated, or any side effects. Adequate but not comprehensive.

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 concise sentences front-load the main action and purpose, with no extraneous information. Every sentence adds value.

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 3 optional parameters, no output schema, and no annotations, the description covers the tool's purpose, usage timing, and persistence benefit. Could mention generated file types 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 description coverage is 100%, so baseline is 3. Description adds no additional parameter meaning beyond the schema's descriptions (project, businessRule, changeDescription).

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 'Create or update the .agents/memory/ folder with auto-generated system documentation,' specifying verb, resource, and purpose. Distinct from sibling tools like generate_feature_flow_diagram, which focus on diagrams rather than persistent memory.

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 advises 'Call this after completing any code changes' and explains the folder serves as AI long-term memory persisting between conversations. Lacks explicit when-not-to-use or alternatives, 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.

trace_feature_flowA

Trace the complete flow of a feature through the codebase. Given a keyword (e.g. 'login', 'payment', 'crawl'), finds all related files, classes, and functions, then orders them by dependency chain to show the execution flow. This helps AI understand which files to read when working on a feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject name or path
keywordYesFeature keyword to trace (e.g. 'auth', 'crawl', 'payment', 'upload')
depthNoHow many hops to follow from matching nodes (default: 2)

TDQS

A4/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 that the tool finds files, classes, and functions and orders them by dependency chain. However, it does not mention limitations (e.g., project syncing requirements, performance constraints, or edge cases). It is adequate but not thorough.

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, each earning its place: first states purpose, second elaborates on mechanism, third gives usage context. No fluff or repetition.

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 adequately explains the output format: 'finds all related files, classes, and functions, then orders them by dependency chain.' It also contextualizes the tool's role in understanding features. Missing a bit about return structure, but sufficient for a trace 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 description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema—for example, 'keyword' examples are already in the schema description. No extra semantic value is provided.

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: 'Trace the complete flow of a feature through the codebase.' It specifies the action (trace), resource (feature flow), and scope (complete flow, ordering by dependency chain). This differentiates it from siblings like get_dependencies (just dependencies) or generate_feature_flow_diagram (likely visualization).

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 examples of keywords ('auth', 'crawl', etc.) and states the benefit: 'helps AI understand which files to read when working on a feature.' However, it lacks explicit when-not-to-use guidance or comparisons to sibling tools, making it slightly less comprehensive.

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. 5 tool updatesv1.6.0
    • Addedgenerate_feature_flow_diagram
    • Addedgenerate_system_flow
    • Changedget_dependencies1 field changed
      • changedInput schema / properties / relationship / enum
        Previous value: -[
        -  "all",
        -  "import",
        -  "call",
        -  "contains"
        -]New value: +[
        +  "all",
        +  "import",
        +  "call",
        +  "contains",
        +  "implements"
        +]
    • Addedsync_system_memory
    • Addedtrace_feature_flow
  2. 6 tool updatesv1.2.4
    • First observedget_dependencies
    • First observedget_file_entities
    • First observedget_insights
    • First observedget_project_structure
    • First observedlist_projects
    • First observedsearch_entities

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes. However, `generate_feature_flow_diagram` and `trace_feature_flow` both trace feature flow by keyword, differing only in output format (diagram vs. ordered list). Descriptions help differentiate, but an agent might still select the wrong one for a given need.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., `generate_feature_flow_diagram`, `get_dependencies`, `list_projects`). No mixed conventions or vague verbs.

Tool Count5/5

With 10 tools, the set covers the domain of code analysis and documentation well. Each tool serves a distinct, necessary function without redundancy or bloat.

Completeness4/5

The tool surface covers core CRUD-like operations for projects and entities, plus advanced analysis (flows, insights, memory sync). Minor gaps exist, such as no tool for editing entities or comparing versions, but core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers