Skip to main content
Glama

Hi-AI

npm version License: MIT MCP Compatible Tests Coverage

Model Context Protocol 기반 AI 개발 μ–΄μ‹œμŠ€ν„΄νŠΈ

TypeScript + Python 지원 Β· 35개 μ „λ¬Έ 도ꡬ Β· 지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬ Β· μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž…

ν•œκ΅­μ–΄


λͺ©μ°¨


Related MCP server: Hi-AI

κ°œμš”

Hi-AIλŠ” Model Context Protocol (MCP) ν‘œμ€€μ„ κ΅¬ν˜„ν•œ AI 개발 μ–΄μ‹œμŠ€ν„΄νŠΈμž…λ‹ˆλ‹€. μžμ—°μ–΄ 기반 ν‚€μ›Œλ“œ 인식을 톡해 35개의 μ „λ¬Έν™”λœ 도ꡬλ₯Ό μ œκ³΅ν•˜λ©°, κ°œλ°œμžκ°€ λ³΅μž‘ν•œ μž‘μ—…μ„ μ§κ΄€μ μœΌλ‘œ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€.

핡심 κ°€μΉ˜

  • μžμ—°μ–΄ 기반: ν•œκ΅­μ–΄/μ˜μ–΄ ν‚€μ›Œλ“œλ‘œ 도ꡬλ₯Ό μžλ™μœΌλ‘œ μ‹€ν–‰

  • 지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬: λ©”λͺ¨λ¦¬ κ°„ 관계λ₯Ό κ·Έλž˜ν”„λ‘œ κ΅¬μ„±ν•˜μ—¬ μ—°κ΄€ 정보 탐색

  • 닀쀑 μ–Έμ–΄ 지원: TypeScript, JavaScript, Python μ½”λ“œ 뢄석

  • μ˜μ‘΄μ„± 뢄석: μ½”λ“œ κ°„ 의쑴 관계 μ‹œκ°ν™” 및 μˆœν™˜ μ°Έμ‘° 감지

  • μ—”ν„°ν”„λΌμ΄μ¦ˆ ν’ˆμ§ˆ: 100% ν…ŒμŠ€νŠΈ 컀버리지 및 μ—„κ²©ν•œ νƒ€μž… μ‹œμŠ€ν…œ


μ£Όμš” κΈ°λŠ₯

1. 지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œ

λ©”λͺ¨λ¦¬ κ°„ 관계λ₯Ό κ·Έλž˜ν”„λ‘œ κ΅¬μ„±ν•˜μ—¬ μ—°κ΄€ 정보λ₯Ό νƒμƒ‰ν•˜λŠ” 11개의 도ꡬ:

  • μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž…: μ„Έμ…˜ μ‹œμž‘ μ‹œ 이전 λ©”λͺ¨λ¦¬μ™€ 지식 κ·Έλž˜ν”„λ₯Ό μžλ™μœΌλ‘œ λ‘œλ“œ (v2.1 μ‹ κ·œ)

  • 관계 μ—°κ²°: λ©”λͺ¨λ¦¬ κ°„ 의미둠적 관계 μ„€μ • (related_to, depends_on, implements λ“±)

  • κ·Έλž˜ν”„ 탐색: BFS/DFS μ•Œκ³ λ¦¬μ¦˜μ„ ν†΅ν•œ μ—°κ΄€ λ©”λͺ¨λ¦¬ 탐색

  • λ©€ν‹° μ „λž΅ 검색: 5κ°€μ§€ 검색 μ „λž΅ 지원 (keyword, graph_traversal, temporal, priority, context_aware)

  • νƒ€μž„λΌμΈ: μ‹œκ°„μˆœ λ©”λͺ¨λ¦¬ νžˆμŠ€ν† λ¦¬ μ‹œκ°ν™”

μ£Όμš” 도ꡬ:

  • get_session_context - πŸš€ μ„Έμ…˜ μ‹œμž‘ μ‹œ μ»¨ν…μŠ€νŠΈ μžλ™ λ‘œλ“œ (v2.1 μ‹ κ·œ)

  • save_memory - μž₯κΈ° λ©”λͺ¨λ¦¬μ— 정보 μ €μž₯

  • recall_memory - μ €μž₯된 정보 검색

  • link_memories - λ©”λͺ¨λ¦¬ κ°„ 관계 μ—°κ²°

  • get_memory_graph - 지식 κ·Έλž˜ν”„ 쑰회

  • search_memories_advanced - λ©€ν‹° μ „λž΅ 검색

  • create_memory_timeline - νƒ€μž„λΌμΈ 생성

  • prioritize_memory - λ©”λͺ¨λ¦¬ μš°μ„ μˆœμœ„ 관리

2. μ‹œλ§¨ν‹± μ½”λ“œ 뢄석

AST 기반 μ½”λ“œ 뢄석 및 탐색 도ꡬ:

  • 심볼 검색: ν”„λ‘œμ νŠΈ μ „μ²΄μ—μ„œ ν•¨μˆ˜, 클래슀, λ³€μˆ˜ μœ„μΉ˜ νŒŒμ•…

  • μ°Έμ‘° 좔적: νŠΉμ • μ‹¬λ³Όμ˜ λͺ¨λ“  μ‚¬μš©μ²˜ 좔적

  • μ˜μ‘΄μ„± κ·Έλž˜ν”„: μ½”λ“œ κ°„ 의쑴 관계 μ‹œκ°ν™” (v2.0 μ‹ κ·œ)

  • μˆœν™˜ μ°Έμ‘° 감지: μˆœν™˜ μ˜μ‘΄μ„± μžλ™ 탐지 (v2.0 μ‹ κ·œ)

  • 닀쀑 μ–Έμ–΄: TypeScript, JavaScript, Python 지원

μ£Όμš” 도ꡬ:

  • find_symbol - 심볼 μ •μ˜ 검색

  • find_references - 심볼 μ°Έμ‘° μ°ΎκΈ°

  • analyze_dependency_graph - μ˜μ‘΄μ„± κ·Έλž˜ν”„ 뢄석 (v2.0 μ‹ κ·œ)

3. μ½”λ“œ ν’ˆμ§ˆ 뢄석

포괄적인 μ½”λ“œ λ©”νŠΈλ¦­ 및 ν’ˆμ§ˆ 평가:

  • λ³΅μž‘λ„ 뢄석: Cyclomatic, Cognitive, Halstead λ©”νŠΈλ¦­

  • 결합도/응집도: λͺ¨λ“ˆ ꡬ쑰 건전성 평가

  • ν’ˆμ§ˆ 점수: A-F λ“±κΈ‰ μ‹œμŠ€ν…œ

  • κ°œμ„  μ œμ•ˆ: μ‹€ν–‰ κ°€λŠ₯ν•œ λ¦¬νŒ©ν† λ§ λ°©μ•ˆ

μ£Όμš” 도ꡬ:

  • analyze_complexity - λ³΅μž‘λ„ λ©”νŠΈλ¦­ 뢄석

  • validate_code_quality - μ½”λ“œ ν’ˆμ§ˆ 평가

  • check_coupling_cohesion - 결합도/응집도 뢄석

  • suggest_improvements - κ°œμ„  μ œμ•ˆ

  • apply_quality_rules - ν’ˆμ§ˆ κ·œμΉ™ 적용

  • get_coding_guide - μ½”λ”© κ°€μ΄λ“œ 쑰회

4. ν”„λ‘œμ νŠΈ κ³„νš 도ꡬ

체계적인 μš”κ΅¬μ‚¬ν•­ 뢄석 및 λ‘œλ“œλ§΅ 생성:

  • PRD 생성: μ œν’ˆ μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œ μžλ™ 생성

  • μ‚¬μš©μž μŠ€ν† λ¦¬: 수용 쑰건 포함 μŠ€ν† λ¦¬ μž‘μ„±

  • MoSCoW 뢄석: μš”κ΅¬μ‚¬ν•­ μš°μ„ μˆœμœ„ν™”

  • λ‘œλ“œλ§΅ μž‘μ„±: 단계별 개발 일정 κ³„νš

μ£Όμš” 도ꡬ:

  • generate_prd - μ œν’ˆ μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œ 생성

  • create_user_stories - μ‚¬μš©μž μŠ€ν† λ¦¬ μž‘μ„±

  • analyze_requirements - μš”κ΅¬μ‚¬ν•­ 뢄석

  • feature_roadmap - κΈ°λŠ₯ λ‘œλ“œλ§΅ 생성

5. 순차적 사고 도ꡬ

κ΅¬μ‘°ν™”λœ 문제 ν•΄κ²° 및 μ˜μ‚¬κ²°μ • 지원:

  • 문제 λΆ„ν•΄: λ³΅μž‘ν•œ 문제λ₯Ό λ‹¨κ³„λ³„λ‘œ λΆ„ν•΄

  • 사고 체인: 순차적 μΆ”λ‘  κ³Όμ • 생성

  • λ‹€μ–‘ν•œ 관점: 뢄석적/창의적/체계적/λΉ„νŒμ  사고

  • μ‹€ν–‰ κ³„νš: μž‘μ—…μ„ μ‹€ν–‰ κ°€λŠ₯ν•œ κ³„νšμœΌλ‘œ λ³€ν™˜

μ£Όμš” 도ꡬ:

  • create_thinking_chain - 사고 체인 생성

  • analyze_problem - 문제 뢄석

  • step_by_step_analysis - 단계별 뢄석

  • format_as_plan - κ³„νš ν˜•μ‹ν™”

6. ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§

ν”„λ‘¬ν”„νŠΈ ν’ˆμ§ˆ ν–₯상 및 μ΅œμ ν™”:

  • μžλ™ κ°•ν™”: λͺ¨ν˜Έν•œ μš”μ²­μ„ ꡬ체적으둜 λ³€ν™˜

  • ν’ˆμ§ˆ 평가: λͺ…ν™•μ„±, ꡬ체성, λ§₯락성 μ μˆ˜ν™”

  • Gemini μ΅œμ ν™”: Google Gemini API ν”„λ‘¬ν”„νŒ… μ „λž΅

μ£Όμš” 도ꡬ:

  • enhance_prompt - ν”„λ‘¬ν”„νŠΈ κ°•ν™”

  • analyze_prompt - ν”„λ‘¬ν”„νŠΈ ν’ˆμ§ˆ 뢄석

  • enhance_prompt_gemini - Gemini ν”„λ‘¬ν”„νŒ… μ „λž΅

7. μΆ”λ‘  ν”„λ ˆμž„μ›Œν¬

λ³΅μž‘ν•œ 문제의 체계적 뢄석:

  • 9단계 μΆ”λ‘ : 문제 λΆ„ν•΄, κ°€μ„€ 탐색, μœ„ν—˜ 평가

  • 논리적 검증: μ™„μ „μ„±κ³Ό μ •λ°€μ„± 보μž₯

μ£Όμš” 도ꡬ:

  • apply_reasoning_framework - 9단계 μΆ”λ‘  ν”„λ ˆμž„μ›Œν¬

8. μ‚¬μš© 뢄석 (v2.0 μ‹ κ·œ)

도ꡬ μ‚¬μš© 톡계 및 뢄석:

  • λ©”λͺ¨λ¦¬ 톡계: μΉ΄ν…Œκ³ λ¦¬λ³„ 뢄포, μ‹œκ°„λ³„ ν™œλ™

  • κ·Έλž˜ν”„ 뢄석: μ—°κ²° 톡계, ν΄λŸ¬μŠ€ν„° 정보

μ£Όμš” 도ꡬ:

  • get_usage_analytics - μ‚¬μš© 뢄석 쑰회

9. UI 프리뷰 & μ‹œκ°„

  • preview_ui_ascii - ASCII UI 프리뷰

  • get_current_time - ν˜„μž¬ μ‹œκ°„ 쑰회


Hi-GCloud 연동

Hi-AIλŠ” hi-gcloud MCP와 ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ κ°•λ ₯ν•œ GCP 운영 + μ½”λ“œ μˆ˜μ • μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

연동 방식

hi-gcloudμ—μ„œ μ—λŸ¬λ₯Ό λ°œκ²¬ν•˜λ©΄ hi-ai 도ꡬλ₯Ό μžλ™μœΌλ‘œ μΆ”μ²œν•©λ‹ˆλ‹€:

πŸ“‹ Cloud Run 둜그: my-api
πŸ”΄ 3개의 μ—λŸ¬κ°€ λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ’‘ hi-ai 연동 κ°€λŠ₯: μ—λŸ¬ 뢄석이 ν•„μš”ν•˜λ©΄ analyze_problem λ„κ΅¬λ‘œ 원인을 λΆ„μ„ν•˜κ³ ,
   κ΄€λ ¨ μ½”λ“œλ₯Ό μ°Ύμ•„ μˆ˜μ • λ°©μ•ˆμ„ μ œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ›Œν¬ν”Œλ‘œμš° μ˜ˆμ‹œ

User: "배포가 μ‹€νŒ¨ν–ˆμ–΄"

[hi-gcloud]
β†’ gcp_run_logs둜 μ—λŸ¬ 둜그 쑰회
β†’ μ—λŸ¬ 3건 발견, hi-ai 연동 힌트 제곡

[hi-ai μžλ™ 연동]
β†’ analyze_problem으둜 μ—λŸ¬ 원인 뢄석
β†’ find_symbol둜 κ΄€λ ¨ μ½”λ“œ μœ„μΉ˜ νŒŒμ•…
β†’ suggest_improvements둜 μˆ˜μ • λ°©μ•ˆ μ œμ‹œ
β†’ save_memory둜 ν•΄κ²° 방법 μ €μž₯ (재발 λ°©μ§€)

μ„€μΉ˜

두 MCPλ₯Ό ν•¨κ»˜ μ„€μΉ˜ν•˜λ©΄ μžλ™μœΌλ‘œ μ—°λ™λ©λ‹ˆλ‹€:

{
  "mcpServers": {
    "hi-ai": {
      "command": "npx",
      "args": ["-y", "@su-record/hi-ai"]
    },
    "hi-gcloud": {
      "command": "npx",
      "args": ["-y", "@polin-go/hi-gcloud"]
    }
  }
}

