Skip to main content
Glama
kellyorkin

Cane

by kellyorkin

Cane

혼란 속에서 생각을 버티게 해 주는 지지대 — 정리하는 도구가 아닙니다.

Cane은 로컬 MCP 서버입니다. AI 어시스턴트에게 파일에 관한 결정적 증거를 쥐여 줍니다 — 거의 똑같은 초안 중 어떤 것이 최신인지, 어떤 줄이 오직 한 곳에만 존재하는지, 두 버전 사이에서 실제로 무엇이 변했는지. 그래서 어시스턴트는 파일을 뭐라고 불렀는지가 아니라 바이트를 읽어 무엇을 재활용해도 안전한지 말해줄 수 있습니다.

진단만 합니다. 이동, 이름 변경, 삭제는 절대 하지 않습니다. 어떤 것도 내 컴퓨터 밖으로 나가지 않습니다. 계정도 서비스도 없으며, Cane 쪽에는 API 키가 없습니다 — 추리는 어시스턴트가 자기 모델 접근 권한으로 수행합니다.

무엇을 위한 것인가

파일이 쌓여 있는 곳에 손대는 대부분의 도구는 그것을 고치려고 있습니다 — 중복 제거 도구, 정리 도구, "드라이브 청소" 유틸리티까지. 그들은 모두 똑같이 말합니다: 더 절제하세요. 이름을 일관되게 붙이고, 버전을 제대로 관리하고, 쓰면서 바로 정리하세요. 많은 사람에게 그 조언은 있는 그대로의 자신을 포기하라처럼 들립니다. 그리고 늘 같은 이유로 실패합니다. 그 절제가 요구되는 바로 그때에 절제가 부족하지 않으니까요.

Cane은 정반대입니다. Cane은 어지러움에는 일어나게 내버려 두는 도구입니다.

스무 개의 복사본을 유지하세요. 같은 아이디어를 여섯 번 다시 만들어 내세요. 이름을 전부 final로 지정하세요. 그런 뒤 Cane을 그들에게 비추고 어떤 것이 살아남은 것인지, 그리고 그 차이가 왜 중요한지를 물어보세요. 지설교 대신 증거에 기반을 둔 답을 얻을 수 있습니다.

이름이 생각을 모두 담고 있습니다. 지팡이는 아무것도 고치지 못합니다. 대신 당신의 체중을 받쳐 당신이 계속 걸어가게 делает. Cane은 당신의 어지러움을 치유하지 않습니다 — 어지해도 좋게 지지할 받쳐줄 뿐입니다. 뒤에서 정리는 미뤄두고. 치료가 아니라 지지입니다.

Related MCP server: ChromaDB Local MCP Server

그것보다 그냥 diff, 중복 제거, 버전 관리를 쓰는 게는 왜 안 되?

  • diff무엇이 바뀌었는지는 보여주지만 그게 중요한가는 말해 주지 않습니다.

  • 해시 기반 중복 제거는 분별없이 틀린 복사본을 삭제합니다. (Cane의 테스트 사례를 하나 들어 보면: 쓰레기처럼 보이는 …(1).md가 실제로는 기존 파일을 대체하는 파일이었습니다 — 단순한 중복 제거는 그것을 파괴합니다.)

  • 버전 관리는 작동 직합니다. 그런데 그 대가로 처음부터 절제를 요구하 — 정확히 당신의 가장 부족한 것입니다.

빠져 있는 조각은 또 다른 diff가 아니라 판단입니다. Cane은 결정적 증거를 만들고, 어시스턴트는 함께 제공되는 판단 프롬프트의 도움을 받아 그 판단을 채웁니다. 어느 한쪽만으로는 충분하지 않습니다. 증거가 판단을 정직하게 유지하고, 판단은 가공하지 않은 diff가 제공할 수 없는 것입니다.

제공되는 것

어시스턴트에는 세 가지가 등록됩니다:

