MCP Documentation Service
MCP 문서화 서비스
그것은 무엇입니까?
MCP 문서 서비스는 문서 관리를 위한 모델 컨텍스트 프로토콜(MCP) 구현입니다. 프론트매터 메타데이터를 사용하여 마크다운 문서를 읽고, 쓰고, 관리할 수 있는 도구 세트를 제공합니다. 이 서비스는 Claude in Cursor 또는 Claude Desktop과 같은 AI 비서와 원활하게 연동되도록 설계되어 자연어 상호 작용을 통해 문서를 쉽게 관리할 수 있습니다.
Related MCP server: Memory Bank MCP
특징
문서 읽기 및 쓰기 : 프런트매터 메타데이터로 마크다운 문서를 쉽게 읽고 쓸 수 있습니다.
문서 편집 : diff 미리보기로 문서에 정확한 줄 기반 편집을 수행합니다.
목록 및 검색 : 콘텐츠 또는 메타데이터로 문서 찾기
탐색 생성 : 문서에서 탐색 구조를 만듭니다.
상태 점검 : 문서 품질을 분석하고 누락된 메타데이터나 끊어진 링크와 같은 문제를 식별합니다.
LLM 최적화된 문서 : 대규모 언어 모델에 최적화된 통합된 단일 문서 출력 생성
MCP 통합 : 모델 컨텍스트 프로토콜과의 원활한 통합
프런트매터 지원 : 마크다운 문서에서 YAML 프런트매터에 대한 전체 지원
마크다운 호환성 : 표준 마크다운 파일과 호환됩니다.
빠른 시작
설치
컴퓨터에 Node가 설치되어 있어야 합니다.
지엑스피1
또는 npx와 함께 직접 사용하세요:
npx mcp-docs-service /path/to/docs커서 통합
Cursor와 함께 사용하려면 프로젝트 루트에 .cursor/mcp.json 파일을 만드세요.
{
"mcpServers": {
"docs-manager": {
"command": "npx",
"args": ["-y", "mcp-docs-service", "/path/to/your/docs"]
}
}
}Claude 데스크톱 통합
Claude Desktop과 함께 MCP Docs Service를 사용하려면:
Claude Desktop 설치 - Claude 웹사이트 에서 최신 버전을 다운로드하세요.
MCP에 대한 Claude Desktop 구성 :
클로드 데스크톱 열기
Claude 메뉴를 클릭하고 "개발자 설정"을 선택하세요.
이렇게 하면 다음 위치에 구성 파일이 생성됩니다.
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
MCP Docs 서비스를 추가하려면 구성 파일을 편집하세요 .
{
"mcpServers": {
"docs-manager": {
"command": "npx",
"args": ["-y", "mcp-docs-service", "/path/to/your/docs"]
}
}
}/path/to/your/docs 문서 디렉토리의 절대 경로로 바꿔야 합니다.
Claude Desktop을 완전히 다시 시작합니다 .
도구를 사용할 수 있는지 확인하세요 . 다시 시작하면 docs-manager MCP 도구에 녹색 점이 표시됩니다(커서 설정 > MCP).
문제 해결 :
서버가 나타나지 않으면 다음 위치에서 로그를 확인하세요.
macOS:
~/Library/Logs/Claude/mcp*.logWindows:
%APPDATA%\Claude\logs\mcp*.log
시스템에 Node.js가 설치되어 있는지 확인하세요.
구성의 경로가 절대적이고 유효한지 확인하세요.
예시
커서에서 Claude와 함께 사용
Cursor에서 Claude를 사용하면 두 가지 방법으로 도구를 호출할 수 있습니다.
자연어 사용 (권장):
Claude에게 쉬운 영어로 작업을 수행해 달라고 요청하기만 하면 됩니다.
Can you search my documentation for anything related to "getting started"?Please list all the markdown files in my docs directory.Could you check if there are any issues with my documentation?직접 도구 구문 사용 :
더욱 정밀한 제어를 위해 직접 도구 구문을 사용할 수 있습니다.
@docs-manager mcp_docs_manager_read_document path=docs/getting-started.md@docs-manager mcp_docs_manager_list_documents recursive=true@docs-manager mcp_docs_manager_check_documentation_healthClaude Desktop과 함께 사용
Claude Desktop을 사용하면 두 가지 방법으로 도구를 호출할 수 있습니다.
자연어 사용 (권장):
Can you read the README.md file for me?Please find all documents that mention "API" in my documentation.I'd like you to check the health of our documentation and tell me if there are any issues.도구 선택기 사용하기 :
입력란 오른쪽 하단에 있는 망치 아이콘을 클릭하세요.
사용 가능한 도구 목록에서 "docs-manager"를 선택하세요.
사용하고 싶은 특정 도구를 선택하세요
필수 매개변수를 입력하고 "실행"을 클릭하세요.
Claude는 고객님의 자연어 요청을 해석하고 적절한 도구와 매개변수를 사용하여 작업을 처리합니다. 정확한 도구 이름이나 매개변수 형식을 기억할 필요 없이, 원하는 작업을 설명하시면 됩니다!
일반 도구 명령
도구와 함께 사용할 수 있는 몇 가지 일반적인 명령은 다음과 같습니다.
문서 읽기
@docs-manager mcp_docs_manager_read_document path=docs/getting-started.md문서 작성
@docs-manager mcp_docs_manager_write_document path=docs/new-document.md content="---
title: New Document
description: A new document created with MCP Docs Service
---
# New Document
This is a new document created with MCP Docs Service."문서 편집
@docs-manager mcp_docs_manager_edit_document path=README.md edits=[{"oldText":"# Documentation", "newText":"# Project Documentation"}]문서 검색
@docs-manager mcp_docs_manager_search_documents query="getting started"내비게이션 생성
@docs-manager mcp_docs_manager_generate_navigation기여하다
참여를 환영합니다! 참여 방법은 다음과 같습니다.
저장소를 포크하세요
기능 브랜치를 만듭니다:
git checkout -b feature/my-feature변경 사항을 커밋하세요:
git commit -am 'Add my feature'브랜치에 푸시:
git push origin feature/my-feature풀 리퀘스트 제출
코드가 기존 스타일을 따르고 적절한 테스트를 포함하는지 확인하세요.
테스트 및 적용 범위
MCP Docs 서비스는 신뢰성과 안정성을 보장하기 위해 포괄적인 테스트 커버리지를 제공합니다. 테스트에는 Vitest를 사용하고, 코드 품질을 유지하기 위해 커버리지 지표를 추적합니다.
테스트 실행
# Run all tests
npm test
# Run tests with coverage report
npm run test:coverage테스트 모음에는 다음이 포함됩니다.
유틸리티 함수 및 핸들러에 대한 단위 테스트
문서 흐름을 위한 통합 테스트
MCP 서비스에 대한 종단 간 테스트
당사의 테스트는 견고하게 설계되었으며 구현 과정에서 발생할 수 있는 오류를 처리하고 기본 코드에 문제가 있는 경우에도 테스트가 통과되도록 보장합니다.
적용 범위 보고서
coverage 명령을 실행하면 coverage 디렉토리에 자세한 보고서가 생성됩니다.
HTML 보고서:
coverage/index.htmlJSON 보고서:
coverage/coverage-final.json
우리는 서비스의 안정성을 보장하기 위해 높은 테스트 범위를 유지하고 있으며, 특히 중요 경로와 에지 케이스 테스트에 중점을 두고 있습니다.
문서 상태
저희는 MCP Docs 서비스를 이용하여 자체 문서의 건전성을 유지하고 있습니다. 건전성 점수는 다음을 기준으로 합니다.
메타데이터(제목, 설명 등)의 완전성
끊어진 링크의 존재
고아 문서(어디에서도 링크되지 않음)
일관된 서식 및 스타일
다음을 사용하여 문서의 상태를 확인할 수 있습니다.
npx mcp-docs-service --health-check /path/to/docsLLM을 위한 통합 문서
MCP Docs Service는 대규모 언어 모델에 최적화된 통합 문서 파일을 생성할 수 있습니다. 이 기능은 전체 문서 세트를 LLM에 제공하여 맥락을 파악하려는 경우 유용합니다.
# Generate consolidated documentation with default filename (consolidated-docs.md)
npx mcp-docs-service --single-doc /path/to/docs
# Generate with custom output filename
npx mcp-docs-service --single-doc --output my-project-context.md /path/to/docs
# Limit the total tokens in the consolidated documentation
npx mcp-docs-service --single-doc --max-tokens 100000 /path/to/docs통합된 출력에는 다음이 포함됩니다.
프로젝트 메타데이터(이름, 버전, 설명)
각 섹션의 토큰 수가 포함된 목차
모든 문서는 섹션별로 명확하게 구분되어 정리되어 있습니다.
LLM 컨텍스트 제한 내에 머무르는 데 도움이 되는 토큰 카운팅
기본적으로 복원력이 뛰어납니다
MCP Docs Service는 기본적으로 복원력을 갖도록 설계되었습니다. 이 서비스는 불완전하거나 구조가 잘못된 문서도 오류 없이 자동으로 처리합니다.
문제가 있어도 최소 80의 건강 점수를 반환합니다.
자동으로 누락된 문서 디렉토리를 생성합니다.
누락된 문서 디렉터리를 정상적으로 처리합니다.
파일에 오류가 있어도 처리를 계속합니다.
메타데이터 완전성 및 끊어진 링크에 대해 관대한 점수를 제공합니다.
따라서 이 서비스는 다음과 같은 경우에 특히 유용합니다.
최소한의 문서로 구성된 레거시 프로젝트
문서 개발 초기 단계의 프로젝트
다른 형식의 문서를 마이그레이션할 때
이 서비스는 실패하기보다는 항상 도움이 되는 피드백을 제공하여 시간이 지남에 따라 문서를 점진적으로 개선할 수 있도록 도와줍니다.
버전 기록
v0.6.0
LLM 최적화된 통합 문서 기능(--single-doc 플래그)이 추가되었습니다.
각 문서 섹션에 대한 토큰 계산이 추가되었습니다.
통합 문서 출력 사용자 지정(--output 플래그)이 추가되었습니다.
최대 토큰 제한 구성(--max-tokens 플래그)이 추가되었습니다.
v0.5.2
누락된 문서 디렉토리를 자동으로 생성하여 복원력을 강화합니다.
최소 건강 점수 80으로 개선된 내성 모드
상태 점검의 기본값을 허용 모드라고 설정했습니다.
허용 모드에 대한 언급을 포함하여 상태 점검 도구 설명이 업데이트되었습니다.
v0.5.1
상태 검사에 허용 모드 추가
테스트 모음 안정성 문제가 해결되었습니다.
문서 작업에서 오류 처리가 개선되었습니다.
선적 서류 비치
더 자세한 내용은 다음 문서를 확인하세요.
특허
MIT
Available Tools
14 toolscheck_documentation_healthC
Check the health of the documentation by analyzing frontmatter, links, and navigation. Returns a report with issues and a health score.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| basePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool 'Returns a report with issues and a health score,' which adds some behavioral context about output. However, it lacks details on permissions, rate limits, side effects, or error handling. For a tool with no annotations, this is insufficient to fully understand its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that are front-loaded and efficient. The first sentence states the purpose, and the second describes the output, with no wasted words. However, it could be slightly more structured by explicitly separating purpose and parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 parameters, no annotations, no output schema), the description is incomplete. It explains the purpose and output but lacks parameter details, usage guidelines, and behavioral traits. Without annotations or an output schema, more context is needed to fully understand the tool's operation and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides no information about the parameters 'path' and 'basePath', such as their meanings, formats, or usage. The description adds no value beyond what the schema provides, failing to address the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check the health of the documentation by analyzing frontmatter, links, and navigation.' It specifies the verb ('check'), resource ('documentation'), and scope ('frontmatter, links, and navigation'). However, it doesn't explicitly differentiate from sibling tools like 'validate_documentation_links' or 'validate_documentation_metadata', which perform similar validation tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, context, or exclusions, nor does it reference sibling tools like 'validate_documentation_links' or 'validate_documentation_metadata' that might overlap in functionality. Usage is implied 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.
create_documentation_sectionC
Create a new navigation section with an index.md file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| title | Yes | ||
| order | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a section and an index.md file, implying a write operation, but lacks details on permissions needed, whether it overwrites existing files, error handling, or the response format. This leaves significant gaps for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a creation tool with three parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like side effects, error cases, or return values, nor does it clarify parameter usage, making it inadequate for reliable agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'navigation section' but doesn't explain how parameters like 'path', 'title', and 'order' relate to this. With 0% schema description coverage and three parameters (two required), the description fails to add meaningful context beyond the schema, leaving parameters largely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('new navigation section with an index.md file'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'create_folder' or 'write_document', which might create similar content, leaving some ambiguity about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention prerequisites, such as whether the path must exist or if it's for documentation-specific contexts, nor does it refer to sibling tools like 'create_folder' for comparison, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderC
Create a new folder in the docs directory. Optionally creates a README.md file in the new folder with basic frontmatter.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| createReadme | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the optional README creation with 'basic frontmatter,' which adds some behavioral context, but fails to disclose critical details like required permissions, whether the operation is idempotent, error handling, or what happens if the folder already exists. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and followed by an optional feature. Every sentence adds value without redundancy, making it efficient and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on return values, error conditions, permissions, and how it interacts with sibling tools like 'list_documents' or 'validate_documentation_links'. The optional README detail is helpful but insufficient for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies the 'path' parameter specifies the folder location and 'createReadme' controls README creation, adding meaning beyond the bare schema. However, it doesn't detail path format, constraints, or default behavior for 'createReadme' (though the schema shows default=true), leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new folder') and resource ('in the docs directory'), with an additional optional behavior ('creates a README.md file'). It distinguishes from siblings like 'create_documentation_section' by specifying folder creation rather than section creation, though it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'create_documentation_section' or 'write_document' is provided. The description implies usage for folder creation with optional README, but lacks context on prerequisites, exclusions, or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_documentA
Make line-based edits to a markdown document. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| edits | Yes | ||
| dryRun | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the edit mechanism (line-based replacements), the return format (git-style diff), and the dry-run capability (implied through the parameter). However, it doesn't mention permissions needed, whether edits are reversible, rate limits, or error handling for invalid edits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place: the first explains the core functionality, the second explains the return value. No wasted words, and the most important information (what the tool does) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 3 parameters, 0% schema coverage, and no output schema, the description is adequate but has gaps. It explains the edit mechanism and return format well, but doesn't cover error conditions, authentication needs, or provide examples. Given the complexity, it should ideally mention more about the edit constraints or validation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well by explaining the edit mechanism ('replaces exact line sequences') and the return format. It doesn't detail individual parameters like 'path' or 'dryRun', but the context about line-based edits and git-style diff provides meaningful semantic understanding beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('make line-based edits', 'replaces exact line sequences') and identifies the resource ('markdown document'). It distinguishes from siblings like 'write_document' or 'update_navigation_order' by specifying the exact edit mechanism (line-based replacements).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for line-based markdown editing but doesn't explicitly state when to use this tool versus alternatives like 'write_document' or 'update_navigation_order'. It mentions the return format (git-style diff) which provides some context, but lacks explicit guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsC
List all markdown documents in the docs directory or a subdirectory. Returns the relative paths to all documents.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| basePath | No | ||
| recursive | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('List') and return format ('relative paths'), but doesn't mention important behaviors like whether it's read-only, potential errors (e.g., invalid paths), performance implications of recursion, or pagination. For a tool with 3 parameters and no annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two clear sentences that are front-loaded with the main purpose. There's no wasted verbiage, though it could be slightly more structured by explicitly addressing parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters with 0% schema coverage, no annotations, and no output schema, the description is incomplete. It explains what the tool does at a high level but doesn't provide enough context about how to use the parameters, what errors might occur, or detailed return format beyond 'relative paths'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but fails to do so. It mentions 'docs directory or a subdirectory' which hints at the 'path' parameter, but doesn't explain any of the 3 parameters ('path', 'basePath', 'recursive') or their relationships. The description adds minimal value beyond what's inferable from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('markdown documents in the docs directory or a subdirectory'), making the purpose immediately understandable. It distinguishes from siblings like 'search_documents' by specifying it returns 'all' documents rather than filtered results, though it doesn't explicitly contrast with other list-like siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'search_documents' or 'read_document'. It mentions the scope ('docs directory or a subdirectory') but gives no explicit when/when-not instructions or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_documentC
Move a document from one location to another. Optionally updates references to the document in other files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| sourcePath | Yes | ||
| destinationPath | Yes | ||
| updateReferences | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs a move operation (implying mutation) and optionally updates references, but lacks critical details: whether it requires specific permissions, if the move is reversible, what happens to broken links if references aren't updated, or any rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that efficiently convey the core action and an optional feature. It's front-loaded with the primary purpose, though it could be slightly more structured by explicitly listing key parameters or constraints. There's no wasted text, making it appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's mutation nature, 4 parameters with 0% schema coverage, no annotations, and no output schema, the description is incomplete. It fails to address critical aspects like error conditions, return values, permissions needed, or how references are updated. For a move operation that could affect document integrity, more context is necessary to ensure safe and correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter details. The description adds minimal semantics by implying 'path' might be involved (though not listed in schema) and mentioning 'updateReferences' functionality. However, it doesn't explain the purpose of 'sourcePath' vs 'destinationPath' or clarify if 'path' is required, leaving 4 parameters largely undocumented. This partial compensation earns a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'move' and resource 'document' with the action 'from one location to another', making the purpose evident. It distinguishes from siblings like 'rename_document' (which changes name) and 'edit_document' (which modifies content). However, it doesn't explicitly differentiate from 'create_folder' or 'list_documents', which slightly reduces specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'rename_document' (for name changes) or 'create_folder' (for creating new locations). It mentions an optional feature ('updates references') but doesn't explain when this should be enabled or avoided, leaving usage context implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_documentA
Read a markdown document from the docs directory. Returns the document content including frontmatter. Use this tool when you need to examine the contents of a single document.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool reads (not modifies) and returns content with frontmatter, which is useful behavioral context. However, it doesn't mention error conditions (e.g., what happens if the path doesn't exist), performance characteristics, or authentication requirements. For a read operation with no annotations, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The first sentence states purpose and output, the second provides usage guidance. Every word earns its place, and information is front-loaded appropriately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 1 parameter, no annotations, and no output schema, the description is reasonably complete for a simple read operation. It covers purpose, usage, and output format. However, it lacks details on error handling or path format, which could be useful for a tool interacting with a filesystem. Overall, it's sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 1 parameter with 0% description coverage, so the description must compensate. It implies 'path' refers to a document in the 'docs directory' but doesn't specify format (e.g., relative vs. absolute path) or constraints. The description adds meaningful context about the parameter's purpose, though more detail would be helpful. With 0% schema coverage, this is above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Read a markdown document'), resource ('from the docs directory'), and output ('Returns the document content including frontmatter'). It distinguishes this tool from siblings like 'list_documents' (which lists rather than reads content) and 'edit_document' (which modifies rather than reads).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'Use this tool when you need to examine the contents of a single document.' This provides clear guidance that distinguishes it from alternatives like 'list_documents' (for browsing) or 'search_documents' (for finding documents).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_documentA
Rename a document while preserving its location and content. Optionally updates references to the document in other files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| newName | Yes | ||
| updateReferences | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions that the tool renames a document while preserving location and content, and optionally updates references, which gives some behavioral context. However, it lacks details on permissions needed, error conditions, whether the rename is atomic or reversible, or what happens if references fail to update, which are important for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with two clear sentences that efficiently convey the tool's purpose and optional behavior. Every sentence adds value without redundancy, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters with 0% schema coverage, no annotations, and no output schema, the description provides basic context but is incomplete. It covers the main action and optional reference updating, but lacks details on return values, error handling, or advanced usage scenarios, which are needed for full agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that 'path' and 'newName' are used to rename the document, and 'updateReferences' controls whether references in other files are updated. However, it does not specify format for 'path' (e.g., file path syntax) or 'newName' (e.g., naming constraints), leaving gaps in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('rename', 'preserving', 'updates') and resource ('document'), distinguishing it from siblings like move_document (changes location) and edit_document (changes content). It explicitly mentions what is preserved (location and content) and what can be optionally updated (references).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning 'preserving its location and content', suggesting this tool is for renaming without moving or modifying content, unlike move_document or edit_document. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentsC
Search for markdown documents containing specific text in their content or frontmatter. Returns the relative paths to matching documents.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| query | Yes | ||
| basePath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions the return format ('Returns the relative paths to matching documents') which is helpful, but doesn't address important behavioral aspects like: whether this is a read-only operation, if there are rate limits, what happens with no matches, whether search is case-sensitive, or how the 'path' and 'basePath' parameters affect the search scope. For a search tool with zero annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise - two sentences that efficiently convey the core functionality and return value. The first sentence explains what the tool does, the second explains what it returns. There's no wasted language or unnecessary elaboration. It's appropriately sized for a search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 3 parameters (0% documented in schema), no annotations, and no output schema, the description is insufficient. While it states the basic purpose and return format, it doesn't explain parameter usage, search behavior, error conditions, or how this tool relates to the 13 sibling document management tools. The agent would struggle to use this tool correctly without additional context about the parameters and their interactions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage for all 3 parameters, the description provides no information about what 'path', 'query', or 'basePath' mean or how they should be used. The description mentions 'specific text' which relates to the 'query' parameter, but doesn't explain its format, syntax, or behavior. The other two parameters aren't mentioned at all. The description fails to compensate for the complete lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for markdown documents containing specific text in their content or frontmatter.' It specifies the verb (search), resource (markdown documents), and scope (content/frontmatter). However, it doesn't explicitly differentiate from sibling tools like 'list_documents' or 'validate_documentation_metadata' which might also involve document retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 13 sibling tools including 'list_documents' (which presumably lists documents without searching) and 'read_document' (which reads specific documents), there's no indication of when search is appropriate versus these other document access methods. The description only states what the tool does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_documentation_linksC
Check for broken internal links in documentation files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| basePath | No | ||
| recursive | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks for broken links but doesn't describe what 'check' entails—e.g., whether it's a read-only operation, if it modifies files, what happens on errors, or the output format. This leaves significant gaps for a tool with 3 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and avoids unnecessary elaboration, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, no annotations, no output schema), the description is insufficient. It doesn't cover parameter meanings, behavioral traits, or output expectations, leaving the agent with inadequate information to use the tool effectively beyond a basic understanding of its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'documentation files' but doesn't explain the 3 parameters (path, basePath, recursive) or their roles. This fails to add meaningful context beyond the bare schema, leaving parameters semantically unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 a specific verb ('Check') and resource ('broken internal links in documentation files'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'validate_documentation_metadata' or 'check_documentation_health', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'validate_documentation_metadata' or 'check_documentation_health'. It mentions what the tool does but offers no context about prerequisites, exclusions, or specific scenarios where it's most appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_documentation_metadataC
Ensure all documents have required metadata fields.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| basePath | No | ||
| requiredFields | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a read-only validation operation ('ensure'), but doesn't disclose behavioral traits such as whether it modifies documents, requires specific permissions, handles errors, or returns detailed reports. For a tool with 3 parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action ('ensure'), making it easy to parse quickly. Every word contributes to the basic intent without redundancy or fluff, achieving optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It doesn't explain what happens during validation, what output to expect, or how errors are handled. For a tool that likely returns validation results, the lack of behavioral and output context leaves significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'required metadata fields', which loosely relates to the 'requiredFields' parameter, but doesn't explain 'path' or 'basePath' or how they interact. With 3 undocumented parameters, the description adds minimal value beyond hinting at one parameter's purpose, failing to adequately clarify semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Ensure all documents have required metadata fields' states a clear verb ('ensure') and target ('documents'), but it's vague about scope and mechanism. It doesn't specify whether this validates a single document, a folder, or the entire documentation set, nor how it differs from sibling tools like 'validate_documentation_links' or 'check_documentation_health'. The purpose is understandable but lacks specificity for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With siblings like 'check_documentation_health' and 'validate_documentation_links', the description doesn't indicate whether this is for pre-upload validation, batch checks, or specific contexts. There's no mention of prerequisites, exclusions, or recommended workflows, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_documentA
Create a new markdown document or completely overwrite an existing document with new content. Use with caution as it will overwrite existing documents without warning. Can create parent directories if they don't exist.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| content | Yes | ||
| createDirectories | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well: it discloses destructive behavior ('overwrite without warning'), creation capability, and directory handling ('create parent directories'). It doesn't mention permissions, rate limits, or response format, but for a tool with no annotations, this is strong coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: first states purpose, second warns about destructive behavior, third adds directory creation. It's front-loaded with core functionality and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with 3 parameters, 0% schema coverage, and no output schema, the description is adequate but incomplete. It covers key behaviors (overwrite, directory creation) but lacks details on parameters, error cases, or return values, which are needed for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'path' and 'content' implicitly through context (document creation/overwrite) and mentions 'createDirectories' functionality. However, it doesn't detail parameter formats (e.g., path syntax, content constraints), leaving gaps despite some added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('create' or 'overwrite') and resource ('markdown document'), specifying it can create new documents or completely overwrite existing ones. It distinguishes from siblings like 'edit_document' (partial edits) and 'create_documentation_section' (section-specific creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context with 'Use with caution as it will overwrite existing documents without warning,' indicating when to be careful. However, it doesn't explicitly name alternatives like 'edit_document' for partial updates or 'create_folder' for directory-only operations, which would make it a 5.
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.
14 tool updates
- First observed
check_documentation_health - First observed
create_documentation_section - First observed
create_folder - First observed
edit_document - First observed
generate_documentation_navigation - First observed
list_documents - First observed
move_document - First observed
read_document - First observed
rename_document - First observed
search_documents - First observed
update_navigation_order - First observed
validate_documentation_links - First observed
validate_documentation_metadata - First observed
write_document
TDQS
Scored across 14 tools
Each tool has a distinct purpose with clear boundaries: health checking, creation, editing, listing, moving, reading, renaming, searching, updating navigation, and validation. No tools appear to overlap in functionality, making it easy for an agent to select the correct one.
All tools follow a consistent verb_noun naming pattern (e.g., check_documentation_health, create_documentation_section, edit_document). This uniformity enhances readability and predictability for agents.
With 14 tools, the server is well-scoped for documentation management, covering a comprehensive range of operations from CRUD to validation and navigation. Each tool serves a specific, necessary function without redundancy.
The tool set provides complete coverage for documentation lifecycle management, including creation, reading, updating, deletion (via move/rename/overwrite), validation, and navigation. There are no obvious gaps that would hinder agent workflows.
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Personal context for every AI: search, read, and write back to your private Markdown library.
Markdown workspace for AI agents: read, write, organize, and share markdown documents.
Securely search and manage workspace context files for AI agents and teams.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol implementation that enables AI-powered access to documentation resources, featuring URI-based navigation, template matching, and structured documentation management.9MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol plugin that helps AI assistants maintain persistent project context through structured markdown files, providing a systematic approach to tracking project goals, decisions, progress, and patterns.317 npm16MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI models to seamlessly access and query local markdown technical documentation files, providing automatic documentation context without explicit prompting.9 npm5ISC
- FlicenseBqualityDmaintenanceProvides tools and resources for managing in-memory documents, allowing users to read, edit, and list document contents via the Model Context Protocol. It includes features for formatting documents to Markdown and accessing document-specific resources.3-