Skip to main content
Glama

Obsidian MCP Server

흑요석 MCP 서버

LLM이 Obsidian 볼트와 상호 작용하도록 설계된 모델 컨텍스트 프로토콜 서버입니다. TypeScript로 구축되었으며 안전한 API 통신, 효율적인 파일 작업, 포괄적인 검색 기능을 갖추고 있어 AI 어시스턴트가 깔끔하고 유연한 도구 인터페이스를 통해 지식 기반을 원활하게 관리할 수 있도록 지원합니다.

모델 컨텍스트 프로토콜(MCP)을 사용하면 AI 모델이 표준화된 인터페이스를 통해 외부 도구 및 리소스와 상호 작용할 수 있습니다.

Obsidian의 로컬 REST API 플러그인이 필요합니다.

📋 목차

기능 | 설치 | 구성 | 도구 | 리소스 | 프로젝트 구조 | 기여 | 게시 | 라이선스

✨ 특징

  • 파일 작업 : 검증, 리소스 모니터링, 오류 처리를 통한 원자적 파일/디렉토리 작업입니다.
  • 검색 시스템 : 구성 가능한 컨텍스트, 고급 JsonLogic 쿼리, glob 패턴 및 frontmatter 필드 지원을 갖춘 전체 텍스트 검색.
  • 속성 관리 : YAML 프런트매터 구문 분석, 지능형 병합, 자동 타임스탬프 및 사용자 정의 필드 지원.
  • 보안 및 성능 : API 키 인증, 속도 제한, SSL 옵션, 리소스 모니터링 및 정상적인 종료.

🚀 설치

참고: Obsidian에서는 Node.js와 로컬 REST API 플러그인이 활성화되어 있어야 합니다.

옵션 1: 복제 및 빌드(개발 또는 직접 사용용)

  1. Obsidian에서 로컬 REST API 플러그인을 활성화합니다.
  2. 저장소를 복제하고 종속성을 설치한 다음 프로젝트를 빌드합니다.지엑스피1
  3. 환경 변수를 사용하여 서버를 구성합니다(아래 구성 섹션 참조).
  4. 서버를 포함하도록 MCP 클라이언트 설정(예: claude_desktop_config.json 또는 cline_mcp_settings.json )을 구성하세요. 자세한 내용은 구성 섹션을 참조하세요.

옵션 2: npm을 통해 설치(종속성으로 또는 전역적으로)

  1. Obsidian에서 로컬 REST API 플러그인을 활성화합니다.
  2. npm을 사용하여 패키지를 설치하세요:
    # Install locally (e.g., within another project) npm install obsidian-mcp-server # Or install globally npm install -g obsidian-mcp-server
  3. 서버를 포함하도록 MCP 클라이언트 설정(예: claude_desktop_config.json 또는 cline_mcp_settings.json )을 구성하세요. 자세한 내용은 구성 섹션을 참조하세요.

⚙️ 구성

MCP 클라이언트 설정에 다음을 추가합니다(예: claude_desktop_config.json 또는 cline_mcp_settings.json ):

{ "mcpServers": { "obsidian-mcp-server": { "command": "node", "args": ["/path/to/obsidian-mcp-server/dist/index.js"], "env": { "OBSIDIAN_API_KEY": "your_api_key_here", "VERIFY_SSL": "false", "OBSIDIAN_PROTOCOL": "https", "OBSIDIAN_HOST": "127.0.0.1", "OBSIDIAN_PORT": "27124", "REQUEST_TIMEOUT": "5000", "MAX_CONTENT_LENGTH": "52428800", "MAX_BODY_LENGTH": "52428800", "RATE_LIMIT_WINDOW_MS": "900000", "RATE_LIMIT_MAX_REQUESTS": "200", "TOOL_TIMEOUT_MS": "60000" } } } }