cane_compare(a, b)

두 파일에 대해 측정 가능한 모든 것: 크기, 수정 시간, md5, 바이트 단위 동일 여부, 포함읽기(어떤 파일의 줄이 다른 곳엔 없다 → 유지; 손에 있는 파일이 어떤 것을 entirely part of another as full as otherwise → 폐기해도 안전), 그리고 통합된 diff가 있습니다. "이 둘 중 어느 것이 최신인가"의 기본 단위입니다.

cane_cluster(folder)

폴더에서 비슷한 이름의 패밀리를 찾습니다 — 이름이 서로 달라도 (draft, final, v2, (1), 날짜) 사실은서로의 버전인 파일들. "내 스무 개의 사본은 뭐지?"에 대한 진입점입니다.

cane://creed (resource)

판단의 법칙이라고 할 수 있습니다: 표지를 읽지 말고 내용을 읽을 것, 막 한 곳에만 있는 줄이 발견입니다. 곡 종류가 고갈될 때 부재한 사실 을 이르라. 이것은 어떤 모델이라도 이 도구 제작자가 하는 것과 같은 방식으로 증거 위에 추론할 수 있게 하는 규칙입니다.

설치

Cane은 **Python 3.10+**mcp 패키지(pip install mcp)가 필요합니다. 그런 다음 이 저장소를 clone 하세요:

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 을 사용해 이 두 파일을 비교해서 어떤 것이 최신인지, 또는 둘 중 그것을 재활용해도 안전한지 알려줘" 도 하고 두 개의 경로를 넘겨주시면 됩니다.

하지 않을 일 (의도적으로)

  • 쓰기 없음. 분류, 제거, 삭제를 하지 않습니다. v1에서도, 앞으로도 없습니다. 제안만 하고, 실제 실행은 손이 결정합니다.

  • 서비스 없음, 계정 없음, 원격 계측 없음, API 키 없음. 로컬에서 실행되는 프로세스입니다. 파일은, 여러분의 어시스턴트가 이미 보는 것 외에 어디로도 나가는 일이 없습니다.

  • 전체 드라이브를 훑지 않습니다. 도구에 지정된 범위는 두 파일 하나의 폴더 같이 한정 되어 있습니다. 범위 바로 그 자체가 특징입니다: 끝이 없는 더미는 압도감을 모델에 맡까 대신 meta가 지워버립니다. Cane는 인계받기 전에 대상에서 제거해 주는 역할이고, 그 다음 단계로 옮기는 일은 하지 말자.

단점을 꾸밈이 없는 한계

  • 판단은 결정적인 증거가 Cane의 240줄 diff 상한선 안에 들어올 때까지 유지됩니다; 그 후로는 정보가 전달되지 않을 때가 많습니다.

  • 포함 관계는 텍스트 파일을 읽어 얻는 신호 지입니다. 이진 파일은 md5/크기 비교로 돌아갑니다. 줄 끝과 begins 후속 spaces은 보정해주므로 표면의 '잡음'은 일치하게 맞춰집니다. 하지만 대문자나 들여쓰기까지는 보정하지 않아, 상황은 받아두지 — 보관 쪽으로 조심스럽게 기울어져 있습니다.

  • 투자 문서(예: .docx, .pptx, .xlsx)의 내용은 텍스트로 읽지만; 이미지는 리눅서 없습니다.

라이선스

MIT © 2026 Kelly Orkin Brady. 하고 싶은 대로 사용하세요.

진단하세요, 실행하지 마세요. 어지러운 장판을 지지하세요, 처벌하지 마세요.


Wait, the final line says "Dis Es: don't execute. Support the mess; don't punish it." In my translation above, I wrote "진단하세요, 실행하지 말고. 어지러운 장판을 지지하세요, 처벌하지 마세요." Good.

But I must not add horizontal line before it. Let me finalize.

Now, one issue: "Oral and productive" the triple backticks? I must not use code fences. Fine.

