Cane
Cane
Опора для мышления в беспорядке — а не инструмент для уборки.
Cane — это локальный MCP сервер. Он даёт вашему ИИ-ассистенту детерминированные доказательства о ваших файлах — какая из ваших почти одинаковых черновиков актуальна, какие строки существуют только в одном месте, что на самом деле изменилось между двумя версиями — чтобы ассистент мог сказать, что безопасно утилизировать, читая байты, а не полагаясь на то, как вы назвали файлы.
Он только диагностирует. Он никогда не перемещает, не переименовывает и не удаляет файлы. Ничто не покидает вашу машину: здесь нет ни аккаунта, ни сервиса, а со стороны Cane нет API-ключа — все рассуждения выполняет ваш собственный ассистент через собственный доступ к модели.
Для чего это
Большинство инструментов, которые берутся за кучу файлов, существуют для того, чтобы её чинить: дедупликаторы, организаторы, утилиты «наведи порядок на диске». Все они говорят одно и то же: будь дисциплинированнее. Называй вещи единообразно. Правильно версионируй. Убирай за собой. Для многих такой совет звучит как «стань меньше собой» — и он каждый раз рассыпается по одной и той же причине: требуемая дисциплина как раз и есть то, чего не хватает.
Cane устроен наоборот. Cane — это инструмент, который позволяет беспорядку жить.
Храните двадцать копий. Шесть раз перепридумывайте одну и ту же идею. Назовите их все final. Потом наведите Cane на них и спросите, какая из копий — текущая и почему различие важно, — и получите ответ, подкреплённый доказательствами, а не лекцию.
Суть целиком в названии. Трость ничего не лечит; она берёт на себя ваш вес, чтобы вы могли идти дальше. Cane не исправляет ваш беспорядок — он даёт опору, чтобы создать его, потому что разборки происходят после факта. Это опора, а не лечкарство.
Related MCP server: ChromaDB Local MCP Server
Почему не просто diff, дедупликация или контроль версий?
diffсообщает, что изменилось, но отказывается говорить, важно ли это.Хэш-дедупликация сама по себе с мусором удаляет и нужную копию. (Свой же тестовый кейс Cane: файл, выглядящий как мусор, —
…(1).md— был заменяющим файлом; наивная дедупликация уничтожила бы его.)Контроль версий — работает, но требует упреждающей дисциплины, а это именно то качество, которого как раз и не хватает. Решение-загадка, которое предполагает отсутствие исходной проблемы.
Не хватает суждения, а не ещё одного diff. Cane выдают детерминированные доказательства; ваш ассистент, с вложенным API? No — вы с вложенным правило — вы должны. Внимание, вот суждение даёт сырой diff не может судить в одиночку.
Попробуем ещё раз.
Что вы получаете
Ассистенту под регистрируются ресурсы:
| Всё измеряемое о двух файлах: размер, время модификации, md5, побайтовая идентичность? включённость (чьи строки не существуют больше нигде → этот файл следует сохраняться; какой является полное подмножен другого → он безопасно утилизируется) и объединяющий diff. Атом-проверки «какой из этих двух файлов актуальнее?». |
| Семейства файлы с похожими названиями в папке — файлы-версии одного объекта, которые при этом называются по-разному ( |
| Правило суждения: не читай ярлыки, а читаемый содержимое — строки, существующие в единственном экземпляре, это находка; когда доказательства заканчиваются, назови недостающий факт. Именно поэтому любая модель может применить к доказательствам то же суждение, что и автор готовки. |
Установка
Cane требует Python 3.10+ и пакет mcp (pip install mcp). Затем склюнируйте репозиторий:
git clone https://github.com/kellyorkin/cane-mcp.gitClaude Code
claude mcp add --scope user cane -- python /path/to/cane-mcp/server.pyФлаг --scope user сделает его доступным во всех ваших проектах. Запустите новую сессию — и инструменты будут у вас. Проверьте с помощью claude mcp list (ищите cane ✔ Connected).
Claude Desktop
Добавьте это в ваш claude_desktop_config.json, затем перезапустите:
{
"mcpServers": {
"cane": {
"command": "python",
"args": ["/path/to/cane-mcp/server.py"]
}
}
}На Windows укажите полный путь к вашему
python.exeи используйте двойные обратные слэши в путях. Если приходит сообщение «connection timed out» — обычная причина в том, что путь к Python указан неверно: нацельтеcommandна тот точный интерпретатор, в который установленmcp.
Потом спросите ассистента примерно так: «Используй cane, чтобы сравнить эти двух файлов и скажи, какой из них актуален и можно ли безопасно утилизировать любой из них» — и дайте ему пути.
Чего Cane не будет делать (намеренно)
Никаких записей. Он никогда не переносит, не переименовывает файлы и не удаляет. Ни в v1, никогда. Он предлагает — действие совершаете вы.
Никакого сервиса, аккаунта, телеметрии, ключа. Это локальный процесс. Твои файлы обычно не слушают твое — в том виде, в котором их уже видит ваша ассистент.
Никакого обхода всего диска. Инструменты получают ограниченную цель — два файла или одну папку. Граница — это фича: безбрежная свалка лишь переносит перегрузку на модель. Задача Cane — снять перегрузку до передачи и не перетаскивать её дальше.
Честные ограничения
Суждение остаётся верным, пока решашшая доказательства укладываются в 240-строчный
diff-предел Cane; за этим сигнал уже не проносит.Вклюзение — это сигнал для текстовых файлов (читает количество строк). Для бинарников доступен fallback на md5/размер. Он нормализует переводы строк и концевые пробелы — поэтому чисто косметика саawaется одинаковой, — но не регистр и отступы; здесь он привыкнут консервативности в сторону сохранения файла.
Внутри составных документов (
.docx/.pptx/.xlsx) он читает текст, но images with OCR from not.
Лицензия
MIT © 2026 кKelly Orkin Brady. Делайте, что нравится.
Диагностируй, не исполняй. Поддержи беспорядок, а не наказывай его.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Versioned artifact review for people and AI agents, with contextual comments and human control.
Gives your AI assistant persistent memory and intelligence about your work patterns.
Deterministic fact verification for AI agents — checksums & curated data, not guesses.
Publish AI reports as managed native links with versions, access control, revocation, and audit.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables intelligent file and folder comparison with advanced text normalization, duplicate detection, and line-level diff analysis. Provides secure workspace-constrained file operations with CRC32-based exact matching and smart text comparison capabilities.
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with persistent memory through local ChromaDB vector storage, featuring automated file ingestion and batch processing for over 70 file types. It enables advanced vector search, EXIF metadata extraction for photos, and duplicate file detection across local directories.MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to intelligently organize files by scanning folders, detecting duplicates, suggesting meaningful names, and moving files into logical folders.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents and LLMs to perform comprehensive file system operations including CRUD, search, archive, hashing, and duplicate detection via the Model Context Protocol.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kellyorkin/cane-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server