환경 변수:

  • OBSIDIAN_API_KEY (필수): Obsidian의 로컬 REST API 플러그인 설정에서 가져온 API 키입니다.
  • VERIFY_SSL (기본값: false ): SSL 검증을 사용합니다. 자체 서명 인증서 또는 로컬 사용을 위해 false 로 설정하세요.
  • OBSIDIAN_PROTOCOL (기본값: "https" ): 프로토콜( http 또는 https ).
  • OBSIDIAN_HOST (기본값: "127.0.0.1" ): 호스트 주소.
  • OBSIDIAN_PORT (기본값: 27124 ): 포트 번호.
  • REQUEST_TIMEOUT (기본값: 5000 ): 요청 시간 초과(ms).
  • MAX_CONTENT_LENGTH (기본값: 52428800 [50MB]): 최대 응답 콘텐츠 길이(바이트).
  • MAX_BODY_LENGTH (기본값: 52428800 [50MB]): 최대 요청 본문 길이(바이트).
  • RATE_LIMIT_WINDOW_MS (기본값: 900000 [15분]): 속도 제한 창(ms).
  • RATE_LIMIT_MAX_REQUESTS (기본값: 200 ): 창당 최대 요청 수.
  • TOOL_TIMEOUT_MS (기본값: 60000 [1분]): 도구 실행 시간 초과(ms).

🛠️ 도구

도구설명매개변수
흑요석_목록_파일_볼트Obsidian 볼트 루트에 있는 모든 파일과 디렉터리를 나열합니다. 파일, 폴더 및 해당 유형을 자세히 설명하는 계층 구조를 반환합니다.없음
흑요석_목록_파일_디렉토리Obsidian 볼트의 특정 폴더 내에 있는 파일과 디렉터리를 나열합니다. 계층 구조를 반환합니다. 참고: 빈 디렉터리는 결과에 포함되지 않을 수 있습니다. 볼트 정리를 살펴보는 데 유용합니다.dirpath* : 파일 목록을 가져올 경로(볼트 루트 기준). 빈 디렉터리는 반환되지 않습니다.
흑요석_파일_내용_가져오기Obsidian 보관소 내 지정된 파일의 전체 내용을 검색합니다. 다양한 읽기 가능 파일 형식을 지원합니다.filepath* : 해당 파일의 경로(볼트 루트를 기준으로 함).
흑요석_추가_콘텐츠제공된 콘텐츠를 볼트의 지정된 파일 끝에 추가합니다. 파일이 없으면 새로 생성됩니다.filepath* : 파일 경로(볼트 루트 기준) content* : 파일에 추가할 콘텐츠
흑요석 업데이트 콘텐츠볼트에 있는 지정된 파일의 전체 내용을 제공된 내용으로 덮어씁니다. 파일이 없으면 새로 생성됩니다.filepath* : 파일 경로(볼트 루트 기준) content* : 파일의 새롭고 완전한 콘텐츠(기존 콘텐츠를 덮어씀)
파일에서 흑요석 찾기Obsidian 볼트에 있는 모든 파일에 대해 전체 텍스트 검색을 수행합니다. 각 일치 항목에 대한 컨텍스트와 함께 일치하는 파일을 반환합니다. 일치하는 파일이 5개 이상인 경우, 과도한 출력을 방지하기 위해 파일 이름과 일치 횟수만 반환됩니다. 특정 텍스트, 태그 또는 패턴을 찾는 데 적합합니다.query* : 검색할 텍스트 패턴입니다. 태그, 키워드 또는 구문을 포함할 수 있습니다. contextLength : 문맥을 제공하기 위해 각 일치 항목을 둘러싼 문자 수(기본값: 10).
흑요석 복합체 검색JsonLogic 쿼리를 사용하여 경로 패턴을 기반으로 파일을 찾습니다. 패턴 매칭(예: '*.md')을 위한 glob 과 'path' 변수에 접근하기 위한 var 주로 지원합니다. 참고: 콘텐츠 기반 검색(전체 텍스트, 콘텐츠 내 태그, 날짜)에는 obsidian_find_in_file 사용하세요.query* : 파일 경로를 타겟팅하는 JsonLogic 쿼리 객체입니다. 예: {"glob": ["*.md", {"var": "path"}]} 모든 마크다운 파일과 일치합니다.
흑요석_태그_받기Obsidian 볼트 내 마크다운 파일의 YAML 프론트매터에 정의된 모든 태그와 사용 횟수, 관련 파일 경로를 검색합니다. 원하는 경우 검색 범위를 특정 폴더로 제한할 수 있습니다.path : 태그 검색을 제한하기 위한 선택적 폴더 경로(볼트 루트 기준)입니다.
흑요석_속성_가져오기지정된 Obsidian 노트의 YAML 프론트매터에서 속성(제목, 태그, 상태 등)을 검색합니다. 사용자 정의 필드를 포함하여 정의된 모든 속성을 반환합니다.filepath* : 노트 파일 경로(볼트 루트 기준)
흑요석_업데이트_속성지정된 Obsidian 메모의 YAML 프론트매터 내 속성을 업데이트합니다. 기본적으로 배열 속성(예: 태그, 유형, 상태)은 병합됩니다. 'replace' 옵션을 사용하여 덮어씁니다. 사용자 지정 필드를 처리하고 타임스탬프를 자동으로 관리합니다. 지원되는 표준 필드(제목, 작성자, 태그, 상태 등)는 스키마를 참조하세요.filepath* : 노트 파일 경로(볼트 루트 기준) properties* : 업데이트할 속성 replace : true인 경우 배열 속성(예: 태그, 상태)이 기존 값과 병합되는 대신 제공된 값으로 완전히 대체됩니다. 기본값은 false(병합)입니다.