연동 도ꡬ λ§€ν•‘

hi-gcloud 상황

hi-ai μΆ”μ²œ 도ꡬ

μ—λŸ¬ 둜그 발견

analyze_problem, find_symbol

배포 μ‹€νŒ¨

step_by_step_analysis, suggest_improvements

μ„±λŠ₯ 문제

analyze_complexity, check_coupling_cohesion

λΉ„μš© 증가

format_as_plan


v2.1.0 μ—…λ°μ΄νŠΈ

μ£Όμš” 변경사항

Hi-AI v2.1.0은 μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž… κΈ°λŠ₯을 λ„μž…ν•œ λ§ˆμ΄λ„ˆ λ¦΄λ¦¬μŠ€μž…λ‹ˆλ‹€.

μ‹ κ·œ κΈ°λŠ₯

κΈ°λŠ₯

μ„€λͺ…

get_session_context 도ꡬ

μ„Έμ…˜ μ‹œμž‘ μ‹œ 이전 λ©”λͺ¨λ¦¬, 지식 κ·Έλž˜ν”„, νƒ€μž„λΌμΈμ„ ν•œ λ²ˆμ— 쑰회

hi-ai://context/session λ¦¬μ†ŒμŠ€

ν΄λΌμ΄μ–ΈνŠΈκ°€ λ¦¬μ†ŒμŠ€λ₯Ό 읽을 λ•Œ μžλ™μœΌλ‘œ μ»¨ν…μŠ€νŠΈ 제곡

도ꡬ description κ°œμ„ 

LLM이 μ„Έμ…˜ μ‹œμž‘ μ‹œ μžλ™μœΌλ‘œ μ»¨ν…μŠ€νŠΈλ₯Ό νŒŒμ•…ν•˜λ„λ‘ μœ λ„

λ³€κ²½ μš”μ•½

ν•­λͺ©

v2.0.0

v2.1.0

λ³€ν™”

도ꡬ 개수

34개

35개

+1개

λ¦¬μ†ŒμŠ€ 개수

3개

4개

+1개

μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ

μˆ˜λ™

μžλ™ ꢌμž₯

κ°œμ„ 


v2.0.0 μ—…λ°μ΄νŠΈ

μ£Όμš” 변경사항

Hi-AI v2.0.0은 지식 κ·Έλž˜ν”„ 기반 λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œκ³Ό κ³ κΈ‰ μ½”λ“œ 뢄석 κΈ°λŠ₯을 λ„μž…ν•œ 메이저 λ¦΄λ¦¬μŠ€μž…λ‹ˆλ‹€.

μ‹ κ·œ κΈ°λŠ₯ (6개 도ꡬ)

도ꡬ

μ„€λͺ…

link_memories

λ©”λͺ¨λ¦¬ κ°„ 관계 μ—°κ²° (지식 κ·Έλž˜ν”„)

get_memory_graph

지식 κ·Έλž˜ν”„ 쑰회/μ‹œκ°ν™” (Mermaid λ‹€μ΄μ–΄κ·Έλž¨ 지원)

search_memories_advanced

5κ°€μ§€ μ „λž΅μ˜ λ©€ν‹° 검색

create_memory_timeline

μ‹œκ°„μˆœ λ©”λͺ¨λ¦¬ νƒ€μž„λΌμΈ

analyze_dependency_graph

μ½”λ“œ μ˜μ‘΄μ„± 뢄석 및 μˆœν™˜ μ°Έμ‘° 감지

get_usage_analytics

μ‚¬μš© 톡계/뢄석

μ•„ν‚€ν…μ²˜ κ°œμ„ 

  • index.ts: 37개 switch case β†’ 동적 λ””μŠ€νŒ¨μΉ˜ νŒ¨ν„΄

  • MemoryManager: 지식 κ·Έλž˜ν”„ κΈ°λŠ₯ μΆ”κ°€ (395쀄 β†’ 823쀄)

  • μ½”λ“œ μ΅œμ ν™”: λΆˆν•„μš”ν•œ μ˜μ‘΄μ„± 제거 (puppeteer-core)


μ„€μΉ˜

μ‹œμŠ€ν…œ μš”κ΅¬μ‚¬ν•­

  • Node.js 18.0 이상

  • TypeScript 5.0 이상

  • MCP ν˜Έν™˜ ν΄λΌμ΄μ–ΈνŠΈ (Claude Desktop, Cursor, Windsurf)

  • Python 3.x (Python μ½”λ“œ 뢄석 μ‹œ)

μ„€μΉ˜ 방법

NPM νŒ¨ν‚€μ§€

# κΈ€λ‘œλ²Œ μ„€μΉ˜
npm install -g @su-record/hi-ai

# 둜컬 μ„€μΉ˜
npm install @su-record/hi-ai

Smithery ν”Œλž«νΌ

# 원클릭 μ„€μΉ˜
https://smithery.ai/server/@su-record/hi-ai

MCP ν΄λΌμ΄μ–ΈνŠΈ μ„€μ •

Claude Desktop λ˜λŠ” λ‹€λ₯Έ MCP ν΄λΌμ΄μ–ΈνŠΈμ˜ μ„€μ • νŒŒμΌμ— μΆ”κ°€:

{
  "mcpServers": {
    "hi-ai": {
      "command": "hi-ai",
      "args": [],
      "env": {}
    }
  }
}

도ꡬ μΉ΄νƒˆλ‘œκ·Έ

전체 도ꡬ λͺ©λ‘ (35개)

μΉ΄ν…Œκ³ λ¦¬

도ꡬ 수

도ꡬ λͺ©λ‘

λ©”λͺ¨λ¦¬ - κΈ°λ³Έ

6

save_memory, recall_memory, list_memories, delete_memory, update_memory, prioritize_memory

λ©”λͺ¨λ¦¬ - κ·Έλž˜ν”„

4

link_memories, get_memory_graph, search_memories_advanced, create_memory_timeline

λ©”λͺ¨λ¦¬ - μ„Έμ…˜

1

get_session_context πŸš€

μ½”λ“œ 뢄석

3

find_symbol, find_references, analyze_dependency_graph

사고

4

create_thinking_chain, analyze_problem, step_by_step_analysis, format_as_plan

μ½”λ“œ ν’ˆμ§ˆ

6

analyze_complexity, validate_code_quality, check_coupling_cohesion, suggest_improvements, apply_quality_rules, get_coding_guide

κ³„νš

4

generate_prd, create_user_stories, analyze_requirements, feature_roadmap

ν”„λ‘¬ν”„νŠΈ

3

enhance_prompt, analyze_prompt, enhance_prompt_gemini

μΆ”λ‘ 

1

apply_reasoning_framework

뢄석

1

get_usage_analytics

UI

1

preview_ui_ascii

μ‹œκ°„

1

get_current_time

ν‚€μ›Œλ“œ λ§€ν•‘ μ˜ˆμ‹œ

λ©”λͺ¨λ¦¬ 도ꡬ

도ꡬ

ν•œκ΅­μ–΄

μ˜μ–΄

save_memory

κΈ°μ–΅ν•΄, μ €μž₯ν•΄

remember, save this

recall_memory

λ– μ˜¬λ €, κΈ°μ–΅λ‚˜

recall, remind me

get_session_context

μ„Έμ…˜ μ‹œμž‘, μ»¨ν…μŠ€νŠΈ

session start, context

link_memories

μ—°κ²°ν•΄, 관계

link, connect

get_memory_graph

κ·Έλž˜ν”„, 관계도

graph, relations

search_memories_advanced

κ³ κΈ‰ 검색, μ°Ύμ•„

advanced search, find

μ½”λ“œ 뢄석 도ꡬ

도ꡬ

ν•œκ΅­μ–΄

μ˜μ–΄

find_symbol

ν•¨μˆ˜ μ°Ύμ•„, 클래슀 μ–΄λ””

find function, where is

analyze_dependency_graph

μ˜μ‘΄μ„±, 관계

dependency, relations

analyze_complexity

λ³΅μž‘λ„, λ³΅μž‘ν•œμ§€

complexity, how complex

validate_code_quality

ν’ˆμ§ˆ, 리뷰

quality, review


μ•„ν‚€ν…μ²˜

μ‹œμŠ€ν…œ ꡬ쑰

graph TB
    subgraph "Client Layer"
        A[Claude Desktop / Cursor / Windsurf]
    end

    subgraph "MCP Server"
        B[Hi-AI v2.1.0]
    end

    subgraph "Core Libraries"
        C1[MemoryManager + Graph]
        C2[ContextCompressor]
        C3[ProjectCache]
        C4[PythonParser]
    end

    subgraph "Tool Categories"
        D1[Memory Basic x6]
        D2[Memory Graph x4]
        D2b[Memory Session x1]
        D3[Code Analysis x3]
        D4[Thinking Tools x4]
        D5[Quality Tools x6]
        D6[Planning Tools x4]
        D7[Prompt Tools x3]
        D8[Reasoning x1]
        D9[Analytics x1]
        D10[UI/Time x2]
    end

    subgraph "Data Layer"
        E1[(SQLite Database)]
        E2[Project Files]
    end

    A <--> B
    B --> C1 & C2 & C3 & C4
    B --> D1 & D2 & D2b & D3 & D4 & D5 & D6 & D7 & D8 & D9 & D10
    C1 --> E1
    C3 --> E2
    C4 --> E2
    D1 --> C1 & C2
    D2 --> C1
    D3 --> C3 & C4
    D5 --> C4
    D9 --> C1

핡심 μ»΄ν¬λ„ŒνŠΈ

MemoryManager (v2.0 ν™•μž₯)

  • μ—­ν• : 영ꡬ λ©”λͺ¨λ¦¬ μ €μž₯μ†Œ 및 지식 κ·Έλž˜ν”„ 관리

  • 기술: SQLite, better-sqlite3

  • κΈ°λŠ₯: CRUD, 검색, μš°μ„ μˆœμœ„, κ·Έλž˜ν”„ 관계, BFS/DFS 탐색

  • μ΅œμ ν™”: WAL λͺ¨λ“œ, 인덱싱, Prepared Statements

ContextCompressor

  • μ—­ν• : μ»¨ν…μŠ€νŠΈ μ••μΆ• 관리

  • μ•Œκ³ λ¦¬μ¦˜: μš°μ„ μˆœμœ„ 기반 μ••μΆ•

  • κΈ°λŠ₯: μ€‘μš”λ„μ— λ”°λ₯Έ 선택적 보쑴

ProjectCache

  • μ—­ν• : ts-morph ν”„λ‘œμ νŠΈ 캐싱

  • μ „λž΅: LRU μ•Œκ³ λ¦¬μ¦˜

  • κΈ°λŠ₯: 반볡 뢄석 μ„±λŠ₯ ν–₯상

  • μ œν•œ: 100MB/ν”„λ‘œμ νŠΈ, 200MB 전체

PythonParser

  • μ—­ν• : Python μ½”λ“œ AST 뢄석

  • 방법: subprocess μ‹€ν–‰

  • κΈ°λŠ₯: 심볼 μΆ”μΆœ, λ³΅μž‘λ„ 계산

  • μ•ˆμ „: νƒ€μž„μ•„μ›ƒ, μžλ™ 정리

λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆ (v2.0)

-- memories ν…Œμ΄λΈ”
CREATE TABLE memories (
  key TEXT PRIMARY KEY,
  value TEXT NOT NULL,
  category TEXT NOT NULL DEFAULT 'general',
  timestamp TEXT NOT NULL,
  lastAccessed TEXT NOT NULL,
  priority INTEGER DEFAULT 0
);

-- memory_relations ν…Œμ΄λΈ” (v2.0 μ‹ κ·œ)
CREATE TABLE memory_relations (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  sourceKey TEXT NOT NULL,
  targetKey TEXT NOT NULL,
  relationType TEXT NOT NULL,
  strength REAL DEFAULT 1.0,
  metadata TEXT,
  timestamp TEXT NOT NULL,
  UNIQUE(sourceKey, targetKey, relationType)
);

μ„±λŠ₯

μ£Όμš” μ΅œμ ν™”

ν”„λ‘œμ νŠΈ 캐싱

  • LRU μΊμ‹œλ₯Ό ν†΅ν•œ 반볡 뢄석 μ„±λŠ₯ ν–₯상

  • 5λΆ„ TTL둜 μ΅œμ‹  μƒνƒœ μœ μ§€

  • λ©”λͺ¨λ¦¬ μ œν•œμ„ ν†΅ν•œ λ¦¬μ†ŒμŠ€ 관리

λ©”λͺ¨λ¦¬ μž‘μ—…

  • SQLite νŠΈλžœμž­μ…˜μœΌλ‘œ 배치 μž‘μ—… μ΅œμ ν™”

  • μ‹œκ°„ λ³΅μž‘λ„ κ°œμ„ : O(nΒ²) β†’ O(n)

  • 인덱싱을 ν†΅ν•œ λΉ λ₯Έ 쑰회

κ·Έλž˜ν”„ 탐색 (v2.0)

  • BFS/DFS μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 효율적 탐색

  • Union-Find둜 ν΄λŸ¬μŠ€ν„° 감지

  • 경둜 μ°ΎκΈ° μ΅œμ ν™”


개발 κ°€μ΄λ“œ

ν™˜κ²½ μ„€μ •

# 리포지토리 클둠
git clone https://github.com/su-record/hi-ai.git
cd hi-ai

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# λΉŒλ“œ
npm run build

# 개발 λͺ¨λ“œ
npm run dev

ν…ŒμŠ€νŠΈ

# 전체 ν…ŒμŠ€νŠΈ μ‹€ν–‰
npm test

# Watch λͺ¨λ“œ
npm run test:watch

# UI λͺ¨λ“œ
npm run test:ui

# 컀버리지 리포트
npm run test:coverage

μ½”λ“œ μŠ€νƒ€μΌ

  • TypeScript: strict λͺ¨λ“œ

  • νƒ€μž…: src/types/tool.ts μ‚¬μš©

  • ν…ŒμŠ€νŠΈ: 100% 컀버리지 μœ μ§€

  • 컀밋: Conventional Commits ν˜•μ‹

