MCP Notes 서버
영구 저장소를 사용하여 노트를 관리하기 위한 MCP(모델 컨텍스트 프로토콜) 서버 구현입니다.
특징
- 메모 생성, 읽기, 업데이트 및 삭제
- JSON을 사용한 영구 저장소
- 생성 및 수정에 대한 타임스탬프 추적
- 프롬프트를 통한 노트 요약
- note:// URI 체계를 사용한 리소스 기반 액세스
설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 메모를 자동으로 설치하려면:
지엑스피1
수동 설치
- Python 3.10 이상이 설치되어 있는지 확인하세요.
- 가상 환경 만들기:
python -m venv .venv
# On Unix/MacOS:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
- 설치 요구 사항:
프로젝트 구조
notes/
├── __init__.py # Package initialization
├── server.py # Main server implementation
├── storage.py # Note persistence layer
├── resources.py # Resource handling (note:// URIs)
├── prompts.py # LLM prompt generation
└── tools/ # Server tools
├── __init__.py # Tools package initialization
├── list_tools.py # Tool listing functionality
└── handle_tools.py # Tool handling implementation
사용 가능한 도구
add-note
: 새로운 메모를 만듭니다list-all-notes
: 저장된 모든 노트 표시update-note
: 기존 노트 수정delete-note
: 메모 삭제
용법
- 서버를 시작합니다:
mcp install src/notes
mcp start Notes
- 예제 작업:
# Create a note
await client.call_tool("add-note", {
"name": "example",
"content": "This is a test note"
})
# List all notes
await client.call_tool("list-all-notes")
# Update a note
await client.call_tool("update-note", {
"name": "example",
"content": "Updated content"
})
# Delete a note
await client.call_tool("delete-note", {
"name": "example"
})
저장
메모는 다음 구조로 notes_storage.json
에 저장됩니다.
{
"note_name": {
"content": "Note content",
"created_at": "2025-01-12T11:28:16.721704",
"modified_at": "2025-01-12T11:28:16.721704"
}
}
리소스 액세스
노트는 note://
URI 체계를 사용하여 리소스로 액세스할 수 있습니다.
- 리소스 나열: 사용 가능한 모든 노트를 리소스로 반환합니다.
- 리소스 읽기:
note://internal/note_name
사용하여 특정 노트에 액세스하세요.
프롬프트 생성
서버에는 노트 요약을 위한 즉각적인 생성 기능이 포함되어 있습니다.
- 간략한 요약과 자세한 요약을 모두 지원합니다.
- 언어 모델 입력을 위한 형식 노트
- "summarize-notes" 프롬프트를 통해 사용 가능
개발
서버를 수정하거나 확장하려면:
- 저장소를 복제합니다
- 개발 종속성 설치
- 해당 모듈에서 변경 사항을 만드세요
- 배포하기 전에 철저히 테스트하세요
테스트
테스트에는 다음 내용이 포함되어야 합니다.
- 기본 CRUD 작업
- 다중 노트 처리
- 오류 사례
- 리소스 액세스
- 신속한 생성
특허
[여기에 라이센스를 추가하세요]