MCP Notes

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • The README shows a command for running the web server using Bun as an alternative runtime: 'bun src/notes-web-server.ts --dynamodb ...'

  • The README mentions Node.js multiple times as the primary runtime for the MCP server, with instructions for configuration in various clients.

  • The README shows integration with npm through the use of npx commands to run the MCP Notes server and web server.

📝 MCP 노트

✨ 개요

MCP Notes Server는 MCP 프로토콜 기반으로 구축된 간단한 노트 작성 애플리케이션입니다. 이 애플리케이션의 목적은 사용자가 AI 모델을 활용하여 개인적인 생각, 메모, 영감, 통찰력 등을 기록하는 동시에 복잡한 노트와 작업을 기록하고 확인할 수 있도록 하는 것입니다. 프로젝트 파일을 생성할 필요가 없으므로, 사용자는 프로젝트 내에서 공개하지 않고도 모든 콘텐츠를 기록할 수 있습니다.

이 프로젝트에는 두 개의 서버가 포함됩니다. AI 기반 노트 관리를 위한 MCP(Model Context Protocol)를 사용하는 Node.js 서버와 노트와 수동으로 상호 작용할 수 있는 사용자 친화적인 인터페이스를 제공하는 웹 서버입니다.

참고: 이 프로젝트는 노트 저장을 위해 DynamoDB가 필요합니다. DynamoDB를 사용하려면 AWS 계정이 필요합니다. AWS는 DynamoDB에 대해 넉넉한 무료 티어를 제공하므로 개인이 무료로 자주 사용하는 데 적합합니다.


🎯 핵심 기능

  • 🖥️ 듀얼 서버 아키텍처: AI 기반 노트 관리를 위한 MCP 서버와 사용자 인터페이스를 위한 웹 서버
  • 🤖 AI 기반 노트 작성: AI 상호 작용을 통해 생각, 통찰력 및 작업을 기록합니다.
  • 🗂️ 포괄적인 노트 관리: AI 또는 웹 인터페이스를 통해 노트를 생성, 나열, 검색, 업데이트 및 삭제합니다.
  • 📋 안정적인 스토리지: AWS DynamoDB를 통한 안전하고 효율적인 노트 스토리지
  • 🔐 유연한 인증: 연결 문자열 또는 환경 변수를 통한 AWS 자격 증명 지원
  • 📝 프로젝트 독립성: 프로젝트 파일이나 구조에 영향을 주지 않고 개인 메모를 저장하세요

🤖 모델 지원

클라이언트가 MCP를 지원하는 한 함수 호출을 지원하는 모든 모델을 사용할 수 있습니다. 다음 모델들은 테스트를 거쳐 작동이 확인되었습니다.

  • 클로드 3.5 시리즈
  • 제미니 1.5 및 2.0 시리즈
  • GPT-4 시리즈
  • 미스트랄 라지
  • 그록-2
  • 딥시크 채팅

🛠️ 설치

추천

npx 또는 bunx 로 직접 실행하세요. 아래 예를 참조하세요.

대안

  1. 시스템에 Node.js가 설치되어 있는지 확인하세요.
  2. 이 저장소를 복제하고 npm install 사용하여 종속성을 설치합니다.
  3. 아래에 표시된 대로 Claude Desktop 또는 기타 도구를 구성하세요.

⚙️ 자격 증명 구성

연결 문자열

지엑스피1

예: dynamodb://AKIAXXXXXXXX:SKXXXXXXXX@us-east-1/mcp-notes

환경 변수

  1. AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 내보냅니다.
  2. URI에 자격 증명 없이 연결 정보를 제공합니다: dynamodb://us-east-1/mcp-notes

🤖 도구와의 통합

클로드 데스크탑

claude_desktop_config.json 에 이 스니펫을 추가하세요:

{ "mcpServers": { "mcp-notes": { "command": "npx", "args": [ "-y", "-p", "mcp-notes", "mcp-notes-server", "--dynamodb", "dynamodb://access_key:secret_key@region/table" ] } } }

또는 로컬 디스크의 파일:

{ "mcpServers": { "mcp-notes": { "command": "node", "args": [ "file://path/to/notes-mcp-server.js", "--dynamodb", "dynamodb://access_key:secret_key@region/table" ] } } }

코디

참고: 현재 Cody는 MCP 서버 지원이 제한되어 있습니다.
하나의 서버 연결만 허용하며 도구 호출은 불가능합니다. 메모를 작성하고 관리한 후 AI 채팅 대화에서 참조하려면 웹 인터페이스를 사용해야 합니다.

VS Code 설정에 이 스니펫을 추가하세요.

{ "openctx.providers": { "https://openctx.org/npm/@openctx/provider-modelcontextprotocol": { "nodeCommand": "node", "mcp.provider.uri": "file://path/to/notes-mcp-server.js", "mcp.provider.args": [ "--dynamodb", "dynamodb://access_key:secret_key@region/table" ] } } }

또는 npx 와 함께 사용하세요(작동이 보장되지는 않음):

{ "openctx.providers": { "https://openctx.org/npm/@openctx/provider-modelcontextprotocol": { "nodeCommand": "node", "mcp.provider.uri": "file:///usr/local/bin/npx", "mcp.provider.args": [ "-y", "-p", "mcp-notes", "mcp-notes-server", "--dynamodb", "dynamodb://access_key:secret_key@region/table" ] } } }

클라인

cline_mcp_settings.json 에 이 스니펫을 추가합니다.

"새 작업" 버튼 옆에 "MCP 서버" 아이콘이 있으며, 이 파일을 열려면 "MCP 설정 편집" 버튼이 있습니다.

{ "mcpServers": { "mcp-notes": { "command": "npx", "args": [ "-y", "-p", "mcp-notes", "mcp-notes-server", "--dynamodb", "dynamodb://access_key:secret_key@region/table" ] } } }

🚀 웹 서버 실행

웹 서버는 메모 관리를 위한 사용자 친화적인 인터페이스를 제공합니다. 웹 인터페이스를 실행하여 메모를 관리하고, AI에 새 메모를 추가하고, AI가 생성한 메모의 일부를 수정할 수 있습니다.

npx -p mcp-notes mcp-notes-web-server --dynamodb "dynamodb://access_key:secret_key@region/table"
bun src/notes-web-server.ts --dynamodb "dynamodb://access_key:secret_key@region/table"

또는 npm run build 로 컴파일하고 node dist/notes-mcp-server.js 또는 node dist/notes-web-server.js 실행합니다.

그런 다음 브라우저에서 http://localhost:3100 으로 이동하여 메모를 확인하세요.


🔧 사용 가능한 MCP 도구

목록노트

  • 입력: { tags?: string[] }
  • 출력: 모든 노트의 배열이며, 선택적으로 태그로 필터링할 수 있습니다.

getNote

  • 입력: { id: string }
  • 출력: 주어진 ID와 일치하는 단일 노트 객체 또는 일치하는 항목이 없으면 "찾을 수 없음" 메시지가 표시됩니다.

writeNote

  • 입력: { id: string, title: string, summary: string, tags: string[], content: string }
  • 출력: 성공 확인 메시지.

삭제노트

  • 입력: { id: string }
  • 출력: 삭제 확인 메시지 🚮.

📝 데이터 구조

메모는 다음 구조를 사용하여 저장됩니다.

  • id : 메모의 고유 식별자입니다. "meeting-notes-1362"처럼 난수 접미사가 포함된 설명적인 이름이어야 합니다.
  • title : 메모의 제목입니다.
  • summary : 메모 내용에 대한 간략한 요약입니다.
  • tags : 메모와 관련된 태그 배열(예: ["meeting", "project-x"]).
  • content : 노트의 주요 내용입니다.

📸 스크린샷

클로드 데스크탑

✅ 전체 기능

코디

✅ 리소스를 통해 메모 언급

❎ 도구 호출은 지원되지 않습니다.

클라인

✅ 도구 호출을 통한 전체 기능

❓ 리소스가 작동하지 않는 것 같습니다. 도움이 필요합니다.

ID: 4c63qdbh55