μƒˆ 도ꡬ μΆ”κ°€

  1. src/tools/category/ 디렉토리에 파일 생성

  2. ToolDefinition μΈν„°νŽ˜μ΄μŠ€ κ΅¬ν˜„

  3. src/index.ts의 toolHandlers에 등둝

  4. tests/unit/ 디렉토리에 ν…ŒμŠ€νŠΈ μž‘μ„±

  5. README μ—…λ°μ΄νŠΈ


κΈ°μ—¬μž

νŠΉλ³„ 감사

  • Smithery - MCP μ„œλ²„ 배포 및 원클릭 μ„€μΉ˜ ν”Œλž«νΌ 제곡


λΌμ΄μ„ μŠ€

MIT License - 자유둭게 μ‚¬μš©, μˆ˜μ •, 배포 κ°€λŠ₯


인용

이 ν”„λ‘œμ νŠΈλ₯Ό μ—°κ΅¬λ‚˜ 상업적 μš©λ„λ‘œ μ‚¬μš©ν•˜μ‹€ 경우:

@software{hi-ai2025,
  author = {Su},
  title = {Hi-AI: Knowledge Graph-Based MCP Server for AI-Assisted Development},
  year = {2025},
  version = {2.1.0},
  url = {https://github.com/su-record/hi-ai}
}

Star History

Star History Chart

Hi-AI v2.1.0

지식 κ·Έλž˜ν”„ λ©”λͺ¨λ¦¬ Β· μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ μžλ™ μ£Όμž… Β· μ˜μ‘΄μ„± 뢄석 Β· 35개 μ „λ¬Έ 도ꡬ

Made with ❀️ by Su

🏠 Homepage Β· πŸ“š Documentation Β· πŸ› Issues Β· πŸ’¬ Discussions

Available Tools

35 tools
analyze_complexityC
Read-onlyIdempotent

λ³΅μž‘λ„|λ³΅μž‘ν•œμ§€|complexity|how complex|λ‚œμ΄λ„ - Analyze code complexity

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode to analyze
metricsNoMetrics to calculate

TDQS

C2.9/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, indicating a safe, non-destructive, repeatable operation with closed-world behavior. The description adds no behavioral traits beyond this, but since annotations are comprehensive, the bar is lower. There's no contradiction with annotations, and the description doesn't mislead, so it earns a baseline score for not detracting from the structured data.

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

Conciseness2/5

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

The description is brief but inefficiently structured with redundant terms ('λ³΅μž‘λ„|λ³΅μž‘ν•œμ§€|complexity|how complex|λ‚œμ΄λ„'), which adds noise without clarity. It's front-loaded but could be more concise by eliminating repetition. The single sentence earns some points for brevity but loses for wastefulness.

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 the tool's moderate complexity (2 parameters, 1 required), rich annotations (covering safety and behavior), and no output schema, the description is minimally complete. It states the purpose but lacks details on output format or usage context. With annotations handling behavioral aspects, it's adequate but could better address gaps like result interpretation.

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%, with clear descriptions for both parameters ('code' and 'metrics' with enum values). The description adds no meaning beyond the schema, as it doesn't explain parameter usage or semantics. With high schema coverage, the baseline is 3, reflecting adequate but no extra value from the description.

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

Purpose3/5

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

The description states the tool analyzes code complexity, which is a clear purpose, but it's somewhat vague with repetitive phrasing ('λ³΅μž‘λ„|λ³΅μž‘ν•œμ§€|complexity|how complex|λ‚œμ΄λ„'). It doesn't explicitly differentiate from sibling tools like 'analyze_problem' or 'validate_code_quality', though the title 'Analyze Complexity' helps. The verb 'analyze' is specific, but the resource 'code complexity' could be more precise.

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 is provided on when to use this tool versus alternatives. The description does not mention sibling tools like 'analyze_problem' or 'validate_code_quality', nor does it specify contexts or exclusions for its use. Usage is implied by the name and 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.

analyze_dependency_graphB
Read-onlyIdempotent

μ½”λ“œ μ˜μ‘΄μ„± κ·Έλž˜ν”„λ₯Ό λΆ„μ„ν•©λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: μ˜μ‘΄μ„±, 관계 뢄석, μˆœν™˜ μ°Έμ‘°, dependency graph, circular dependency

뢄석 λ‚΄μš©:

  • 파일 κ°„ import/export 관계

  • μˆœν™˜ μ˜μ‘΄μ„± 감지

  • λͺ¨λ“ˆ ν΄λŸ¬μŠ€ν„° 식별

  • μ½”λ“œ 결합도 뢄석

μ‚¬μš© μ˜ˆμ‹œ:

  • "src ν΄λ”μ˜ μ˜μ‘΄μ„± κ·Έλž˜ν”„ λΆ„μ„ν•΄μ€˜"

  • "index.ts의 의쑴 관계 λ³΄μ—¬μ€˜"

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesν”„λ‘œμ νŠΈ 경둜
targetFileNoνŠΉμ • 파일 뢄석 (선택사항)
maxDepthNoμ΅œλŒ€ 탐색 깊이 (κΈ°λ³Έκ°’: 3)
includeExternalNoμ™ΈλΆ€ νŒ¨ν‚€μ§€ 포함 μ—¬λΆ€ (κΈ°λ³Έκ°’: false)
detectCircularNoμˆœν™˜ μ˜μ‘΄μ„± 감지 (κΈ°λ³Έκ°’: true)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds behavioral context by specifying what gets analyzed (e.g., circular dependencies, module clusters), which is useful beyond annotations. However, it doesn't disclose additional traits like performance implications, output format, or error handling. With annotations covering core safety, the description adds moderate value.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded, starting with a clear purpose statement followed by bullet points of analysis content and usage examples. It avoids redundancy and wastes no sentences, though the keyword list could be considered slightly extraneous. Overall, it's efficient and well-structured for quick understanding.

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 the tool's moderate complexity (5 parameters, no output schema), the description provides a good overview of what the analysis entails but lacks details on return values or error cases. Annotations cover safety aspects, but without an output schema, the description doesn't explain what results to expect (e.g., graph structure, report format). It's adequate but has gaps in completeness for a tool with no output schema.

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%, with all 5 parameters well-documented in the schema (e.g., projectPath, targetFile, maxDepth). The description doesn't add parameter-specific details beyond what the schema provides, such as explaining how maxDepth affects analysis or what includeExternal entails. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate with extra semantic insights.

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 analyzes code dependency graphs, listing specific analysis aspects like import/export relationships, circular dependency detection, module clustering, and coupling analysis. It distinguishes from most siblings (e.g., analyze_complexity, check_coupling_cohesion) by focusing specifically on dependency graphs, though it doesn't explicitly differentiate from tools like get_memory_graph which might have overlapping concepts. The purpose is specific but could be more precise about sibling differentiation.

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 provides usage examples that imply when to use this tool (e.g., analyzing src folder dependencies or index.ts relationships), giving some contextual guidance. However, it lacks explicit when-not-to-use advice or clear alternatives among siblings (e.g., vs. check_coupling_cohesion or analyze_complexity). The guidelines are helpful but not comprehensive for tool selection.

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

analyze_problemC
Read-onlyIdempotent

문제 뢄석|μ–΄λ–»κ²Œ μ ‘κ·Ό|λΆ„μ„ν•΄μ€˜|analyze this|how to approach|break this down - Break down complex problem into structured steps

ParametersJSON Schema
NameRequiredDescriptionDefault
problemYesProblem to analyze
domainNoProblem domain

TDQS

C2.6/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds minimal behavioral context beyond thisβ€”it implies a step-by-step breakdown but doesn't specify output format, limitations, or side effects. No contradiction with annotations exists, but the description doesn't enrich behavioral understanding significantly.

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

Conciseness2/5

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

The description is poorly structured and not front-loaded. It starts with a confusing keyword-like phrase ('문제 뢄석|μ–΄λ–»κ²Œ μ ‘κ·Ό|λΆ„μ„ν•΄μ€˜|analyze this|how to approach|break this down') before the core function. This wastes space and reduces clarity. The core message is concise, but the overall structure is inefficient.

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 no output schema and annotations covering basic safety, the description lacks completeness. It doesn't explain what the structured steps output looks like, any limitations (e.g., problem size), or how it differs from similar tools. For a tool with 2 parameters and many siblings, this leaves significant gaps for an agent to infer 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%, with clear parameter descriptions ('Problem to analyze', 'Problem domain'). The description adds no parameter-specific details beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline is 3, as the description doesn't compensate but doesn't detract either.

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

Purpose3/5

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

The description states the tool breaks down complex problems into structured steps, which is a clear purpose. However, it's somewhat vague ('complex problem' is broad) and doesn't differentiate from siblings like 'step_by_step_analysis' or 'analyze_complexity' that might have overlapping functionality. The initial phrase '문제 뢄석|μ–΄λ–»κ²Œ μ ‘κ·Ό|λΆ„μ„ν•΄μ€˜|analyze this|how to approach|break this down' appears to be keyword-like and doesn't add clarity.

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?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., 'step_by_step_analysis', 'analyze_complexity', 'analyze_requirements'), there's no indication of context, prerequisites, or exclusions. The agent must infer usage from the tool name alone, which is insufficient.

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

analyze_promptC
Read-onlyIdempotent

ν”„λ‘¬ν”„νŠΈ 뢄석|평가|점수|μ–Όλ§ˆλ‚˜ 쒋은지|analyze prompt|rate this|score|how good|prompt quality - Analyze prompt quality

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesPrompt to analyze
criteriaNoSpecific criteria to evaluate (default: all)

TDQS

C2.5/5.0
Behavior4/5

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

Annotations already indicate this is a read-only, non-destructive, idempotent operation with a closed-world scope, which the description does not contradict. The description adds minimal behavioral context by implying the tool evaluates prompt quality, but it does not elaborate on aspects like evaluation metrics, output format, or rate limits. Given the annotations cover key safety traits, the description's addition is limited but not contradictory, warranting a score above baseline.

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

Conciseness2/5

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

The description is a disorganized list of keywords and translations (e.g., 'ν”„λ‘¬ν”„νŠΈ 뢄석|평가|점수|μ–Όλ§ˆλ‚˜ 쒋은지|analyze prompt|rate this|score|how good|prompt quality') rather than a coherent sentence. It lacks structure and front-loading of key information, making it inefficient and cluttered without adding substantive 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 the annotations provide clear safety hints (read-only, non-destructive) and the schema fully documents parameters, the description is minimally adequate for a simple analysis tool. However, it lacks details on output (no output schema) and does not explain what 'prompt quality' entails or how results are presented, leaving gaps in understanding the tool's full behavior and use cases.

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, clearly documenting both parameters ('prompt' and 'criteria'). The description does not add any meaningful semantics beyond the schema, such as examples of criteria or how the analysis is applied. With high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract from the schema's documentation.

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

Purpose2/5

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

The description is a tautology that essentially restates the tool name 'analyze_prompt' with synonyms and translations (e.g., '평가', '점수', 'rate this', 'score'), rather than clearly stating what the tool does. It mentions analyzing prompt quality but lacks specificity about what aspects of quality are evaluated or how the analysis is performed, failing to distinguish it from sibling tools like 'analyze_complexity' or 'suggest_improvements'.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, nor does it reference sibling tools (e.g., 'enhance_prompt' for improvement suggestions or 'analyze_complexity' for complexity analysis). This leaves the agent with no information to make an informed choice among similar tools.

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

analyze_requirementsC
Read-onlyIdempotent

μš”κ΅¬μ‚¬ν•­ 뢄석|ν•„μš”ν•œ 것듀|requirements analysis|what we need|analyze requirements|ν•„μˆ˜ κΈ°λŠ₯ - Analyze project requirements

ParametersJSON Schema
NameRequiredDescriptionDefault
requirementsYesList of requirements to analyze
stakeholdersNoProject stakeholders (e.g., users, admins, developers)
constraintsNoProject constraints (timeline, budget, technical)
analysisMethodNoAnalysis methodmoscow

TDQS

C2.9/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, which already convey that this is a safe, non-destructive, and deterministic operation. The description adds no behavioral context beyond this, such as rate limits or authentication needs. However, it does not contradict the annotations, so it meets the lower bar set by the annotations without adding significant value.

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

Conciseness2/5

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

The description is a repetitive list of phrases ('μš”κ΅¬μ‚¬ν•­ 뢄석|ν•„μš”ν•œ 것듀|requirements analysis|what we need|analyze requirements|ν•„μˆ˜ κΈ°λŠ₯ - Analyze project requirements') that lack structure and front-loading. It wastes space by restating the same concept in multiple languages without adding clarity or value, making it inefficient and poorly organized.

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 the tool's complexity (4 parameters, 100% schema coverage, annotations provided, no output schema), the description is incomplete. It fails to explain what the analysis outputs or how it integrates with sibling tools, leaving gaps in understanding the tool's role. However, annotations cover safety and determinism, partially compensating for the description's shortcomings.

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%, with clear descriptions for all parameters (e.g., 'requirements' as a list to analyze, 'analysisMethod' with enum options). The description adds no parameter semantics beyond what the schema provides, such as explaining how parameters interact or their impact on analysis. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose3/5

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

The description 'μš”κ΅¬μ‚¬ν•­ 뢄석|ν•„μš”ν•œ 것듀|requirements analysis|what we need|analyze requirements|ν•„μˆ˜ κΈ°λŠ₯ - Analyze project requirements' is vague and repetitive. It lists multiple phrases that essentially restate the tool name ('analyze requirements') without specifying what the analysis produces or how it differs from sibling tools like 'analyze_complexity' or 'analyze_problem'. The purpose is implied but lacks specificity about the verb+resource outcome.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, nor does it differentiate from sibling tools such as 'analyze_complexity' or 'generate_prd'. Without such information, the agent must infer usage from the tool name alone, which is insufficient.

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

apply_quality_rulesC
Read-onlyIdempotent