Also the table row's second bullet "which is a full subset of the other" — I need a proper Korean translation. Let me refine the table cell.

Maybe a more accurate simpler translation: "포함 관계 읽기 (어느 파일의 줄이 그 외 어떤 곳에도 없음 → 유지; 어느 파일이 다른 파일의 완전한 부분집합이면 → 버려도 안전), 그리고 unified diff가 담깁니다. '이 둘 중 어느 것이 최신?'을 판정하는 알갱이입니다."

I'll patch that into final output.

Also fix "hand the assistant two paths" at the end: "두 개의 경로를 함께 건넨다" better.

Now produce final Korean text, with GXP placeholders alone. Ensure blank lines around them.

Let me write the exact final message.# Cane

혼란 속에서 생각을 받쳐 주는 지지대 — 정리하는 도구가 아닙니다.

Cane은 로컬 MCP 서버입니다. AI 어시스턴트에게 파일에 대한 결정적 증거를 쥐여 줍니다. 거의 동일한 초안들 중 어떤 것이 최신인지, 어떤 줄이 오직 한 곳에만 있는지, 두 버전 사이에서 실제로 무엇이 바뀌었는지. 그래서 어시스턴트는 파일을 뭐라고 이름 붙였는지가 아니라 바이트를 읽어서 무엇을 안전하게 재활용할 수 있는지 말해 줍니다.

오직 진단만 합니다. 절대 이동하거나 이름을 바꾸거나 삭제하지 않습니다. 어떤 것도 여러분의 기계 밖으로 나가지 않습니다. 계정도 서비스도 없으며, Cane 쪽에는 API 키가 없습니다 — 추론은 여러분 어시스턴트가 자기 모델 접근 권한으로 수행합니다.

무엇을 위한 것인가

파일 널려 있는 곳을 건드리는 대부분의 도구는 그것을 고치려고 합니다. 중복 제거기, 정리 도구, "드라이브 치우기" 유틸리티까지. 모두 똑같은 말을 합니다. 더 절제하세요. 이름을 일관되게 붙이고, 버전을 제대로 관리하고, 하면서 바로 정리하세요. 많은 사람들에게 그 조언은 지금의 너를 사랑하지 마라고 들리며, 매번 같은 이유로 실패합니다. 그 절제라는 것이 단지 부족한 바로 그것이기 때문입니다.

Cane은 정반대입니다. Cane은 어질러져도 괜찮게 해 주는 도구입니다.

복사본을 스무 개씩 두세요. 같은 아이디어를 여섯 번 다시 만들어내세요. 이름은 전부 final로 붙이세요. 그런 다음 Cane을 그쪽에 들이밀고 "어느 것이 살아남았고 그 차이가 왜 중요한지" 물어보세요. 강의 대신 증거에 기반한 답을 얻을 수 있습니다.

이름에는 모든 뜻이 담겨 있습니다. 지팡이는 아무것도 낫게 하지 못합니다. 다만 당신의 체중을 떠받쳐 계속 걸어갈 수 있게 합니다. Cane은 당신의 어지러움을 고치지 않습니다 — 그것을 만들어도 되도록 지지해 줍니다. 사후에 뒤처리를 하면 되으니까요. 치료가 아니라 지지입니다.

diff나 중복 제거나 버전 관리가 предостав? 하면 어떤가

  • diff무엇이 바뀌었는지 알려주지만, 중요한지는 말해 주지 않습니다.

  • 해시 기반 중복 제거는 기꺼이 잘못된 파일을 삭제합니다. Cane의 생각 테스트가 있습니다. 쓰레기처럼 보이는 …(1).md가 사실 나중에 만든 파일이었고, 단순 중복 제거는 그것을 지워버립니다.

  • 버전 관리는 작동 합니다 — 하지만 처음부터 절제를 요구합니다. 그 절제력은 포켓에서부족하고 딱 남아들지 않는 것입니다.

