synology-chat-hermes-mcp
synology-chat-hermes-mcp
제한된 FastMCP HTTP 서버로, 고정된 Synology NAS SMB 공유를 AI 에이전트에 읽기/쓰기 파일 도구로 노출합니다. 엄격한 경로 감옥, 크기 제한, 활성 콘텐츠 거부가 내장되어 있습니다.
원래 가족 Hermes 배포(제어 에이전트 → MCP → SMB3 → NAS)의 파일 채널로 구축되었습니다. 모든 MCP 클라이언트(Hermes, Claude 등)와 함께 작동합니다.
존재 이유
파일 접근 권한이 있는 AI 에이전트는 접근이 제한될 때만 안전합니다. 이 서버는:
모든 경로를 하나의 고정된 공유(
NAS_SHARE)로 감금합니다. 경로 탐색(.., 절대 경로, 심볼릭 링크/재분석 지점 탈출)은 SMB 호출 전에 거부됩니다.공용 WAN 서버를 거부합니다 —
NAS_SERVER는 사설, 링크-로컬 또는 Tailscale(100.64.0.0/10) 리터럴 IP여야 합니다. DNS 이름과 공용 IP는 거부됩니다.자격 증명을 저장하지 않습니다 — SMB 비밀번호는 시작 시 도커 시크릿 파일(
NAS_PASSWORD_FILE)에서 읽으며, 환경 변수나 코드에서 절대 읽지 않습니다.활성 콘텐츠를 차단합니다 — DOCX/XLSX/PDF 작성기는 정리된 문서만 생성합니다. 바이너리 업로드는 매크로, 외부 관계, 스크립트를 검사합니다. 확장자/미디어 유형 불일치는 거부됩니다.
모든 것을 제한합니다 — 파일 크기, 바이너리 크기, 문서 문자 수, 스프레드시트 셀, 이미지 픽셀, 검색 결과 모두에 하드 제한이 있습니다.
작업을 감사합니다 — 모든 변경 사항은 JSONL 감사 로그에 추가됩니다.
Related MCP server: MCP File System Server
아키텍처
Hermes (or any MCP client)
→ HTTP :8000/mcp (FastMCP, streamable HTTP)
→ NasService (validation, limits, audit)
→ SMBBackend (smbprotocol, SMB3, encryption+signing required)
→ Synology NAS share도구
도구 | 설명 |
| SMB3 연결 확인 |
| 공유 아래의 디렉터리 나열 |
| 경로 아래의 파일 이름 검색 |
| 크기 제한이 있는 UTF-8 텍스트 파일 읽기 |
| 원자적 UTF-8 쓰기 ( |
| 검증된 base64 쓰기 (TXT/DOCX/XLSX/PDF/PNG/JPEG) |
| 제목 + 일반/Markdown 유사 텍스트로 안전한 DOCX 생성 |
| 안전한 XLSX (수식 거부) |
| 정적 PDF (스크립트/링크/내장 파일 없음) |
| TXT/MD/CSV/JSON/YAML/DOCX/XLSX/PDF에서 텍스트 추출 |
| 디렉터리 생성 (참고: 한 번에 한 레벨씩 생성 — |
| 공유 내에서 이동 |
| 내용 없는 메타데이터 |
알려진 제한 사항: create_directory는 makedirs 전에 부모를 검증하므로, 첫 번째 세그먼트가 존재하지 않는 다중 레벨 경로는 parents=True에서도 not_found를 반환합니다. 한 번에 한 레벨씩 생성하세요.
빠른 시작
cp .env.example .env # set NAS_SERVER (Tailscale/private IP), NAS_USERNAME
# provide the SMB password as a docker secret:
printf '%s' 'YOUR_SMB_PASSWORD' > ./synology_password
chmod 600 ./synology_password
docker build -t nas-mcp .
docker run -d --name nas-mcp \
--env-file .env \
-v "$PWD/synology_password:/run/secrets/synology_password:ro" \
-v nas-mcp-audit:/var/log/nas-mcp \
-p 8000:8000 \
nas-mcp상태 확인:
curl -X POST http://127.0.0.1:8000/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"health","arguments":{}}}'Hermes MCP 구성
mcp_servers:
nas-mcp:
type: http
url: http://nas-mcp:8000/mcp테스트 실행
python -m nas_mcp.smoke # exercises the full tool chain against the live share환경 변수 참조
변수 | 필수 | 기본값 | 설명 |
| ✅ | — | 사설/Tailscale 리터럴 IP만 |
| ✅ | — | 고정된 공유 이름, 런타임에 적용 |
| ✅ | — | 공유 수준 SMB 사용자 |
|
| 도커 시크릿 경로 | |
|
| ||
|
| SMB3 암호화 필요 | |
|
| SMB3 서명 필요 | |
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
|
| ||
|
|
보안 참고 사항
SMB 비밀번호는 시스템의 유일한 비밀이며 오직 도커 시크릿 파일에만 존재합니다. 하드코딩된 것은 없으며, 비밀이 아닌 조정 값 외에는
.env에 평문으로 저장되지 않습니다 (그리고.env는 git에서 무시됩니다).프로덕션에서는 사설 인터페이스에 바인딩하세요.
:8000을 공개적으로 노출하지 마십시오.공유 이름과 SMB 사용자는 구성(
NAS_SHARE,NAS_USERNAME)입니다. 배포별로 설정하세요. 코드는 특정 값을 가정하지 않습니다.
라이선스
MIT
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 Servers
- Alicense-qualityCmaintenanceProvides a secure, constrained filesystem workspace for LLM agents to manage files, notes, and code artifacts via stdio or remote HTTP. It features granular access controls, including extension whitelisting, storage quotas, and immutable paths for safe automated file operations.BSD 3-Clause
- Flicense-qualityCmaintenanceA secure, sandboxed file system server that enables reading, writing, searching, and managing files through MCP-compatible AI clients with path traversal protection and size limits.
- Alicense-qualityBmaintenanceExposes local file system operations to AI assistants via Streamable HTTP with security features like auth, path whitelisting, and audit logging.2,8841MIT
- FlicenseAqualityBmaintenanceMCP server enabling AI agents to manage and monitor Synology NAS via official DSM API, including file operations, system stats, backups, downloads, and camera lists.15
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
File uploads for AI agents. Upload, list, and manage files. No signup required.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
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/shunnnnn-png/synology-chat-hermes-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server