κ·œμΉ™ 적용|ν‘œμ€€ 적용|apply rules|apply standards|follow conventions|μ μš©ν•΄ - Apply quality rules

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYesApplication scope
languageNoProgramming language context

TDQS

C2.4/5.0
Behavior3/5

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

Annotations provide comprehensive behavioral information (readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=false), so the description's burden is reduced. The description doesn't contradict these annotations, but also adds no meaningful behavioral context beyond what's already in structured fields. No information about what 'applying' entails operationally, side effects, or implementation details is provided.

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

Conciseness2/5

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

While technically brief, the description is poorly structured and contains redundant synonyms that don't add value. The multilingual repetition ('κ·œμΉ™ 적용|ν‘œμ€€ 적용|apply rules|apply standards|follow conventions|μ μš©ν•΄') creates noise without improving understanding. This isn't effective conciseness but rather under-specification disguised as brevity.

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 this is a tool with 2 parameters (one required), no output schema, and annotations covering safety aspects, the description is inadequate. It doesn't explain what 'applying quality rules' means operationally, what the tool actually does, or what kind of output/result to expect. For a tool that presumably performs some meaningful operation on code/quality standards, this leaves too much undefined.

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% with both parameters having clear descriptions and enumerated values, so the baseline is 3. The description adds no additional parameter information beyond what's in the schema - it doesn't explain how 'scope' and 'language' interact, provide examples of valid combinations, or clarify the meaning of 'all' scope or 'general' language context.

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

Purpose2/5

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

The description is essentially a tautology that restates the tool name with synonyms ('κ·œμΉ™ 적용|ν‘œμ€€ 적용|apply rules|apply standards|follow conventions|μ μš©ν•΄ - Apply quality rules'). It doesn't specify what 'applying quality rules' actually means operationally - whether it's validation, transformation, analysis, or something else. While it distinguishes from siblings by focusing on 'quality rules' rather than analysis or creation tasks, the purpose remains vague.

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 is provided about when to use this tool versus alternatives. The description doesn't mention any prerequisites, appropriate contexts, or comparison to sibling tools like 'validate_code_quality' or 'suggest_improvements' that might serve similar functions. The agent must infer usage purely from the tool name and parameters.

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

apply_reasoning_frameworkB
Read-onlyIdempotent

μΆ”λ‘  ν”„λ ˆμž„μ›Œν¬|체계적 뢄석|논리적 사고|reasoning framework|systematic analysis|logical thinking - Apply 9-step reasoning framework to analyze complex problems systematically

ParametersJSON Schema
NameRequiredDescriptionDefault
problemYesThe problem or task to analyze using the reasoning framework
contextNoAdditional context about the problem (project constraints, tech stack, etc.)
focus_stepsNoSpecific framework steps to focus on (1-9). If not provided, all steps will be applied.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false. The description adds that it's a 'systematic analysis' with a '9-step framework', which provides some behavioral context about the structured approach. However, it doesn't mention what the 9 steps actually are, what the output looks like, or any rate limits/performance characteristics.

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

Conciseness3/5

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

The description is relatively concise but has some redundancy with the repeated keywords ('μΆ”λ‘  ν”„λ ˆμž„μ›Œν¬|체계적 뢄석|논리적 사고|reasoning framework|systematic analysis|logical thinking'). The core functionality is stated clearly, but the keyword repetition doesn't add meaningful value and could be more streamlined.

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 tool with 3 parameters, 100% schema coverage, and comprehensive annotations, the description provides adequate context about what the tool does. However, without an output schema and with multiple similar sibling tools, the description could better explain what distinguishes this framework and what kind of output to expect from the analysis.

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 all parameters are documented in the schema. The description doesn't add any additional parameter semantics beyond what's already in the schema descriptions. The baseline score of 3 is appropriate since the schema does the heavy lifting for parameter documentation.

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 applies a 9-step reasoning framework to analyze complex problems systematically. It specifies the verb 'apply' and the resource 'reasoning framework', but doesn't explicitly differentiate from similar sibling tools like 'step_by_step_analysis' or 'analyze_problem' that might also perform systematic analysis.

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?

The description provides no guidance on when to use this tool versus alternatives. With multiple analysis-focused sibling tools (analyze_complexity, analyze_problem, step_by_step_analysis, etc.), there's no indication of when this specific 9-step framework is preferred or what distinguishes it from other analysis approaches.

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

check_coupling_cohesionC
Read-onlyIdempotent

결합도|응집도|coupling|cohesion|dependencies check|module structure - Check coupling and cohesion

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode to analyze
typeNoCode type
checkDependenciesNoAnalyze dependencies

TDQS

C2.9/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, indicating a safe, deterministic read operation. The description adds context by specifying the analysis focuses on 'coupling', 'cohesion', 'dependencies', and 'module structure', which clarifies the tool's behavioral scope beyond the annotations. No contradiction with annotations is present.

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

Conciseness2/5

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

The description is a keyword list without proper sentence structure, making it inefficient and poorly organized. It's not front-loaded with a clear purpose, and the keywords could be condensed into a more coherent statement. It lacks conciseness due to under-specification rather than brevity.

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 the tool's complexity (analyzing code metrics), annotations cover safety and determinism, but there's no output schema to describe return values. The description provides some context (focus areas) but is incomplete for a tool that likely returns analysis results. It's minimally adequate but has clear gaps in explaining output or detailed behavior.

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 parameters are well-documented in the schema. The description doesn't add any meaningful details about parameters beyond what's in the schema (e.g., it doesn't explain how 'code' should be formatted or what 'checkDependencies' entails). Baseline score of 3 is appropriate as the schema carries the burden.

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

Purpose3/5

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

The description lists keywords ('coupling', 'cohesion', 'dependencies check', 'module structure') that suggest analyzing code metrics, but it lacks a clear verb+resource statement. It doesn't explicitly state what the tool does (e.g., 'Analyze code to calculate coupling and cohesion metrics') and doesn't distinguish it from siblings like 'analyze_complexity' or 'validate_code_quality'.

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 explicit guidance on when to use this tool versus alternatives is provided. The description doesn't mention when this tool is appropriate or what distinguishes it from sibling tools like 'analyze_complexity' or 'validate_code_quality'. Usage is implied through keywords but not clearly stated.

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

create_memory_timelineC
Read-onlyIdempotent

λ©”λͺ¨λ¦¬ νƒ€μž„λΌμΈμ„ μƒμ„±ν•©λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: νƒ€μž„λΌμΈ, μ‹œκ°„μˆœ, νžˆμŠ€ν† λ¦¬, timeline, history, chronological

μ‚¬μš© μ˜ˆμ‹œ:

  • "졜근 λ©”λͺ¨λ¦¬ νƒ€μž„λΌμΈ λ³΄μ—¬μ€˜"

  • "μ§€λ‚œ 7일간 λ©”λͺ¨λ¦¬ νžˆμŠ€ν† λ¦¬"

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateNoμ‹œμž‘ λ‚ μ§œ (ISO ν˜•μ‹, 예: 2024-01-01)
endDateNoμ’…λ£Œ λ‚ μ§œ (ISO ν˜•μ‹)
categoryNoμΉ΄ν…Œκ³ λ¦¬ ν•„ν„°
limitNoμ΅œλŒ€ κ²°κ³Ό 수 (κΈ°λ³Έκ°’: 20)
groupByNoκ·Έλ£Ήν™” κΈ°μ€€

TDQS

C2.9/5.0
Behavior3/5

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

Annotations provide comprehensive behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false), so the description doesn't need to repeat these. However, the description adds useful context through the keywords ('νƒ€μž„λΌμΈ, μ‹œκ°„μˆœ, νžˆμŠ€ν† λ¦¬') and examples that suggest chronological organization of memory data. It doesn't describe rate limits, authentication needs, or specific behavioral traits beyond what annotations already cover.

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

Conciseness4/5

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

The description is appropriately sized with a clear purpose statement followed by keywords and usage examples. The structure is logical and front-loaded with the main purpose. The Korean/English keywords section could be more concise, but overall the description avoids unnecessary verbosity.

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 the comprehensive annotations (which cover safety and idempotency) and 100% schema description coverage, the description provides adequate context. However, with no output schema and multiple sibling memory tools, the description could better explain what distinguishes this tool's output format or use case. The examples help but don't fully address the complexity of having 5 parameters and no output documentation.

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%, with all 5 parameters well-documented in the schema itself. The description adds no parameter-specific information beyond what's already in the schema. The usage examples imply date range usage but don't provide additional semantic context about parameters. With complete schema coverage, the baseline of 3 is appropriate.

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

Purpose3/5

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

The description states 'λ©”λͺ¨λ¦¬ νƒ€μž„λΌμΈμ„ μƒμ„±ν•©λ‹ˆλ‹€' (creates a memory timeline) which provides a basic verb+resource, but it's vague about what a 'memory timeline' actually is. It doesn't distinguish this tool from sibling memory tools like 'list_memories', 'search_memories_advanced', or 'get_memory_graph'. The keywords section adds some context but doesn't clarify the tool's specific purpose.

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?

The description provides usage examples ('졜근 λ©”λͺ¨λ¦¬ νƒ€μž„λΌμΈ λ³΄μ—¬μ€˜', 'μ§€λ‚œ 7일간 λ©”λͺ¨λ¦¬ νžˆμŠ€ν† λ¦¬') which imply this tool is for viewing historical memory data, but it doesn't explicitly state when to use this tool versus alternatives like 'list_memories' or 'search_memories_advanced'. No guidance is given about prerequisites, constraints, or when not to use this tool.

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

create_thinking_chainC
Read-onlyIdempotent

생각 κ³Όμ •|사고 흐름|μ—°μ‡„μ μœΌλ‘œ|thinking process|chain of thought|reasoning chain - Create sequential thinking chain

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic to think about
stepsNoNumber of thinking steps

TDQS

C2.9/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description does not contradict these and adds context by implying sequential, chain-like reasoning, though it lacks details on output format or rate limits. With annotations present, the bar is lower, and the description provides some behavioral insight beyond annotations.

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

Conciseness2/5

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

The description is inefficiently structured with repetitive terms like '생각 κ³Όμ •|사고 흐름|μ—°μ‡„μ μœΌλ‘œ|thinking process|chain of thought|reasoning chain' before stating 'Create sequential thinking chain', which adds noise without value. It could be more front-loaded and concise, as the repetition does not earn its place.

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 the tool has annotations covering key behavioral traits and a fully described input schema but no output schema, the description is minimally adequate. However, it lacks details on what the thinking chain output entails or how it integrates with sibling tools, leaving gaps in contextual understanding for an AI 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%, with parameters 'topic' and 'steps' clearly documented in the schema. The description does not add any meaning beyond the schema, such as explaining what constitutes a 'step' or how the topic influences the chain. Baseline is 3 since the schema handles parameter documentation adequately.

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

Purpose3/5

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

The description states the tool creates a sequential thinking chain, which indicates its purpose, but it's vague and repetitive with terms like 'thinking process' and 'chain of thought' without specifying what the chain is used for or how it differs from siblings like 'step_by_step_analysis' or 'apply_reasoning_framework'. It lacks a clear verb-resource distinction beyond 'create'.

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?

There is no guidance on when to use this tool versus alternatives such as 'step_by_step_analysis' or 'apply_reasoning_framework', nor any context on prerequisites or exclusions. The description only repeats the tool's function without providing usage scenarios.

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

create_user_storiesB
Read-onlyIdempotent

μŠ€ν† λ¦¬|μ‚¬μš©μž μŠ€ν† λ¦¬|user story|user stories|as a user - Generate user stories from requirements

ParametersJSON Schema
NameRequiredDescriptionDefault
featuresYesList of features or requirements to convert to user stories
userTypesNoTypes of users (e.g., admin, customer, guest)
priorityNoDefault priority level
includeAcceptanceCriteriaNoInclude acceptance criteria for each story

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already provide key behavioral hints: readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false. The description adds no additional behavioral context (e.g., rate limits, auth needs, or output format details). However, it doesn't contradict the annotations, so it meets the baseline for annotations covering safety and idempotency, but lacks extra value like explaining what 'generate' entails operationally.

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

Conciseness4/5

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

The description is concise and front-loaded with the core purpose ('Generate user stories from requirements'), followed by alternative names for clarity. It uses minimal words without redundancy, though the alternative names could be seen as slightly verbose. Overall, it's efficient and well-structured for quick understanding.

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 the tool's moderate complexity (4 parameters, no output schema) and rich annotations, the description is adequate but incomplete. It clearly states what the tool does but lacks usage guidelines, behavioral details beyond annotations, and output information. For a generation tool with no output schema, more context on expected results would be helpful, but it meets minimum viability.

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%, with all parameters well-documented in the input schema (e.g., 'features' as 'List of features or requirements to convert to user stories'). The description adds no parameter-specific information beyond the schema, such as examples or formatting tips. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to heavily.

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's purpose: 'Generate user stories from requirements.' It specifies the verb ('Generate') and resource ('user stories'), and provides alternative names ('μŠ€ν† λ¦¬|μ‚¬μš©μž μŠ€ν† λ¦¬|user story|user stories|as a user') to aid recognition. However, it doesn't explicitly differentiate from sibling tools like 'analyze_requirements' or 'generate_prd', which might have overlapping domains, so it doesn't reach a perfect score.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_requirements' (which might analyze rather than generate) or 'generate_prd' (which could produce a different artifact), nor does it specify prerequisites or exclusions. This leaves the agent without contextual usage cues.

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

delete_memoryA
DestructiveIdempotent

