ai-disk-doctor-integrations
AI Disk Doctor 통합
AI Disk Doctor Core용 범용 로컬 Agent Skill 및 읽기 전용 MCP 서버입니다.
이 저장소는 통합 및 배포 계층입니다. 두 번째 스캐너, 클리너, 리스크 엔진, 복구 모델 또는 정책 시스템을 구현하지 않습니다. 로컬 Core가 실행 및 정책의 근원(source of truth)으로 유지됩니다.
Alpha 범위
MCP 서버는 네 가지 도구를 제공합니다:
도구 | 동작 | Core 부작용 |
| Core 가용성 및 필수 명령 인터페이스 확인 | 없음 |
| 기존 | Core가 |
| 기존 | 의도된 부작용 없음 |
| 로컬 Core 소유 스냅샷 메타데이터 나열 | 없음 |
I0는 clean, restore, quarantine, delete, 임의 셸 또는 임의 파일 시스템 변경 도구를 제공하지 않습니다. explain_storage는 병합된 M1C Explainability Contract가 공개 Core에서 제공될 때까지 의도적으로 포함되지 않습니다.
Related MCP server: local-tools-mcp-server
설치
사전 요구 사항
Node.js 18 이상.
PATH에aidisk/aidisk.exe로 제공되는 AI Disk Doctor Core v1.7.0 또는 호환되는 이후 Core 버전.Core 바이너리가 다른 위치에 설치된 경우
AIDISK_EXE를 설정하세요.
체크아웃에서 설치:
git clone https://github.com/quzhiii/ai-disk-doctor-integrations.git
cd ai-disk-doctor-integrations
npm install
npm start재현 가능한 로컬 설치를 위해 저장소 체크아웃을 고정하거나 태그가 지정된 릴리스를 사용하세요. npm 종속성은 package-lock.json에서 @modelcontextprotocol/sdk 1.30.0으로 고정되어 있습니다.
이 프로세스는 MCP stdio 전송을 사용하며 MCP 클라이언트가 시작해야 합니다. 독립 실행형 대화형 프로그램으로 열어서는 안 됩니다.
OpenCode
OpenCode는 opencode.json 또는 opencode.jsonc에서 프로젝트 로컬 MCP 선언을 지원합니다:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-disk-doctor": {
"type": "local",
"command": ["node", "C:/absolute/path/to/ai-disk-doctor-integrations/src/server.js"],
"cwd": "C:/absolute/path/to/your-workspace",
"enabled": true
}
}
}전역 설치의 경우 command 인수에 절대 경로를 사용하고 필요한 경우 environment에서 AIDISK_EXE를 설정하세요. cwd는 통합 체크아웃이 아닌 Core 스냅샷이 저장되어야 하는 사용자 작업 영역으로 설정하세요. 그런 다음 opencode mcp list를 사용하거나 에이전트에게 core_status를 확인하도록 요청하세요. 저장소에 포함된 예제는 adapters/opencode/opencode.jsonc에 있습니다.
OpenCode Agent Skills는 .opencode/skills, .claude/skills 또는 .agents/skills에서 검색됩니다. 프로젝트 또는 사용자 설치를 위해 skills/ai-disk-doctor를 해당 위치 중 하나로 복사하거나 심볼릭 링크를 생성하세요.
Qwen Code
Qwen Code는 qwen mcp 또는 settings.json을 통해 로컬 stdio MCP 서버를 지원합니다:
qwen mcp add --scope user --transport stdio ai-disk-doctor node ./src/server.js이에 해당하는 .qwen/settings.json 항목:
{
"mcpServers": {
"ai-disk-doctor": {
"command": "node",
"args": ["/absolute/path/to/ai-disk-doctor-integrations/src/server.js"],
"cwd": "/absolute/path/to/your-workspace",
"env": { "AIDISK_EXE": "aidisk" },
"trust": false
}
}
}저장소 루트는 qwen-extension.json을 통한 Qwen 확장 패키지입니다. npm install 후 저장소를 로컬 확장으로 설치하세요. adapters/qwen/README.md를 참조하세요. 표준 Skill은 동일한 Skill로 유지되며, Qwen 전용 거버넌스 구현이 아닙니다.
CodeBuddy / WorkBuddy
설치된 제품이 지원하는 로컬 MCP 구성 인터페이스를 사용하여 동일한 node ./src/server.js stdio 프로세스를 가리키세요. 작업 디렉터리를 Core 스냅샷 기록이 보관되어야 하는 작업 영역으로 설정하세요. Expert 페르소나나 벤더별 리스크 로직은 포함되지 않습니다. 정확한 패키징은 공식적이고 로컬에서 테스트 가능한 CodeBuddy / WorkBuddy 클라이언트 계약이 제공될 때까지 연기됩니다. adapters/codebuddy/README.md를 참조하세요.
TRAE
TRAE의 문서화된 프로젝트 MCP 구성을 사용하고 동일한 로컬 stdio 프로세스를 추가하세요. 작업 디렉터리를 Core 스냅샷 기록이 보관되어야 하는 작업 영역으로 설정하세요. 정확한 프로젝트 패키징은 검증을 위해 TRAE 클라이언트를 로컬에서 사용할 수 있을 때까지 연기됩니다. adapters/trae/README.md를 참조하세요.
Core 진단
# Verify the Core directly
aidisk --help
# Verify the integration server syntax
npm run check
# Override the Core executable
# Windows PowerShell:
$env:AIDISK_EXE = 'C:\\Tools\\aidisk.exe'
# POSIX shells:
export AIDISK_EXE=/opt/aidiskCore가 없거나 잘못된 형식/호환되지 않는 출력을 반환하면 core_status는 구조화된 오류를 보고합니다. MCP 프로세스는 Core를 다운로드하거나, 저장소를 복제하거나, 클라우드 서비스에 연결하거나, 다른 스캐너를 조용히 대체하지 않습니다.
안전 경계
MCP 전송은 로컬 stdio 전용입니다.
서버는 고정된 읽기 지향 하위 명령과 함께 구성된
aidisk실행 파일만 시작합니다.임의 셸 또는 임의 명령 도구는 존재하지 않습니다.
정리, 격리 실행, 복원, 삭제 또는 변경 도구는 존재하지 않습니다.
scan_summary는 현재 Core 스캔 지속성이 AI Disk Doctor 소유 스냅샷을 작성할 수 있으므로readOnlyHint: false로 표시됩니다. 그럼에도 여전히destructiveHint: false이며 사용자/작업 영역 파일을 수정하지 않습니다.모델 인벤토리는 Core 계약에 따라 메타데이터 전용입니다. 이 통합은 프롬프트, 대화 기록, 소스, 문서, 토큰, 쿠키 또는 자격 증명 내용을 읽지 않습니다.
도구에 제공된 경로는 해당 Core 명령 또는 기록 메타데이터 판독기에만 전달됩니다. 이 통합은 해당 경로를 재귀적으로 읽지 않습니다.
에이전트는 셸 명령으로 경로를 삭제하여 이러한 규칙을 절대 우회해서는 안 됩니다. 향후 변경 흐름이 승인되면 별도의 권한 부여 인터페이스를 사용해야 합니다.
개발
npm install
npm run check
npm test실제 Core 스모크 테스트를 위해 고정된 Core 리비전을 설치/빌드하고 aidisk를 PATH에 추가하거나 AIDISK_EXE를 설정한 후 npm test를 실행하세요. 실제 Core 테스트는 AIDISK_EXE가 설정되지 않은 경우 건너뜁니다. 나머지 프로토콜 테스트는 임시 디렉터리와 Core 누락 사례를 사용하며, 벤더 클라이언트가 설치된 것처럼 가장하지 않습니다.
라이선스
통합 소스는 MIT 또는 Apache-2.0 이중 라이선스로 제공됩니다. LICENSE-MIT 및 LICENSE-APACHE를 참조하세요. Core 라이선스는 공개 Core 저장소의 규정을 따릅니다.
상태
I0 Alpha. 이 저장소는 상업용 Desktop이 아니며 계정, 결제, 자격(entitlements), 원격 측정, 클라우드 동기화 또는 독점 Desktop 코드를 포함하지 않습니다.
Available Tools
4 toolsai_model_inventoryAI Model And Cache InventoryARead-onlyIdempotent
Use AI Disk Doctor's existing metadata-only model inventory with Core defaults and return a bounded asset projection. It does not read model, prompt, source, token, or credential contents and does not mutate files.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Optional Core inventory tool selector. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| tool | Yes | |
| roots | Yes | |
| assets | Yes | |
| summary | Yes | |
| truncated | Yes | |
| provenance | Yes | |
| generated_at | No | |
| total_assets | Yes | |
| schema_version | No | |
| returned_assets | Yes | |
| stale_after_days | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds key behavioral context: it explicitly states 'does not read model, prompt, source, token, or credential contents' and 'does not mutate files.' This goes beyond the hints by specifying what is not read and what is not mutated, which is valuable for the agent. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that states purpose, scope, and key behavioral constraints. It is front-loaded with the action ('return a bounded asset projection') and includes critical exclusions. Every clause earns its place, with no fluff.
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 that the tool has an output schema (which presumably describes the return projection), the description doesn't need to explain return values. The tool is simple (1 optional parameter) and has strong annotations. The description covers behavior and constraints well. It is complete enough for the agent to understand what the tool does and what it avoids. The only minor gap is not providing more context on when to use it vs. siblings, but given the simplicity, a 4 is justified.
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 100%, meaning the schema documents the 'tool' parameter with its enum values. The description adds context by saying 'Optional Core inventory tool selector,' but this is largely redundant with the schema's 'Optional Core inventory tool selector' description. Since the schema already covers the parameter well, the description adds minimal extra meaning, but it does reinforce the optionality, so a baseline 3 is appropriate.
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 that the tool returns a 'bounded asset projection' using 'AI Disk Doctor's existing metadata-only model inventory with Core defaults.' It specifies the resource (model inventory) and the action (return a projection), which is clear enough. However, it does not explicitly distinguish from sibling tools like scan_summary or core_status, though the resource and action are specific enough to imply 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?
The description implies usage by stating it uses 'Core defaults' and an optional tool selector, but it does not provide explicit when-to-use guidance or mention alternatives. It doesn't say when to use this tool vs. siblings, but the context of a metadata-only inventory is somewhat clear. The guidance is implied rather than explicit, so it earns a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
core_statusAI Disk Doctor Core StatusARead-onlyIdempotent
Check local AI Disk Doctor Core availability, required command surface, semantic version, and compatibility provenance without scanning or modifying files.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| core | Yes | |
| server | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds contextual detail beyond the annotations by listing specific aspects checked (availability, command surface, semantic version, compatibility provenance) and explicitly reaffirms non-invasive behavior. Annotations already declare readOnly and idempotent, so the description enhances rather than contradicts them.
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?
A single, well-structured sentence conveys all essential details without redundancy. Every phrase earns its place, and the sentence is front-loaded with the primary action and resource.
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 is low-complexity (no parameters) and an output schema exists, the description sufficiently covers what the tool checks (availability, command surface, version, provenance) and its side-effect-free nature. It is complete for an information-only status check.
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 tool has no parameters and the schema is fully covered. Since there are no parameters to describe, the description is not expected to elaborate on them, and the zero-parameter baseline of 4 is appropriate.
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 uses a clear verb ('Check') with a specific resource ('local AI Disk Doctor Core availability, required command surface, semantic version, and compatibility provenance'). It differentiates from sibling tools like scan_summary and ai_model_inventory by emphasizing it does not scan or modify files.
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 this is a safe read-only status check but does not explicitly state when to choose it over alternatives. It notes it avoids scanning and modifying, which hints at contrast with scan_summary, but lacks explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
latest_diffAI Disk Doctor Latest DiffARead-onlyIdempotent
Use Core-owned latest snapshot discovery and diff semantics through aidisk diff --latest --json. No reports directory or paths are accepted from the model.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| tool | Yes | |
| after | No | |
| before | No | |
| changes | Yes | |
| summary | Yes | |
| truncated | Yes | |
| provenance | Yes | |
| generated_at | No | |
| total_changes | Yes | |
| returned_changes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds no contradictory information; it explains that the tool uses Core-owned semantics and the `--latest --json` options, which is additional context beyond the annotations, though it doesn't describe side effects because there are none.
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, consisting of two sentences that are front-loaded with the purpose and immediately state the key constraint (no paths accepted). Every word adds value.
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 no parameters, an output schema exists (though not detailed), and annotations cover safety traits, the description is complete for its purpose. It might benefit from clarifying the return format, but the output schema presumably handles that, so this is adequate.
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 tool has zero parameters, and the schema description coverage is 100%, meaning no parameters need explanation. The description clarifies the inherent behavior (using latest snapshot and JSON output) without needing to describe parameter semantics, so it adequately handles the absence of parameters.
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 performs 'Core-owned latest snapshot discovery and diff semantics' via the `aidisk diff --latest --json` command, which is a specific verb and resource. It distinguishes itself from siblings by indicating it uses Core-owned semantics and does not accept paths or reports directories.
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 when to use this tool: when the model needs the latest diff using Core-owned discovery. It explicitly notes that no reports directory or paths are accepted, which guides usage, but does not explicitly contrast with sibling tools such as scan_summary or ai_model_inventory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_summaryAI Disk Doctor Scan SummaryA
Run AI Disk Doctor's existing non-destructive scan and return a bounded projection of Core JSON evidence. The current Core CLI may persist an AI Disk Doctor-owned snapshot under .aidisk/reports; it does not mutate user files.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional Core rule category filter. The integration validates only bounds; Core owns category semantics. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| tool | Yes | |
| policy | No | |
| summary | Yes | |
| volumes | Yes | |
| scan_time | No | |
| truncated | Yes | |
| provenance | Yes | |
| top_findings | Yes | |
| total_findings | Yes | |
| returned_findings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description goes beyond annotations by explicitly disclosing non-destructive behavior, no mutation of user files, and potential snapshot persistence under .aidisk/reports. Annotations have readOnlyHint: false, but description clarifies safety profile, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey purpose, scope, side effects, and safety. No redundant phrasing or filler; carefully front-loaded with the core action and outcome.
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 single optional parameter tool with output schema present, description covers purpose, return projection, side effects, and guarantees about user files. Includes relevant environmental detail (CLI snapshot). Complete enough for agent to safely invoke.
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 only parameter 'category' has full schema description (100% coverage) explaining it as an optional Core rule category filter with bounds validation. The tool description does not add extra semantics, but schema already provides adequate meaning, so baseline 3 is appropriate.
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?
Description uses specific verb 'Run' with clear resource 'AI Disk Doctor's existing non-destructive scan' and states output 'bounded projection of Core JSON evidence'. It clearly distinguishes from siblings (core_status, ai_model_inventory, latest_diff) by focusing on scan execution and non-destructiveness.
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?
States when to use (run scan) and provides context about non-destructive nature, but does not explicitly mention alternatives or when not to use. Sibling tools are present, but no comparative guidance given. Clear purpose implies usage context, but no exclusions.
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.
4 tool updates
v0.1.0-alpha.2- First observed
ai_model_inventory - First observed
core_status - First observed
latest_diff - First observed
scan_summary
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: scan_summary runs a scan, core_status checks the Core installation, ai_model_inventory lists models, and latest_diff computes diffs. No overlap or ambiguity in their responsibilities.
All names are lowercase snake_case, but they do not follow a consistent verb_noun pattern. scan_summary starts with a verb, while core_status, ai_model_inventory, and latest_diff are noun-led or adjective-noun, creating slight inconsistency.
With 4 tools, the set is small but well-focused on the disk doctor integration's core needs: scanning, status, inventory, and diffing. It is neither bloated nor insufficient for the stated purpose.
The tools cover primary operations (scan, check status, list models, diff latest snapshots), but lack explicit snapshot management or detailed per-file reporting. Minor gaps that an agent could potentially work around.
Maintenance
Related MCP Connectors
Read-only MCP server: let AI agents read your ORANO saved-video library, tasks, and memory.
Read-only MCP server exposing a user ORANO library to their own AI agent.
Read-only MCP server for the OPERANT AI operating-agent calibration benchmark.
Ovanek MCP: Model Context Protocol server for Ovanek platform tools; writes are dry-run by default.
1
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for AI coding agents to inspect repositories, audit code quality, route engineering skills, and plan safe issue/PR workflows.1MIT
- FlicenseAqualityDmaintenanceA read-only MCP server that enables AI assistants to search files, list directories, retrieve system info, and get file metadata on the local file system.4-
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server that exposes Autopsy digital forensics case data as tools, enabling LLM clients like Cline to browse filesystems, query artifacts, and search keywords without modifying the case.1MIT
- AlicenseNot gradedqualityBmaintenanceRead-only MCP server for Markdown, MDX, and OpenAPI docs, exposing list, search, fetch, and OpenAPI spec tools over stdio.1MIT