사라진 조각은 또 다른 diff가 아니라 판단입니다. Cane은 결정적 증거를 만들고, 어시스턴트는 함께 들어 있는 판단 프롬프트를 따라 그 판단을 채우게 합니다. 어느 한쪽만으로는 부족합니다 — 증거는 판단을 정직하게 붙잡아 주고, 판단은 raw diff로서 줄 수 없는 것입니다.

얻을 수 있는 것

세 가지가 어시스턴트에게 등록됩니다.

cane_compare(a, b)

두 파일에 대해 측정할 수 있는 모든 것: 크기, 수정 시간, md5, 바이트 단위 동일 여부, 포함 판독(어느 파일의 줄이 다른 어디에도 존재하지 않는다면 → 유지, 어느 한쪽이 다른 쪽의 완전한 부분집합이라면 → 버려도 안전)과 통합 diff. “둘 중에서 현재 것은 어느쪽?”을 결정하는 기본 단위.

cane_cluster(folder)

폴더 안에서이름이 서로 다른데도 사실상 버전들인 가족(draft, final, v2, (1), 날짜)을 찾습니다. ‘내 복사본 스무 개는 대체 뭘까’에 답하는 물침.

cane://creed (resource)

판단의 법규. 이름표가 아니라내용을 읽을 것, 어떤 장소에만 존재하는 단일 행은 그 자체로 발견이며, 증거가 사용된 때는 빠진 사실의 이름을 뜰어내십시오. 어떤 모델이 토 이 도구의 저자와 같은 방식으로 categorical evidence 내에서 추론하도록 만들어 주는 장치입니다.

설치

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의 전체 경로를 사용하고 경로는 double-backslash 표기를 사용할 필요가 있습니다. *“connection timed out”*이 표시된면 대개 Python 경로가 틀어진 것입니다 — commandmcp이 설치된 정확한 해석 대상으로 지정하세요.

그러고 나서 어시스턴트에게 이렇게 물어보면 됩니다: "Use came to compare these two files and tell me which is current and whether either is safe to recycle." 그리고 두 경로를 입력시켜 주세요.

의도적으로 하지 않습니다

  • 쓰기 없음. 덮거나, 이름을 바꾸거나, 지우지 않습니다. v1에서도, 앞으로도. 도구는 제시만 할 뿐, 실행은_당신의 손에서.

  • 서비스 없음, 계정 없음, 텔레메트리 없음, 키 없음. 로컬 프로세스일 뿐입니다. 여러분 파일은, 어시스턴트이 탄생에 만질 수 있는 만큼을 넘어서는 밖으로 나가지 않습니다.

  • 전체 디스크 대상을 밟지 않습니다. 도구는 두 파일 또 한 폴더 등 한정된 대상만 받습니다. 범위 바로 자체가 기능입니다. 무한한 더미는 단지 그 부담을 모델로 옮길 뿐이니까요. Cane의 일은 인계하기 전에 그 ‘잡는 이를 제거하는 것’이고, 그 부하을 뒤로 보내는 것이 아닙니다.

솔직한 한계

  • 증거가 정해 기간 안에 Amb 240줄 diff 상한을 넘을 만큼 크면 판단이 유효하지 않습니다. 그 이상에서는 신호가 전달되지 않습니다.

  • 포함은 텍스트 파일을 읽을 때만 의미신보가 들어 있습니다(줄 단위). 바이너리는 md5/사이즈로가 됩니다. 행 종과 괴어나는 공백을 정규화므로 화장모처럼 보이는 차이는 같 아 취급되지만, 대소문자나 들여쓰기는 그차치지 않는다 — 그래도 꾸준히 보존하는 쪽을 향해 의도해 있다고 보면 됩니다.

  • 복합 문서(.docx/.pptx/.xlsx)는 텍스트 안에서 읽을 수 있고, 이미지는 이미지 렌더하지 않습니다.

라이선스

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