ai-disk-doctor-integrations
Интеграции AI Disk Doctor
Универсальный локальный Agent Skill и MCP-сервер только для чтения для AI Disk Doctor Core.
Этот репозиторий является слоем интеграции и распространения. Он не реализует второй сканер, очиститель, механизм рисков, модель восстановления или систему политик. Локальное ядро (Core) остаётся источником истины для выполнения и политик.
Объём Alpha
MCP-сервер предоставляет четыре инструмента:
Инструмент | Поведение | Побочный эффект Core |
| Проверка доступности Core и требуемой поверхности команд | Нет |
| Запуск существующего контракта | Core может сохранить |
| Запуск существующего контракта | Не предполагается |
| Список метаданных локальных снимков, принадлежащих Core | Нет |
I0 не предоставляет инструментов clean, restore, quarantine, delete, произвольного shell или произвольной мутации файловой системы. explain_storage намеренно не включён до тех пор, пока объединённый контракт объяснимости M1C не станет доступен в публичном Core.
Related MCP server: local-tools-mcp-server
Установка
Предварительные требования
Node.js 18 или новее.
AI Disk Doctor Core v1.7.0 или совместимая более поздняя версия Core в
PATHкакaidisk/aidisk.exe.Установите
AIDISK_EXE, если бинарный файл Core установлен в другом месте.
Установка из клона:
git clone https://github.com/quzhiii/ai-disk-doctor-integrations.git
cd ai-disk-doctor-integrations
npm install
npm startДля детерминированной локальной установки зафиксируйте клон репозитория или используйте тегированный релиз. Зависимость npm зафиксирована на @modelcontextprotocol/sdk 1.30.0 в package-lock.json.
Процесс использует MCP-транспорт stdio и должен запускаться MCP-клиентом, а не открываться как отдельная интерактивная программа.
OpenCode
OpenCode поддерживает проектно-локальные объявления MCP в opencode.json или opencode.jsonc:
{
"$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 и при необходимости задайте AIDISK_EXE в environment. Установите 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 поддерживает локальные stdio MCP-серверы через qwen mcp или settings.json:
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 через его qwen-extension.json. Установите репозиторий как локальное расширение после npm install; см. adapters/qwen/README.md. Канонический Skill остаётся тем же Skill, а не специфичной для Qwen реализацией управления.
CodeBuddy / WorkBuddy
Используйте локальную поверхность конфигурации MCP, поддерживаемую установленным продуктом, и укажите её на тот же процесс stdio node ./src/server.js. Установите его рабочий каталог в рабочее пространство, где должна храниться история снимков Core. Никакая экспертная персона или специфичная для вендора логика рисков не включена. Точная упаковка откладывается до появления официального, локально тестируемого контракта клиента CodeBuddy / WorkBuddy; см. adapters/codebuddy/README.md.
TRAE
Используйте документированную проектную конфигурацию MCP от TRAE и добавьте тот же локальный процесс 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/aidiskЕсли Core отсутствует или возвращает некорректный/несовместимый вывод, core_status сообщает о структурированном сбое. Процесс MCP не загружает Core, не клонирует репозитории, не связывается с облачным сервисом и не подставляет молча другой сканер.
Границы безопасности
MCP-транспорт — только локальный stdio.
Сервер запускает только настроенный исполняемый файл
aidiskс фиксированными подкомандами, ориентированными на чтение.Не существует инструмента произвольного shell или произвольной команды.
Не существует инструмента очистки, выполнения карантина, восстановления, удаления или мутации.
scan_summaryпомечен какreadOnlyHint: false, потому что текущее сохранение сканирования Core может записать снимок, принадлежащий AI Disk Doctor. Он по-прежнемуdestructiveHint: falseи не изменяет пользовательские/рабочие файлы.Инвентаризация моделей — только метаданные согласно контракту Core; эта интеграция не читает содержимое подсказок, транскриптов, исходников, документов, токенов, cookie или учётных данных.
Пути, передаваемые инструментам, передаются только соответствующей команде Core или считывателю метаданных истории. Они не рекурсивно читаются этой интеграцией.
Агенты никогда не должны обходить эти правила, удаляя пути с помощью shell-команд. Если будущий поток мутации будет одобрен, он должен использовать отдельную поверхность авторизации.
Разработка
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 и не содержит учётных записей, биллинга, прав доступа, телеметрии, облачной синхронизации или проприетарного кода 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