μžŠμ–΄|μ‚­μ œν•΄|μ§€μ›Œ|forget|delete|remove|erase - Delete specific memory

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key to delete

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true (irreversible deletion) and idempotentHint=true (safe to retry), which the description doesn't contradict. The description adds value by emphasizing the action with synonyms ('forget', 'erase'), reinforcing the destructive nature beyond annotations. However, it doesn't detail side effects (e.g., impact on linked memories) or error conditions, leaving some behavioral gaps.

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 and front-loaded, using a compact format with synonyms separated by pipes. Every element ('μžŠμ–΄|μ‚­μ œν•΄|μ§€μ›Œ|forget|delete|remove|erase - Delete specific memory') serves to clarify the action without redundancy. It efficiently communicates the core purpose in minimal words, with no wasted sentences.

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 the tool's complexity (destructive operation with one parameter), annotations cover key behavioral traits (destructive, idempotent), and schema fully describes the input. However, there's no output schema, and the description doesn't explain return values or error handling. For a deletion tool, more context on outcomes (e.g., confirmation message, failure modes) would improve completeness, but it's minimally adequate.

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%, with the parameter 'key' fully documented in the schema. The description doesn't add any parameter-specific details beyond what the schema provides, such as format examples or constraints. This meets the baseline score of 3 for high schema coverage, but no extra semantic value is contributed.

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 action ('delete') and resource ('specific memory'), making the purpose understandable. It provides multilingual synonyms ('μžŠμ–΄|μ‚­μ œν•΄|μ§€μ›Œ|forget|delete|remove|erase') which enhances clarity for diverse users. However, it doesn't explicitly differentiate from sibling tools like 'update_memory' or 'prioritize_memory', which would require a more specific scope statement.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing memory key), exclusions, or comparisons to siblings like 'remove' operations in other tools. Usage is implied through the action verbs but lacks explicit context for selection.

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

enhance_promptB
Read-onlyIdempotent

ꡬ체적으둜|μžμ„Ένžˆ|λͺ…ν™•ν•˜κ²Œ|더 ꡬ체적으둜|be specific|more detail|clarify|elaborate|vague - Transform vague requests

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesOriginal prompt to enhance
contextNoAdditional context or project information
enhancement_typeNoType of enhancement (default: all)

TDQS

B3.3/5.0
Behavior3/5

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

The description adds minimal behavioral context beyond what annotations provide. Annotations already indicate this is a read-only, non-destructive, idempotent operation with a closed-world scope. The description doesn't contradict these annotations, but only adds that it transforms 'vague requests' - which is essentially restating the tool's purpose rather than providing additional behavioral details like rate limits, authentication needs, or transformation specifics.

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 and front-loaded with relevant keywords. It uses a pipe-separated format to list synonyms and transformation goals efficiently, then adds a brief purpose statement. Every element serves a purpose without redundancy, making it easy to scan and understand quickly.

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 transformation tool with good annotations (read-only, idempotent, non-destructive) and comprehensive parameter documentation, the description provides adequate but minimal context. It states what the tool does but lacks information about output format, transformation methodology, or quality of enhancements. Without an output schema, the description could benefit from mentioning what kind of enhanced prompt to expect, but it meets minimum viability given the structured data coverage.

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?

With 100% schema description coverage, the input schema already documents all three parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain how the 'enhancement_type' choices affect the transformation, how 'context' influences the enhancement, or provide examples of prompt transformations. The baseline of 3 is appropriate given the comprehensive schema 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's purpose: transforming vague requests into more specific, detailed, or clarified versions. It lists specific transformation goals (clarity, specificity, context) and provides synonyms for 'enhance' (be specific, more detail, clarify, elaborate). However, it doesn't explicitly differentiate from its sibling 'enhance_prompt_gemini', which appears to be a similar tool.

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?

The description provides no guidance on when to use this tool versus alternatives. While it mentions what the tool does, it doesn't indicate when it's appropriate to use versus other prompt-related tools like 'analyze_prompt', 'suggest_improvements', or its sibling 'enhance_prompt_gemini'. There's no mention of prerequisites, typical use cases, or comparison with similar tools.

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

enhance_prompt_geminiA
Read-onlyIdempotent

ν”„λ‘¬ν”„νŠΈ κ°œμ„ |μ œλ―Έλ‚˜μ΄ μ „λž΅|ν’ˆμ§ˆ ν–₯상|prompt enhancement|gemini strategies|quality improvement - Enhance prompts using Gemini API prompting strategies (Few-Shot, Output Format, Context)

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe original prompt to enhance
agent_roleNoThe role of the agent that will receive this prompt (e.g., "Specification Agent", "Planning Agent")
strategiesNoSpecific Gemini strategies to apply. If not provided, all strategies will be applied.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already provide clear behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true), but the description adds valuable context by specifying that it applies 'Gemini API prompting strategies' and lists specific techniques. This clarifies the tool's approach beyond the generic safety profile indicated by annotations.

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

Conciseness4/5

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

The description is efficiently structured as a tag-like list of keywords followed by a clarifying parenthetical explanation. While somewhat unconventional in format, it conveys essential information without redundancy. The front-loaded keywords make the core purpose immediately apparent, though the pipe-separated format could be more readable.

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 tool with comprehensive annotations and full schema coverage but no output schema, the description provides adequate context about the enhancement approach and strategy scope. However, it doesn't describe what the enhanced prompt output looks like or any limitations of the Gemini strategies, leaving some behavioral aspects unspecified despite good annotation coverage.

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?

With 100% schema description coverage, the input schema already documents all three parameters thoroughly. The description mentions 'strategies' generically but doesn't add meaningful semantic context beyond what the schema provides about parameters like 'agent_role' or 'strategies' enum values. Baseline score of 3 is appropriate given comprehensive schema coverage.

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 with specific verbs ('Enhance prompts') and resources ('using Gemini API prompting strategies'), listing specific strategies like Few-Shot, Output Format, and Context. It distinguishes from the sibling 'enhance_prompt' tool by specifying 'Gemini strategies' in both the description and title annotation.

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 usage context through 'Gemini API prompting strategies' and lists strategy names, but doesn't explicitly state when to use this tool versus alternatives like 'enhance_prompt' or other analysis tools. No guidance on prerequisites or exclusions is provided, leaving usage context partially inferred rather than clearly defined.

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

feature_roadmapC
Read-onlyIdempotent

λ‘œλ“œλ§΅|일정|κ³„νšν‘œ|roadmap|timeline|project plan|development schedule - Generate development roadmap

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameYesName of the project
featuresYesList of features to include in roadmap
timeframeNoProject timeframe
approachNoDevelopment approachmvp-first
teamSizeNoDevelopment team size

TDQS

C2.9/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, which already inform the agent this is a safe, deterministic generation tool. The description adds minimal behavioral context beyond this - it doesn't explain what 'Generate' means operationally (e.g., creates a new artifact, returns structured data), nor does it mention any limitations, quality of output, or processing characteristics. With annotations covering safety aspects, the description adds some value but lacks rich behavioral details.

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

Conciseness4/5

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

The description is reasonably concise with a keyword list followed by the core function. However, the keyword list could be considered redundant since 'roadmap' already appears in both the tool name and core description. The structure is front-loaded with relevant terms, but the second part ('Generate development roadmap') is somewhat generic and could be more specific.

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 this is a generation tool with 5 parameters, no output schema, and good annotation coverage for safety aspects, the description is minimally adequate. It identifies the tool's domain but lacks details about what exactly gets generated, the format of output, quality considerations, or how it differs from related planning tools. The annotations handle safety profiling, but the description should do more to explain the tool's behavior and output characteristics.

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%, with all 5 parameters well-documented in the schema itself (including enums for timeframe and approach). The description provides no additional parameter information beyond what's in the schema - it doesn't explain how parameters interact, provide examples of feature lists, or clarify the meaning of 'custom' timeframe or development approaches. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description states the tool generates a development roadmap, which provides a basic purpose. However, it's vague about what 'Generate development roadmap' entails - does it create a visual timeline, a text plan, or something else? The keyword list at the beginning (λ‘œλ“œλ§΅|일정|κ³„νšν‘œ|roadmap|timeline|project plan|development schedule) suggests multiple interpretations but doesn't clarify the specific output format or nature of the generation.

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 is provided about when to use this tool versus alternatives. While sibling tools like 'format_as_plan', 'generate_prd', and 'create_user_stories' might be related to planning/documentation, the description doesn't differentiate this roadmap tool from them or explain its specific use case context. The agent must infer usage from the tool name alone.

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

find_referencesC
Read-onlyIdempotent

μ–΄λ””μ„œ μ“°|μ°Έμ‘°|μ‚¬μš©μ²˜|find usage|references|where used - Find symbol references

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNameYesName of the symbol to find references for
filePathNoFile path where the symbol is defined
lineNoLine number of the symbol definition
projectPathYesProject directory path

TDQS

C2.6/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false, indicating a safe, deterministic read operation. The description doesn't add behavioral details beyond this, such as rate limits or output format, but it doesn't contradict the annotations either.

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

Conciseness2/5

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

The description is a disorganized list of keywords ('μ–΄λ””μ„œ μ“°|μ°Έμ‘°|μ‚¬μš©μ²˜|find usage|references|where used') followed by a phrase ('Find symbol references'). It lacks proper sentence structure and front-loading, making it inefficient and unclear despite its brevity.

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 the tool's complexity (finding references in code) and lack of output schema, the description is inadequate. It doesn't explain what 'references' means in this context, the return format, or how it differs from similar tools. Annotations cover safety, but more context is needed for effective 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%, with clear descriptions for all 4 parameters. The description adds no parameter-specific information beyond what the schema provides, so it meets the baseline score of 3 without compensating or enhancing the schema details.

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

Purpose3/5

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

The description states the tool finds symbol references, which is a clear purpose, but it's presented as a list of keywords ('μ–΄λ””μ„œ μ“°|μ°Έμ‘°|μ‚¬μš©μ²˜|find usage|references|where used') rather than a coherent sentence. It doesn't distinguish this from sibling tools like 'find_symbol' or 'analyze_dependency_graph', leaving ambiguity about its specific scope.

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 is provided on when to use this tool versus alternatives. The description is a keyword list with no context, prerequisites, or exclusions. Sibling tools like 'find_symbol' or 'analyze_dependency_graph' might overlap, but no comparison is made.

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

find_symbolC
Read-onlyIdempotent

ν•¨μˆ˜ μ°Ύμ•„|클래슀 μ–΄λ””|λ³€μˆ˜ μœ„μΉ˜|find function|where is|locate - Find symbol definitions

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNameYesName of the symbol to find
projectPathYesProject directory path
symbolTypeNoType of symbol to search for

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds minimal behavioral context beyond this - it implies a search operation but doesn't describe what happens with multiple matches, error conditions, or performance characteristics. No contradiction with annotations exists.

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

Conciseness2/5

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

The description is a single run-on string with pipe separators and dashes, lacking proper sentence structure. While it's brief, the formatting makes it harder to parse than a well-structured sentence. The information is front-loaded but presented in a disorganized manner that reduces clarity.

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 search tool with good annotations (read-only, idempotent) and full schema coverage, the description provides basic purpose but lacks important context. Without an output schema, it doesn't describe what results look like (locations, line numbers, confidence scores). The description doesn't address scope limitations or how it interacts with the project structure beyond the projectPath parameter.

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%, with all parameters well-documented in the schema itself. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it mentions symbol types (function, class, variable) which are already covered by the symbolType enum, but provides no additional context about how parameters interact or special considerations.

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 finds symbol definitions with specific examples (function, class, variable) and synonyms (find, locate, where is). It distinguishes from some siblings like 'find_references' by focusing on definitions rather than references. However, it doesn't explicitly contrast with all similar tools like 'search_memories_advanced' which might also search for symbols.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'find_references' (for finding references rather than definitions) or 'search_memories_advanced' (which might search across different contexts). There are no explicit when/when-not instructions or prerequisites stated.

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

format_as_planC
Read-onlyIdempotent

κ³„νšμœΌλ‘œ|μ •λ¦¬ν•΄μ€˜|체크리슀트|format as plan|make a plan|organize this|checklist - Format content into clear plans

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesContent to format as a plan
priorityNoDefault priority level
includeTimeEstimatesNoInclude time estimates for each step
includeCheckboxesNoInclude checkboxes for tracking progress

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already provide key behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true), so the description doesn't need to repeat safety aspects. It adds value by implying the tool transforms content into a structured plan format, but doesn't detail output behavior (e.g., format specifics, error handling). With annotations covering core traits, a baseline 3 is appropriate.

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

Conciseness2/5

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

The description is a disorganized list of synonyms separated by pipes and dashes ('κ³„νšμœΌλ‘œ|μ •λ¦¬ν•΄μ€˜|체크리슀트|format as plan|make a plan|organize this|checklist - Format content into clear plans'), lacking clear structure. It's front-loaded with redundant terms rather than a coherent sentence, reducing readability without adding 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 the tool's moderate complexity (4 parameters, 1 required) and rich annotations, the description is minimally adequate. It states the core purpose but misses usage guidelines and output details (no output schema exists). For a transformation tool, more context on the resulting plan format would be helpful, but annotations provide safety coverage.

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 parameters are fully documented in the schema. The description doesn't add any parameter-specific details beyond implying 'content' is formatted. It mentions 'checklist' which loosely relates to 'includeCheckboxes', but no explicit mapping. Baseline 3 is correct when schema does the heavy lifting.

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's purpose with multiple verbs ('format as plan', 'make a plan', 'organize this') and specifies the resource ('content'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'create_thinking_chain' or 'step_by_step_analysis' that might also organize content, which prevents a perfect score.

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?

The description provides no guidance on when to use this tool versus alternatives. It lists synonyms ('checklist', 'organize this') but doesn't specify contexts, prerequisites, or exclusions. Given the many sibling tools for analysis and organization, this lack of differentiation is a significant gap.

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

generate_prdB
Read-onlyIdempotent

PRD|μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œ|μ œν’ˆ μš”κ΅¬μ‚¬ν•­|product requirements|requirements document|spec document - Generate Product Requirements Document

ParametersJSON Schema
NameRequiredDescriptionDefault
productNameYesName of the product/feature
productVisionYesHigh-level vision and goals
targetAudienceNoTarget users and stakeholders
businessObjectivesNoBusiness goals and success metrics
functionalRequirementsNoKey features and functionality
constraintsNoTechnical/business constraints

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate this is a read-only, non-destructive, idempotent operation with a closed-world scope. The description adds no behavioral context beyond these annotations, such as rate limits, authentication needs, or output format details. No contradiction exists, but minimal value is added.

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

