Skip to main content
Glama
kellyorkin

Cane

by kellyorkin

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 не может судить в одиночку.

Попробуем ещё раз.

Что вы получаете

Ассистенту под регистрируются ресурсы:

cane_compare(a, b)

Всё измеряемое о двух файлах: размер, время модификации, md5, побайтовая идентичность? включённость (чьи строки не существуют больше нигде → этот файл следует сохраняться; какой является полное подмножен другого → он безопасно утилизируется) и объединяющий diff. Атом-проверки «какой из этих двух файлов актуальнее?».

cane_cluster(folder)

Семейства файлы с похожими названиями в папке — файлы-версии одного объекта, которые при этом называются по-разному (draft, final, v2, (1), даты). Входня точка «какая из моих двадцати копий?».

cane://creed (ресурс)

Правило суждения: не читай ярлыки, а читаемый содержимое — строки, существующие в единственном экземпляре, это находка; когда доказательства заканчиваются, назови недостающий факт. Именно поэтому любая модель может применить к доказательствам то же суждение, что и автор готовки.

Установка

Cane требует Python 3.10+ и пакет mcp (pip install mcp). Затем склюнируйте репозиторий:

git clone https://github.com/kellyorkin/cane-mcp.git

Claude 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. Делайте, что нравится.

Диагностируй, не исполняй. Поддержи беспорядок, а не наказывай его.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and LLMs to perform comprehensive file system operations including CRUD, search, archive, hashing, and duplicate detection via the Model Context Protocol.
    1
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kellyorkin/cane-mcp'

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