🔗 리소스

의지설명보고
흑요석://태그Obsidian 볼트에서 사용된 모든 태그 목록과 사용 횟수애플리케이션/json

📁 프로젝트 구조

이 프로젝트는 관심사를 명확하게 분리한 모듈형 아키텍처를 따릅니다.

src/ ├── index.ts # Main entry point ├── mcp/ # MCP server implementation ├── obsidian/ # Obsidian API client and types ├── resources/ # MCP resource implementations ├── tools/ # MCP tool implementations │ ├── files/ # File operations tools │ ├── search/ # Search tools │ └── properties/ # Property management tools └── utils/ # Shared utilities

👥 기여하기

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 풀 리퀘스트 제출

버그와 기능에 대한 문의는 https://github.com/cyanheads/obsidian-mcp-server/issues 에서 해주세요.

📄 라이센스

아파치 라이선스 2.0


-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

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

모델 컨텍스트 프로토콜을 통해 LLM과 Obsidian 볼트 간의 상호작용을 지원하여 안전한 파일 작업, 콘텐츠 관리 및 고급 검색 기능을 지원합니다.

  1. 📋 목차
    1. ✨ 특징
      1. 🚀 설치
        1. 옵션 1: 복제 및 빌드(개발 또는 직접 사용용)
        2. 옵션 2: npm을 통해 설치(종속성으로 또는 전역적으로)
      2. ⚙️ 구성
        1. 🛠️ 도구
          1. 🔗 리소스
            1. 📁 프로젝트 구조
              1. 👥 기여하기
                1. 📄 라이센스

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.
                    Last updated -
                    10
                    77
                    Python
                    MIT License
                  • A
                    security
                    A
                    license
                    A
                    quality
                    Adds powerful Hacker News integration to LLM clients, allowing users to access stories, comments, user profiles, and search functionality through the Model Context Protocol.
                    Last updated -
                    9
                    25
                    4
                    JavaScript
                    MIT License
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.
                    Last updated -
                    24
                    Python
                    Apache 2.0
                  • -
                    security
                    A
                    license
                    -
                    quality
                    FEGIS is a Model Context Protocol server that gives LLMs structured, persistent and portable memory through customizable cognitive tools defined in schema.
                    Last updated -
                    16
                    Python
                    MIT License
                    • Apple
                    • Linux

                  View all related MCP servers

                  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/cyanheads/obsidian-mcp-server'

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