Conciseness4/5

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

The description is a single, efficient line listing synonyms for PRD generation. It's appropriately sized and front-loaded, though it could be slightly more structured by separating synonyms with commas or clarifying the core action.

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 the tool's complexity (6 parameters, no output schema) and rich annotations, the description is minimally adequate. It states the purpose but lacks details on output format, error handling, or integration with sibling tools, leaving gaps for an agent to infer 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?

With 100% schema description coverage, the input schema fully documents all 6 parameters. The description adds no additional meaning, examples, or constraints beyond what the schema provides, meeting the baseline for high coverage without enhancement.

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 generates a Product Requirements Document with specific synonyms (PRD, μš”κ΅¬μ‚¬ν•­ λ¬Έμ„œ, μ œν’ˆ μš”κ΅¬μ‚¬ν•­, etc.), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'analyze_requirements' or 'create_user_stories', which could have overlapping domains.

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?

The description provides no guidance on when to use this tool versus alternatives like 'analyze_requirements' or 'create_user_stories'. It lacks context about prerequisites, timing, or exclusions, leaving the agent with minimal usage direction.

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

get_coding_guideB
Read-onlyIdempotent

κ°€μ΄λ“œ|κ·œμΉ™|μ»¨λ²€μ…˜|guide|rules|convention|standards|best practices - Get coding guide

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesGuide name to retrieve
categoryNoGuide category

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already provide key behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false). The description adds minimal context beyond this, only implying retrieval of coding standards without detailing response format, error handling, or rate limits. No contradiction with annotations exists.

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

Conciseness4/5

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

The description is very concise, using a single phrase with synonyms to convey the tool's purpose efficiently. However, the structure could be improved by front-loading the core action more clearly, as the synonym list might slightly obscure the main intent.

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 the annotations cover safety and idempotency, and the schema fully describes parameters, the description is minimally adequate. However, without an output schema, it doesn't explain what the tool returns (e.g., guide content format), leaving a gap in completeness for a retrieval 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%, fully documenting both parameters (name and category). The description doesn't add any semantic details beyond what the schema provides, such as examples of guide names or categories, so it meets the baseline for high schema coverage without extra value.

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's purpose with the verb 'Get' and resource 'coding guide', and includes relevant synonyms (guide, rules, convention, standards, best practices) to clarify scope. However, it doesn't explicitly differentiate from sibling tools like 'apply_quality_rules' or 'validate_code_quality', which might have overlapping domains.

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 is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, typical use cases, or comparisons with sibling tools that might handle related tasks like quality rules or code validation.

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

get_current_timeB
Read-only

μ§€κΈˆ λͺ‡μ‹œ|ν˜„μž¬ μ‹œκ°„|λͺ‡μ‹œμ•Ό|what time|current time|time now - Get current time

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoTime format
timezoneNoTimezone (e.g., America/New_York, Asia/Seoul)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true and destructiveHint=false, establishing this as a safe read operation. The description adds no behavioral context beyond what annotations provide - no information about rate limits, authentication needs, or specific behavioral traits. However, it doesn't contradict annotations either.

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 and front-loaded with the core functionality. The natural language variations are efficiently packed, and every element serves a clear purpose for query matching without unnecessary elaboration.

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 simple time retrieval tool with good annotations and full parameter documentation, the description is reasonably complete. It states the core purpose clearly. The main gap is lack of output format information since there's no output schema, but for this simple tool, the description is adequate.

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?

With 100% schema description coverage, the schema fully documents both parameters (format with enum values and timezone). The description adds no parameter semantics beyond what's in the schema, meeting the baseline 3 for high schema 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's purpose ('Get current time') and includes multiple natural language variations for query matching. However, it doesn't differentiate from siblings since there are no time-related sibling tools, so it can't earn the full 5 points for sibling differentiation.

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?

The description provides no guidance on when to use this tool versus alternatives. While there are no obvious time-related sibling tools, there's no explicit context about when this tool is appropriate versus other approaches for obtaining time information.

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

get_memory_graphA
Read-onlyIdempotent

λ©”λͺ¨λ¦¬ 지식 κ·Έλž˜ν”„λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: κ·Έλž˜ν”„, 관계도, μ—°κ²° 보기, memory graph, relations, connections

μ‚¬μš© μ˜ˆμ‹œ:

  • "project-architecture의 관계 κ·Έλž˜ν”„ λ³΄μ—¬μ€˜"

  • "전체 λ©”λͺ¨λ¦¬ κ·Έλž˜ν”„ 쑰회"

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoμ‹œμž‘ λ©”λͺ¨λ¦¬ ν‚€ (μ—†μœΌλ©΄ 전체 κ·Έλž˜ν”„)
depthNo탐색 깊이 (κΈ°λ³Έκ°’: 2)
relationTypeNo필터링할 관계 μœ ν˜•
formatNo좜λ ₯ ν˜•μ‹

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already provide comprehensive behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false). The description adds value by specifying the tool retrieves 'λ©”λͺ¨λ¦¬ 지식 κ·Έλž˜ν”„' (memory knowledge graph) and provides usage examples that clarify it can retrieve either the entire graph or start from a specific key. This adds useful context beyond what annotations provide about the tool's scope and typical 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.

Conciseness4/5

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

The description is appropriately sized with a clear purpose statement followed by keywords and usage examples. The structure is front-loaded with the core purpose first. The keywords section could be more concise, but overall the description avoids unnecessary verbosity while providing useful 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 the comprehensive annotations (which cover safety and behavioral aspects) and 100% schema description coverage, the description provides adequate context. The lack of an output schema means the description doesn't explain return values, but this is acceptable given the annotations indicate it's a read-only operation. The description could be more complete by explicitly differentiating from sibling tools, but it provides sufficient context for basic 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?

With 100% schema description coverage, the input schema already fully documents all 4 parameters. The description doesn't add any additional parameter semantics beyond what's in the schema descriptions. The usage examples imply parameter usage (e.g., 'project-architecture의 관계 κ·Έλž˜ν”„ λ³΄μ—¬μ€˜' suggests using the 'key' parameter), but don't provide new information about parameter meaning or behavior.

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's purpose as 'λ©”λͺ¨λ¦¬ 지식 κ·Έλž˜ν”„λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€' (retrieves memory knowledge graph), which is a specific verb+resource combination. However, it doesn't explicitly differentiate this from sibling tools like 'analyze_dependency_graph' or 'list_memories', which might have overlapping functionality. The keywords provide additional context but don't enhance the core purpose statement.

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 provides usage examples that imply when to use this tool (e.g., '전체 λ©”λͺ¨λ¦¬ κ·Έλž˜ν”„ 쑰회' for retrieving the entire graph), but doesn't explicitly state when to use it versus alternatives like 'analyze_dependency_graph' or 'list_memories'. The examples give contextual guidance but lack explicit when/when-not statements or named alternatives.

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

get_session_contextA
Read-onlyIdempotent

πŸš€ [μƒˆ λŒ€ν™”/μ„Έμ…˜ μ‹œμž‘ μ‹œ μžλ™ μ‹€ν–‰ ꢌμž₯] 이전 μ„Έμ…˜μ˜ λ©”λͺ¨λ¦¬, 지식 κ·Έλž˜ν”„, 졜근 μž‘μ—… 내역을 ν•œ λ²ˆμ— μ‘°νšŒν•©λ‹ˆλ‹€.

이 λ„κ΅¬λŠ” μƒˆλ‘œμš΄ λŒ€ν™”λ₯Ό μ‹œμž‘ν•  λ•Œ κ°€μž₯ λ¨Όμ € μ‹€ν–‰ν•˜λ©΄ μ’‹μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈμ˜ μ»¨ν…μŠ€νŠΈλ₯Ό λΉ λ₯΄κ²Œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: μ„Έμ…˜ μ‹œμž‘, μ»¨ν…μŠ€νŠΈ, 이전 μž‘μ—…, session start, context, previous work, what did we do

μ‚¬μš© μ˜ˆμ‹œ:

  • "이전에 무슨 μž‘μ—… ν–ˆμ—ˆμ§€?"

  • "ν”„λ‘œμ νŠΈ μ»¨ν…μŠ€νŠΈ μ•Œλ €μ€˜"

  • "μ„Έμ…˜ μ»¨ν…μŠ€νŠΈ 쑰회"

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameNoν”„λ‘œμ νŠΈλͺ…μœΌλ‘œ 필터링 (선택)
categoryNoμΉ΄ν…Œκ³ λ¦¬λ‘œ 필터링 (선택)
memoryLimitNoμ‘°νšŒν•  λ©”λͺ¨λ¦¬ 수 (κΈ°λ³Έκ°’: 15)
includeGraphNo지식 κ·Έλž˜ν”„ 포함 μ—¬λΆ€ (κΈ°λ³Έκ°’: true)
includeTimelineNoνƒ€μž„λΌμΈ 포함 μ—¬λΆ€ (κΈ°λ³Έκ°’: true)
timeRangeNoνƒ€μž„λΌμΈ 쑰회 λ²”μœ„7d

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false. The description adds valuable context: it's 'μžλ™ μ‹€ν–‰ ꢌμž₯' (recommended for automatic execution) at session start, which helps the agent understand timing and importance. However, it doesn't mention rate limits, authentication needs, or specific error behaviors beyond what annotations cover.

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

Conciseness4/5

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

The description is well-structured with purpose, usage recommendation, keywords, and examples. However, the keyword section ('ν‚€μ›Œλ“œ: μ„Έμ…˜ μ‹œμž‘...') and examples could be slightly trimmed as they partially repeat the main points. Most sentences earn their place by reinforcing when and how to use the tool.

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 read-only, idempotent tool with no output schema, the description provides good context: purpose, timing, and examples. It covers the 'why' and 'when' well. However, it doesn't describe the return format (what 'λ©”λͺ¨λ¦¬, 지식 κ·Έλž˜ν”„, 졜근 μž‘μ—… λ‚΄μ—­' looks like) or potential limitations, which would help the agent interpret results.

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 parameters are fully documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions general filtering ('ν”„λ‘œμ νŠΈμ˜ μ»¨ν…μŠ€νŠΈλ₯Ό λΉ λ₯΄κ²Œ νŒŒμ•…' - quickly grasp project context) but no details on parameter usage. Baseline 3 is appropriate given high schema coverage.

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: 'μ‘°νšŒν•©λ‹ˆλ‹€' (retrieves) '이전 μ„Έμ…˜μ˜ λ©”λͺ¨λ¦¬, 지식 κ·Έλž˜ν”„, 졜근 μž‘μ—… λ‚΄μ—­' (previous session's memory, knowledge graph, recent work history). It distinguishes from siblings like 'list_memories' or 'get_memory_graph' by emphasizing it's a comprehensive context retrieval for session start, not just memory listing or graph analysis.

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 guidance: '[μƒˆ λŒ€ν™”/μ„Έμ…˜ μ‹œμž‘ μ‹œ μžλ™ μ‹€ν–‰ ꢌμž₯]' (recommended to run automatically at new conversation/session start) and '이 λ„κ΅¬λŠ” μƒˆλ‘œμš΄ λŒ€ν™”λ₯Ό μ‹œμž‘ν•  λ•Œ κ°€μž₯ λ¨Όμ € μ‹€ν–‰ν•˜λ©΄ μ’‹μŠ΅λ‹ˆλ‹€' (this tool is good to run first when starting a new conversation). It implicitly suggests alternatives by specifying this is for session context, not for other analysis tasks handled by siblings.

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

get_usage_analyticsB
Read-onlyIdempotent

도ꡬ μ‚¬μš© 뢄석 및 톡계λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: 뢄석, 톡계, μ‚¬μš©λŸ‰, analytics, statistics, usage

제곡 정보:

  • λ©”λͺ¨λ¦¬ μ‚¬μš© 톡계

  • μΉ΄ν…Œκ³ λ¦¬λ³„ 뢄포

  • μ‹œκ°„λ³„ μ‚¬μš© νŒ¨ν„΄

  • κ·Έλž˜ν”„ 관계 톡계

μ‚¬μš© μ˜ˆμ‹œ:

  • "μ‚¬μš© 톡계 λ³΄μ—¬μ€˜"

  • "λ©”λͺ¨λ¦¬ 뢄석"

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo뢄석 μœ ν˜•
timeRangeNoμ‹œκ°„ λ²”μœ„
detailedNo상세 정보 포함 μ—¬λΆ€ (κΈ°λ³Έκ°’: false)

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already provide strong behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false), indicating this is a safe, read-only operation. The description adds value by specifying the types of analytics returned (memory usage, category distribution, time patterns, graph statistics), which gives context beyond the annotations. It doesn't disclose rate limits or auth needs, but with annotations covering safety, this is acceptable.

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

Conciseness3/5

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

The description is moderately concise but has structural issues. It starts with a clear purpose statement, but includes a redundant 'Keywords' section that repeats terms already in the description. The bulleted list of provided information is useful, but the usage examples could be integrated more smoothly. It's front-loaded with the purpose, but some sentences (like the keyword list) don't earn their 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's moderate complexity (3 parameters, no output schema), the description is reasonably complete. It explains what analytics are returned, supported by annotations that clarify behavioral traits. However, it doesn't detail the output format or structure, which would be helpful since there's no output schema. For a read-only analytics tool, it covers most essentials but leaves some ambiguity about result presentation.

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%, with clear descriptions for all parameters (type, timeRange, detailed) including enums and defaults. The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining the 'all' type or timeRange options. However, with high schema coverage, the baseline is 3, as the schema does the heavy lifting.

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's purpose as 'retrieving usage analysis and statistics' in Korean, with English keywords reinforcing this. It lists specific types of information provided (memory usage, category distribution, time patterns, graph statistics), making the purpose concrete. However, it doesn't explicitly differentiate from sibling tools like 'analyze_complexity' or 'get_memory_graph', which appear related but have different scopes.

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?

The description provides usage examples in Korean ('show usage statistics', 'memory analysis'), which give some implied context for when to use the tool. However, it lacks explicit guidance on when to choose this tool over alternatives like 'analyze_complexity' or 'get_memory_graph', and doesn't mention prerequisites or exclusions. The examples are helpful but insufficient for clear differentiation.

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

list_memoriesA
Read-onlyIdempotent

μ €μž₯된 λ©”λͺ¨λ¦¬ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€. μΉ΄ν…Œκ³ λ¦¬λ³„ 필터링 κ°€λŠ₯.

ν‚€μ›Œλ“œ: 뭐 μžˆμ—ˆμ§€, μ €μž₯된 κ±°, λͺ©λ‘, what did I save, list memories, show saved

πŸ’‘ μ„Έμ…˜ μ‹œμž‘ μ‹œ 전체 μ»¨ν…μŠ€νŠΈκ°€ ν•„μš”ν•˜λ©΄ get_session_contextλ₯Ό μ‚¬μš©ν•˜μ„Έμš”.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category
limitNoMaximum number of results

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds context about filtering capabilities and references 'get_session_context' for session context, which is useful behavioral information beyond annotations. No contradictions with annotations.

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

Conciseness4/5

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

The description is front-loaded with the core purpose, followed by filtering info, keywords, and a usage tip. It's efficient but includes emojis and mixed languages (Korean/English), which slightly reduces structural clarity. Most sentences earn their 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 read-only list tool with good annotations (readOnlyHint, idempotentHint) and no output schema, the description is reasonably complete. It covers purpose, filtering, keywords, and references an alternative tool. Minor gaps include no details on return format or pagination, but annotations help mitigate this.

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%, with clear descriptions for both parameters ('category' and 'limit'). The description mentions 'μΉ΄ν…Œκ³ λ¦¬λ³„ 필터링 κ°€λŠ₯' (filterable by category), which aligns with the schema but doesn't add significant semantic value beyond it. Baseline 3 is appropriate given high schema coverage.

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: 'μ €μž₯된 λ©”λͺ¨λ¦¬ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€' (retrieves a list of saved memories) and adds 'μΉ΄ν…Œκ³ λ¦¬λ³„ 필터링 κ°€λŠ₯' (filterable by category). It uses specific verbs ('μ‘°νšŒν•©λ‹ˆλ‹€' - retrieves) and distinguishes from siblings like 'search_memories_advanced' by focusing on listing rather than searching.

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 guidance: it includes keywords for when to use (e.g., '뭐 μžˆμ—ˆμ§€', 'list memories') and explicitly references an alternative tool ('get_session_context') for session context needs. This clearly distinguishes when to use this tool versus others.

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

preview_ui_asciiA
Read-onlyIdempotent

UI λ§Œλ“€μ–΄|νŽ˜μ΄μ§€ 개발|νŽ˜μ΄μ§€ λ§Œλ“€μ–΄|μ»΄ν¬λ„ŒνŠΈ μž‘μ„±|λ ˆμ΄μ•„μ›ƒ|ν™”λ©΄ ꡬ성|create page|build UI|design component|make page|develop page - Preview UI before coding

ParametersJSON Schema
NameRequiredDescriptionDefault
page_nameYesName of the page or component (e.g., "Login Page", "Dashboard")
layout_typeNoLayout structure type (default: header-footer)
componentsYesList of UI components to include
widthNoPreview width in characters (default: 60)
responsiveNoShow mobile view preview (default: false)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already provide clear behavioral hints (readOnlyHint: true, destructiveHint: false, idempotentHint: true). The description adds valuable context by specifying that this is a 'preview' tool for UI design before actual coding, which clarifies its non-destructive, planning-oriented nature. This goes beyond what annotations provide by explaining the tool's role in the development workflow.

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

Conciseness4/5

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

The description is efficiently structured with a list of synonymous action verbs followed by the core purpose 'Preview UI before coding.' It's front-loaded with key terms and avoids unnecessary elaboration. The only minor inefficiency is the repetitive list of verbs, but overall it's appropriately concise for the tool's complexity.

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 rich annotations (readOnly, non-destructive, idempotent) and 100% schema coverage, the description provides adequate context for this preview tool. The description clarifies the tool's role in the UI design workflow, which complements the structured data. The main gap is the lack of output schema, but the description doesn't need to explain return values since it's a preview 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%, meaning all parameters are well-documented in the schema itself. The description doesn't add any additional parameter semantics beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete, but doesn't provide extra value.

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's purpose: 'Preview UI before coding' with multiple synonymous verbs (create, build, design, make, develop). It specifies the resource (UI/page/component) and the action (preview). However, it doesn't explicitly differentiate from sibling tools, which appear to be analysis/memory/planning tools rather than UI preview tools, so the distinction is implicit rather than explicit.

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 usage context through the phrase 'Preview UI before coding,' suggesting this is for design/planning phases. However, it doesn't provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. The sibling tools are mostly analysis/memory tools, so the distinction is clear 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.

prioritize_memoryC
Read-onlyIdempotent

μ€‘μš”ν•œ κ±°|μš°μ„ μˆœμœ„|prioritize|important|what matters|priority - Prioritize memories by importance

ParametersJSON Schema
NameRequiredDescriptionDefault
currentTaskYesCurrent task description
criticalDecisionsNoList of critical decisions made
codeChangesNoImportant code changes
blockersNoCurrent blockers or issues
nextStepsNoPlanned next steps

TDQS

C2.2/5.0
Behavior3/5

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

The annotations provide significant behavioral information: readOnlyHint=true, openWorldHint=false, idempotentHint=true, destructiveHint=false. The description doesn't contradict these annotations, but it also adds minimal behavioral context beyond them. It doesn't explain what 'prioritize' means operationally - whether this is a filtering operation, a sorting operation, or a metadata update. For a tool with good annotation coverage, the description adds some value by emphasizing the importance/priority aspect but lacks detail on the actual behavior.

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

Conciseness2/5

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

The description is extremely brief but not effectively concise. It's essentially a keyword list separated by pipes and a dash, which creates confusion rather than clarity. While it's short, it's poorly structured - the pipe-separated synonyms don't form coherent sentences, and the dash-separated final phrase doesn't properly explain the tool. This isn't appropriate conciseness but rather under-specification with confusing formatting.

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 the complexity of a 5-parameter tool with no output schema, the description is severely incomplete. While annotations cover safety aspects (read-only, non-destructive, idempotent), the description fails to explain what the tool actually produces or how it works. For a prioritization tool that presumably outputs some form of prioritized list or ranking, the absence of output information combined with the vague description leaves significant gaps in understanding the tool's functionality and results.

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%, with all 5 parameters well-documented in the input schema. The description provides no additional parameter information whatsoever - it doesn't explain how the parameters relate to prioritization, what format the prioritization output might take, or how different parameter combinations affect results. With complete schema coverage, the baseline is 3, and the description doesn't enhance understanding of parameter usage beyond what the schema already provides.

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

Purpose2/5

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

The description is a tautology that essentially restates the tool name 'prioritize_memory' with synonyms like 'important', 'priority', and 'what matters'. It doesn't specify what the tool actually does - whether it reorders existing memories, assigns priority scores, or creates prioritized memory entries. The description fails to distinguish this tool from sibling memory tools like 'list_memories', 'save_memory', or 'update_memory'.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus alternatives. With multiple sibling tools related to memory management (create_memory_timeline, delete_memory, get_memory_graph, link_memories, list_memories, recall_memory, save_memory, search_memories_advanced, update_memory), there's no indication of when prioritization is appropriate versus listing, searching, creating, or updating memories. The description offers no context about prerequisites or appropriate situations for use.

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

recall_memoryA
Read-onlyIdempotent

νŠΉμ • λ©”λͺ¨λ¦¬λ₯Ό ν‚€λ‘œ μ‘°νšŒν•©λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: λ– μ˜¬λ €, recall, κΈ°μ–΅λ‚˜, remember what, what was, remind

πŸ’‘ 전체 μ»¨ν…μŠ€νŠΈκ°€ ν•„μš”ν•˜λ©΄ get_session_contextλ₯Ό λ¨Όμ € μ‚¬μš©ν•˜μ„Έμš”.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key to retrieve
categoryNoMemory category to search in

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds no behavioral traits beyond these annotations, such as rate limits or auth needs. However, it does not contradict annotations, so it meets the baseline for when annotations are present.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded: the first sentence states the purpose, followed by keywords and a usage tip. Each sentence adds value without redundancy. It could be slightly more structured but is efficient overall.

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 low complexity (simple retrieval), rich annotations, and no output schema, the description is reasonably complete. It covers purpose, usage guidelines, and hints at context, though it could benefit from mentioning return format or error handling. The annotations help fill gaps, making it adequate for the 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 description coverage is 100%, with both parameters ('key' and 'category') fully described in the schema. The description does not add any meaning beyond the schema, such as examples or constraints. With high schema coverage, the baseline score is 3.

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's purpose: 'νŠΉμ • λ©”λͺ¨λ¦¬λ₯Ό ν‚€λ‘œ μ‘°νšŒν•©λ‹ˆλ‹€' (Retrieve a specific memory by key). It specifies the verb 'μ‘°νšŒν•©λ‹ˆλ‹€' (retrieve/lookup) and resource 'λ©”λͺ¨λ¦¬' (memory), but does not explicitly differentiate from sibling tools like 'list_memories' or 'search_memories_advanced', which is why it scores 4 instead of 5.

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 guidance: it includes keywords for when to use (λ– μ˜¬λ €, recall, κΈ°μ–΅λ‚˜, remember what, what was, remind) and recommends an alternative tool ('get_session_context') for full context needs. This clearly indicates when to use this tool versus alternatives.

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

save_memoryA
Idempotent

μ€‘μš”ν•œ 정보λ₯Ό μž₯κΈ° λ©”λͺ¨λ¦¬μ— μ €μž₯ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ 결정사항, μ•„ν‚€ν…μ²˜, μ„€μ • 등을 κΈ°λ‘ν•˜μ„Έμš”.

ν‚€μ›Œλ“œ: κΈ°μ–΅ν•΄, remember, μ €μž₯ν•΄, save, memorize, keep

πŸ’‘ μ €μž₯ ν›„ link_memories둜 κ΄€λ ¨ λ©”λͺ¨λ¦¬λ₯Ό μ—°κ²°ν•˜λ©΄ 지식 κ·Έλž˜ν”„κ°€ κ΅¬μΆ•λ©λ‹ˆλ‹€.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key/identifier
valueYesInformation to save
categoryNoMemory category

TDQS

A3.6/5.0
Behavior3/5

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

Annotations provide key behavioral hints: readOnlyHint=false (write operation), idempotentHint=true (safe to retry), destructiveHint=false (non-destructive). The description adds value by specifying the type of information to save (e.g., project decisions, architecture) and mentioning the knowledge graph integration, which isn't covered by annotations. However, it lacks details on potential side effects, error conditions, or performance aspects, so it only partially enhances transparency beyond the structured data.

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

Conciseness4/5

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

The description is well-structured and concise, with three sentences that each serve a purpose: stating the tool's function, providing keywords for usage, and suggesting a related action. It avoids redundancy and is front-loaded with the core purpose. A point is deducted because the keyword list could be slightly trimmed or integrated more seamlessly, but overall it's efficient and clear.

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

Completeness4/5

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

Given the tool's moderate complexity (3 parameters, no output schema), the description is reasonably complete. It covers the purpose, usage hints, and integration with 'link_memories', complementing the annotations and schema. However, it doesn't explain the return value or potential errors, which could be useful since there's no output schema. This minor gap prevents a perfect score, but it's sufficient for effective 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%, with clear descriptions for 'key' (Memory key/identifier), 'value' (Information to save), and 'category' (Memory category with enum values). The description adds minimal semantic context by implying 'value' should contain 'μ€‘μš”ν•œ 정보' (important information) like project decisions, but this doesn't significantly expand beyond the schema. Since the schema is well-documented, the baseline score of 3 is appropriate, as the description doesn't provide additional parameter insights.

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's purpose: 'μ€‘μš”ν•œ 정보λ₯Ό μž₯κΈ° λ©”λͺ¨λ¦¬μ— μ €μž₯ν•©λ‹ˆλ‹€' (saves important information to long-term memory) and provides examples of what to save (project decisions, architecture, settings). It distinguishes from siblings like 'delete_memory', 'update_memory', and 'list_memories' by focusing on creation. However, it doesn't explicitly contrast with 'create_memory_timeline' or 'prioritize_memory', keeping it from a perfect score.

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 clear usage context by listing keywords (e.g., 'κΈ°μ–΅ν•΄', 'remember', 'save') and suggesting a follow-up action: 'μ €μž₯ ν›„ link_memories둜 κ΄€λ ¨ λ©”λͺ¨λ¦¬λ₯Ό μ—°κ²°ν•˜λ©΄ 지식 κ·Έλž˜ν”„κ°€ κ΅¬μΆ•λ©λ‹ˆλ‹€' (after saving, use link_memories to connect related memories to build a knowledge graph). This gives practical guidance on when to use it and hints at alternatives like 'link_memories'. However, it doesn't explicitly state when not to use this tool versus other memory-related siblings, such as 'update_memory' for modifications.

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

search_memories_advancedA
Read-onlyIdempotent

κ³ κΈ‰ λ©€ν‹° μ „λž΅ λ©”λͺ¨λ¦¬ 검색을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

ν‚€μ›Œλ“œ: κ³ κΈ‰ 검색, μ°Ύμ•„, 슀마트 검색, advanced search, find memories

검색 μ „λž΅:

  • keyword: 전톡적 ν‚€μ›Œλ“œ 검색

  • graph_traversal: κ·Έλž˜ν”„ 기반 κ΄€λ ¨ λ©”λͺ¨λ¦¬ 탐색

  • temporal: μ‹œκ°„μˆœ μ •λ ¬

  • priority: μš°μ„ μˆœμœ„ 기반

  • context_aware: 볡합 μ „λž΅ (ν‚€μ›Œλ“œ + μš°μ„ μˆœμœ„ + μ΅œκ·Όμ„±)

μ‚¬μš© μ˜ˆμ‹œ:

  • "authentication κ΄€λ ¨ λ©”λͺ¨λ¦¬ κ³ κΈ‰ 검색"

  • "κ·Έλž˜ν”„ νƒμƒ‰μœΌλ‘œ project-architecture κ΄€λ ¨ λ©”λͺ¨λ¦¬ μ°ΎκΈ°"

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes검색 쿼리
strategyNo검색 μ „λž΅
limitNoμ΅œλŒ€ κ²°κ³Ό 수 (κΈ°λ³Έκ°’: 10)
categoryNoμΉ΄ν…Œκ³ λ¦¬ ν•„ν„°
startKeyNoκ·Έλž˜ν”„ 탐색 μ‹œμž‘ ν‚€ (graph_traversal μ „λž΅μš©)
depthNoκ·Έλž˜ν”„ 탐색 깊이 (κΈ°λ³Έκ°’: 2)
includeRelationsNo관계 정보 포함 μ—¬λΆ€

TDQS

A3.8/5.0
Behavior4/5

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

The description adds valuable behavioral context beyond annotations by explaining the five different search strategies and their purposes. Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, but the description provides operational details about how searches work differently based on strategy. No contradiction with annotations exists.

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

Conciseness3/5

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

The description is reasonably structured with strategy explanations and usage examples, but includes redundant keywords ('κ³ κΈ‰ 검색, μ°Ύμ•„, 슀마트 검색, advanced search, find memories') that don't add value. The content is front-loaded with the core purpose, but could be more concise by removing the keyword list.

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 complex search tool with 7 parameters and no output schema, the description provides good context about search strategies and usage. However, it doesn't explain what the tool returns (memory objects, summaries, etc.) or any limitations like pagination or performance characteristics. The strategy explanations help compensate for the missing output schema.

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?

With 100% schema description coverage, the schema already documents all 7 parameters thoroughly. The description adds some value by explaining the purpose of different 'strategy' enum values, but doesn't provide additional semantic context for other parameters like 'query', 'limit', or 'category' beyond what's in the schema. Baseline 3 is appropriate when schema does heavy lifting.

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 performs 'advanced multi-strategy memory search' which is a specific verb+resource combination. However, it doesn't explicitly differentiate itself from sibling tools like 'list_memories' or 'recall_memory', which might also retrieve memories. The purpose is clear but sibling differentiation is missing.

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 clear context about when to use different strategies (keyword for traditional search, graph_traversal for related memories, etc.) and includes usage examples. However, it doesn't explicitly state when NOT to use this tool versus alternatives like 'list_memories' or 'recall_memory' from the sibling list.

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

step_by_step_analysisC
Read-onlyIdempotent

단계별|μ°¨κ·Όμ°¨κ·Ό|ν•˜λ‚˜μ”©|step by step|one by one|gradually - Perform detailed step-by-step analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask to analyze step by step
contextNoAdditional context for the task
detailLevelNoLevel of detail

TDQS

C2.2/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, indicating a safe, repeatable, and bounded operation. The description adds minimal behavioral context with 'detailed' and 'step-by-step', but doesn't elaborate on aspects like output format, error handling, or performance characteristics. It doesn't contradict annotations, so it meets the lower bar with annotations present.

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

Conciseness2/5

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

The description is a single run-on phrase with redundant synonyms ('단계별|μ°¨κ·Όμ°¨κ·Ό|ν•˜λ‚˜μ”©|step by step|one by one|gradually'), which adds noise without value. It's front-loaded but inefficient, wasting space on repetition rather than providing clear, actionable information. The structure lacks coherence and could be more streamlined.

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 the tool has no output schema and annotations cover basic safety, the description should explain what the analysis produces (e.g., a list of steps, a report). It fails to do so, leaving gaps in understanding the tool's output. For a 3-parameter tool with siblings offering similar analyses, this incompleteness reduces its utility 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 description coverage is 100%, with clear descriptions for 'task', 'context', and 'detailLevel' (including enum values). The description adds no parameter-specific information beyond what the schema provides, such as examples or usage tips. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract.

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

Purpose2/5

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

The description is tautological, essentially restating the tool name 'step_by_step_analysis' with synonyms like 'step by step' and 'one by one'. It mentions 'Perform detailed step-by-step analysis' but lacks specificity about what kind of analysis or what resource it operates on. Compared to siblings like 'analyze_complexity' or 'analyze_dependency_graph', it doesn't clearly distinguish its unique function.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives. It doesn't specify scenarios, prerequisites, or exclusions. Given siblings like 'analyze_problem' and 'analyze_requirements', the description fails to help an agent decide when this tool is the appropriate choice, leaving usage ambiguous.

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

suggest_improvementsC
Read-onlyIdempotent

κ°œμ„ |더 μ’‹κ²Œ|λ¦¬νŒ©ν† λ§|improve|make better|refactor|optimize|enhance code - Suggest improvements

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode to analyze
focusNoFocus area
priorityNoPriority level

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds no behavioral context beyond what annotations declare, but doesn't contradict them. It mentions 'suggest improvements' which aligns with read-only analysis, so no contradiction exists.

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

Conciseness2/5

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

The description is a single run-on phrase listing synonyms without proper structure or front-loading of key information. It wastes space on redundant terms ('improve|make better|refactor|optimize|enhance code') rather than providing a clear, concise purpose statement. Every word doesn't earn its place.

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 annotations cover safety and idempotency, and schema fully describes parameters, the description is minimally adequate. However, it lacks output information (no output schema provided) and doesn't explain what the improvements entail or how results are presented. For a code analysis tool with siblings, more context on differentiation would be beneficial.

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%, with clear descriptions for all parameters and enums. The description adds no parameter-specific information beyond what the schema provides, such as examples or usage tips. With high schema coverage, the baseline score of 3 is appropriate as the schema carries the semantic burden.

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

Purpose3/5

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

The description lists synonyms for 'improve' but lacks a specific verb-resource combination. It states 'Suggest improvements' which is tautological with the tool name, and doesn't clearly differentiate what type of improvements (code improvements) or how it differs from siblings like 'validate_code_quality' or 'apply_quality_rules'.

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 explicit guidance on when to use this tool versus alternatives. The description provides no context about appropriate scenarios, prerequisites, or comparisons to sibling tools like 'analyze_complexity' or 'apply_quality_rules'. Usage is implied through parameter enums but not explained.

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

update_memoryC
Idempotent

μˆ˜μ •ν•΄|μ—…λ°μ΄νŠΈ|λ°”κΏ”|update|change|modify|edit - Update existing memory

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesMemory key to update
valueYesNew value
appendNoAppend to existing value

TDQS

C2.7/5.0
Behavior4/5

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

The description doesn't contradict the annotations, which already provide comprehensive behavioral information: readOnlyHint=false (mutation), openWorldHint=false (closed system), idempotentHint=true (safe to retry), destructiveHint=false (non-destructive). The description adds no additional behavioral context beyond what annotations provide, but since annotations cover key aspects, this is acceptable. No rate limits, authentication needs, or specific side effects 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.

Conciseness2/5

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

The description is inefficiently structured with redundant synonyms ('μˆ˜μ •ν•΄|μ—…λ°μ΄νŠΈ|λ°”κΏ”|update|change|modify|edit') that don't add value. Only the final phrase 'Update existing memory' carries meaningful content. The front-loaded multilingual repetition wastes space without improving clarity.

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 the annotations provide good behavioral coverage (mutation, idempotent, non-destructive) and schema coverage is complete, the description is minimally adequate for a simple update operation. However, without an output schema and with no description of return values or error conditions, there are gaps. The description should ideally clarify what constitutes 'memory' in this system 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 description coverage is 100%, with all three parameters ('key', 'value', 'append') fully documented in the schema. The description adds no parameter information beyond what the schema provides. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose2/5

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

The description is tautological, primarily restating the tool name ('update') with synonyms in multiple languages. It doesn't specify what 'memory' refers to in this context or what kind of update operation is performed. While it distinguishes from siblings like 'delete_memory' and 'save_memory' by being an update operation, it lacks specificity about the resource being modified.

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 is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, appropriate contexts, or comparisons with sibling tools like 'save_memory' or 'delete_memory'. The agent receives no usage instructions beyond the basic operation implied by the name.

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

validate_code_qualityC
Read-onlyIdempotent

ν’ˆμ§ˆ|리뷰|검사|quality|review code|check quality|validate|μ½”λ“œ 리뷰 - Validate code quality

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode to validate
typeNoCode type
strictNoApply strict validation rules
metricsNoSpecific metrics to check

TDQS

C2.8/5.0
Behavior4/5

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

Annotations provide clear behavioral hints (readOnlyHint: true, idempotentHint: true, destructiveHint: false), indicating a safe, non-mutating operation. The description adds no additional behavioral context (e.g., what quality standards are used, if results are cached, or performance implications), but it doesn't contradict the annotations. With annotations covering key safety aspects, the description's lack of extra detail is acceptable but not exemplary.

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

Conciseness2/5

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

The description is a string of keywords separated by pipes and dashes, lacking coherent structure or front-loaded clarity. It's not a proper sentence or paragraph, making it inefficient for quick comprehension. While concise in length, it fails to communicate effectively, as the keyword jumble requires parsing rather than delivering immediate understanding.

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 the tool's complexity (4 parameters, no output schema) and rich annotations, the description is insufficient. It doesn't explain what the tool returns (e.g., a quality score, issues list), how validation is performed, or tie parameters to outcomes. With annotations handling safety but no output schema, the description should provide more context about results and behavior to be complete for a quality analysis 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%, with all parameters well-documented in the schema (e.g., 'code' as 'Code to validate', 'type' with enum values). The description adds no parameter-specific information beyond what the schema provides, such as explaining how 'strict' affects validation or what 'metrics' entail. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding.

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

Purpose3/5

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

The description provides a list of keywords ('ν’ˆμ§ˆ|리뷰|검사|quality|review code|check quality|validate|μ½”λ“œ 리뷰') that suggest the tool validates code quality, but it lacks a clear, specific statement of purpose. It doesn't explicitly state what the tool does (e.g., 'Analyze code against quality metrics') or distinguish it from siblings like 'analyze_complexity' or 'check_coupling_cohesion'. The keyword approach is vague rather than definitive.

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?

The description offers no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_complexity' (for complexity analysis) or 'check_coupling_cohesion' (for coupling/cohesion checks), nor does it specify contexts where this tool is preferred (e.g., for comprehensive quality validation vs. specific analyses). Without such guidance, users must infer usage from the tool name and parameters alone.

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. Dates show when Glama detected each change.

  1. 18 tool updatesv1.0.0
    • Addedanalyze_dependency_graph
    • Addedapply_reasoning_framework
    • Removedauto_save_context
    • Removedbreak_down_problem
    • Addedcreate_memory_timeline
    • Addedenhance_prompt_gemini
    • Addedget_memory_graph
    • Addedget_session_context
    • Addedget_usage_analytics
    • Removedinspect_network_requests
    • Addedlink_memories
    • Removedmonitor_console_logs
    • Addedpreview_ui_ascii
    • Removedrestore_session_context
    • Removedsearch_memories
    • Addedsearch_memories_advanced
    • Removedstart_session
    • Removedthink_aloud_process
  2. 33 tool updates
    • First observedanalyze_complexity
    • First observedanalyze_problem
    • First observedanalyze_prompt
    • First observedanalyze_requirements
    • First observedapply_quality_rules
    • First observedauto_save_context
    • First observedbreak_down_problem
    • First observedcheck_coupling_cohesion
    • First observedcreate_thinking_chain
    • First observedcreate_user_stories
    • First observeddelete_memory
    • First observedenhance_prompt
    • First observedfeature_roadmap
    • First observedfind_references
    • First observedfind_symbol
    • First observedformat_as_plan
    • First observedgenerate_prd
    • First observedget_coding_guide
    • First observedget_current_time
    • First observedinspect_network_requests
    • First observedlist_memories
    • First observedmonitor_console_logs
    • First observedprioritize_memory
    • First observedrecall_memory
    • First observedrestore_session_context
    • First observedsave_memory
    • First observedsearch_memories
    • First observedstart_session
    • First observedstep_by_step_analysis
    • First observedsuggest_improvements
    • First observedthink_aloud_process
    • First observedupdate_memory
    • First observedvalidate_code_quality

TDQS

C2.9/5.0
Disambiguation2/5

Multiple tools have overlapping purposes, causing significant ambiguity. For example, analyze_complexity, analyze_dependency_graph, check_coupling_cohesion, and validate_code_quality all relate to code analysis with unclear boundaries. Similarly, analyze_prompt, enhance_prompt, and enhance_prompt_gemini overlap in prompt improvement, while create_thinking_chain, apply_reasoning_framework, and step_by_step_analysis all involve structured problem-solving. This overlap makes it difficult for an agent to reliably select the correct tool.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., analyze_complexity, create_memory_timeline, get_current_time), which aids predictability. However, there are minor deviations like preview_ui_ascii (verb_noun_adjective) and feature_roadmap (noun_noun), slightly disrupting the pattern. Overall, the naming is largely consistent and readable.

Tool Count2/5

With 35 tools, the count is excessive for the server's apparent scope of AI-assisted coding and memory management. This high number suggests redundancy and fragmentation, as seen in overlapping analysis and prompt tools, making the set feel heavy and unwieldy. A more focused set of 10-20 tools would better serve the domain without overwhelming agents.

Completeness4/5

The tool surface covers core areas like code analysis, memory management, and project planning with good CRUD coverage for memories (save, list, recall, update, delete, link). Minor gaps exist, such as no explicit tool for deleting or updating code analysis results, but agents can work around these using existing tools like update_memory or validate_code_quality. Overall, the set supports key workflows without major dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A comprehensive development toolkit with 23 tools covering code quality analysis, development efficiency, and project management. Enables AI-assisted code review, test generation, performance analysis, SQL generation, UI component creation, and automated project documentation.
    24
    214
    36
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    AI development assistant with 36 specialized tools for memory management, code analysis, project planning, and problem-solving through natural language interactions in Korean and English.
    36
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/su-record/hi-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server