Allows interaction with Logseq graphs through its HTTP API, providing tools for managing journal entries, pages, and blocks, performing full-text searches, and tracking project development progress and decisions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Logseq MCP Serverlog a progress update for the backend refactor"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Logseq MCP Server
NestJS 기반 Logseq MCP (Model Context Protocol) 서버입니다.
📚 문서 가이드
빠른 시작 (QUICKSTART.md) - 5분 안에 설정하고 실행하기
사용 예시 (EXAMPLES.md) - 실제 사용 시나리오별 예시 모음
개발 진행 (PROGRESS.md) - 프로젝트 개발 현황 및 로드맵
README.md (이 문서) - 상세한 기능 설명 및 개발자 가이드
처음 사용하시나요? → QUICKSTART.md 부터 시작하세요!
개요
이 프로젝트는 Logseq HTTP API를 활용하여 AI 에이전트가 Logseq 그래프와 상호작용할 수 있도록 MCP 도구, 리소스, 프롬프트를 제공합니다.
주요 기능
MCP Tools
Journal Tool: 저널 페이지 생성 및 조회
Page Tool: 페이지 CRUD 및 참조 관리
Block Tool: 블록 CRUD 및 참조 관리
Search Tool: 전문 검색 및 그래프 정보 조회
Dev Tool: 프로젝트 개발 기록 관리 (진행 상황, ADR, TODO, 아이디어)
MCP Resources
Concept Documents: 프로젝트 개념 설계 문서 접근
Project Architecture: 아키텍처 및 구조 정보
Tools Reference: MCP 도구 참조 문서
MCP Prompts
dev-implement-feature: 새 기능 구현 가이드
dev-code-review: 코드 리뷰 요청
dev-debug-issue: 이슈 디버깅
dev-refactor-suggestion: 리팩토링 제안
dev-project-status: 프로젝트 상태 파악
요구사항
Node.js 18+
pnpm 10+
Logseq (HTTP API 활성화 필요)
설치
환경 설정
.env.example을 .env로 복사하고 설정을 수정하세요:
다른 프로젝트에 적용
이 MCP 서버는 어떤 프로젝트에도 적용할 수 있습니다:
환경변수 설정
PROJECT_NAME=your-project-name # Logseq에서 사용할 프로젝트 페이지 DOCS_PATH=./your-docs-folder # 설계 문서 경로문서 구조 (선택)
your-docs-folder/ ├── integration/ │ └── concept-design.md ├── architecture/ │ └── overview.md └── ...MCP 클라이언트 설정 Claude Desktop 등 MCP 클라이언트에서 이 서버를 연결하면 됩니다.
실행
테스트
MCP 도구 목록
Journal
logseq_add_journal_entry: 저널에 항목 추가logseq_get_today_journal: 오늘의 저널 조회logseq_get_journal_by_date: 특정 날짜 저널 조회
Page
logseq_get_page: 페이지 조회logseq_create_page: 페이지 생성logseq_get_page_blocks: 페이지의 블록 목록 조회logseq_get_page_references: 페이지 참조 조회
Block
logseq_get_block: 블록 조회logseq_create_block: 블록 생성logseq_update_block: 블록 수정logseq_delete_block: 블록 삭제logseq_get_block_references: 블록 참조 조회
Search
logseq_search: 전문 검색logseq_get_graph_info: 그래프 정보 조회logseq_get_all_pages: 모든 페이지 목록 조회
Dev (개발 기록)
dev-log-progress: 개발 진행 상황 기록dev-decision: 기술적 결정 사항(ADR) 기록dev-todo: 개발 TODO 추가dev-idea: 개발 아이디어 기록dev-get-project-logs: 프로젝트 개발 로그 조회
MCP 리소스
URI | 설명 |
| 핵심 개념 설계 문서 |
| 사용자 플로우 문서 |
| 프로젝트 아키텍처 |
| MCP 도구 참조 |
| 동적 개념 문서 조회 |
동작 원리
아키텍처 개요
주요 컴포넌트
MCP Tools (
src/tools/)MCP Protocol의 Tool 제공
사용자 요청을 Logseq API 호출로 변환
입력 검증 (Zod 스키마)
MCP Resources (
src/resources/)정적 문서 및 컨텍스트 제공
프로젝트 개념 문서 노출
MCP Prompts (
src/prompts/)개발 워크플로우 템플릿
AI 에이전트 가이드라인
Logseq Client (
src/logseq/)Logseq HTTP API 래퍼
에러 처리 및 타입 안전성
따라하기 가이드
단계 1: Logseq 설정
Logseq 설치
Logseq 공식 사이트 에서 다운로드
HTTP Server 활성화
Logseq 실행 → Settings → Advanced → API Server ✅ Enable HTTP APIs server Port: 12315 (기본값)API Token 생성
Settings → Advanced → API Server → Generate Token → 토큰 복사 (예: abc123def456...)
단계 2: MCP 서버 설정
프로젝트 클론 및 설치
cd logseq-mcp pnpm install환경 변수 설정
# .env 파일 생성 cat > .env << 'EOF' # Logseq 연결 설정 LOGSEQ_HOST=127.0.0.1 LOGSEQ_PORT=12315 LOGSEQ_TOKEN=your-api-token-here # 프로젝트 설정 PROJECT_NAME=ego DOCS_PATH=../concepts EOF # 실제 토큰으로 교체 # vi .env 로 LOGSEQ_TOKEN 수정서버 시작
pnpm run start:dev정상 실행 시 출력:
[Nest] 12345 - 12/02/2024, 10:00:00 AM LOG [NestFactory] Starting Nest application... [Nest] 12345 - 12/02/2024, 10:00:00 AM LOG [InstanceLoader] AppModule dependencies initialized [Nest] 12345 - 12/02/2024, 10:00:00 AM LOG [McpServer] MCP Server started
단계 3: VS Code GitHub Copilot 연동 (권장)
VS Code 1.85+ 버전과 GitHub Copilot 확장이 필요합니다.
mcp.json 파일 복사 및 수정
# 워크스페이스 설정 (프로젝트별 설정) mkdir -p .vscode cp logseq-mcp/mcp.json.example .vscode/mcp.json # mcp.json 수정 code .vscode/mcp.jsonmcp.json 설정 형식
{ "$schema": "https://raw.githubusercontent.com/microsoft/vscode/main/extensions/chat/syntaxes/mcp.schema.json", "servers": { "logseq-mcp": { "command": "node", "args": [ "/path/to/logseq-mcp/dist/main.js" ], "env": { "LOGSEQ_HOST": "127.0.0.1", "LOGSEQ_PORT": "12315", "LOGSEQ_TOKEN": "your-logseq-api-token", "PROJECT_NAME": "my-project", "DOCS_PATH": "/path/to/docs" } } } }환경 변수 활용 (팀 공유 시 권장)
{ "servers": { "logseq-mcp": { "command": "node", "args": ["${workspaceFolder}/logseq-mcp/dist/main.js"], "env": { "LOGSEQ_HOST": "127.0.0.1", "LOGSEQ_PORT": "12315", "LOGSEQ_TOKEN": "${env:LOGSEQ_TOKEN}", "PROJECT_NAME": "ego", "DOCS_PATH": "${workspaceFolder}/concepts" } } } }# 각 팀원이 환경 변수 설정 export LOGSEQ_TOKEN=your-personal-tokenVS Code 재시작 후 GitHub Copilot Chat에서 사용
단계 4: Claude Desktop 연결 (대안)
Claude Desktop 설정 파일 열기
# macOS open ~/Library/Application\ Support/Claude/claude_desktop_config.json # 또는 직접 편집 code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonMCP 서버 추가
{ "mcpServers": { "logseq-mcp": { "command": "node", "args": [ "/path/to/logseq-mcp/dist/main.js" ], "env": { "LOGSEQ_HOST": "127.0.0.1", "LOGSEQ_PORT": "12315", "LOGSEQ_TOKEN": "your-api-token-here", "PROJECT_NAME": "my-project", "DOCS_PATH": "/path/to/docs" } } } }빌드 및 재시작
# MCP 서버 빌드 cd logseq-mcp pnpm run build # Claude Desktop 재시작
단계 5: 실제 사용 예시
Claude Desktop에서 다음과 같이 테스트:
예시 1: 오늘 할 일 기록
예시 2: 페이지 생성
예시 3: 검색
예시 4: 개발 기록 (Dev Tool)
단계 6: 고급 활용
프로젝트 특화 설정
개발 프롬프트 활용
Claude에서 다음 프롬프트 사용:
트러블슈팅
1. "Connection refused" 에러
2. "Invalid token" 에러
3. MCP 도구가 보이지 않음
4. 개념 문서를 찾을 수 없음
개발자 가이드
새로운 Tool 추가하기
Tool 파일 생성 (
src/tools/my-new.tool.ts)import { Injectable } from '@nestjs/common'; import { McpTool, ToolResult } from '@rekog/mcp-nest'; import { z } from 'zod'; import { LogseqClient } from '../logseq/logseq.client'; @Injectable() export class MyNewTool { constructor(private readonly logseq: LogseqClient) {} @McpTool({ name: 'my_new_tool', description: '새로운 기능 설명', schema: z.object({ param: z.string().describe('파라미터 설명'), }), }) async execute(args: { param: string }): Promise<ToolResult> { const result = await this.logseq.someApiCall(args.param); return { content: [{ type: 'text', text: JSON.stringify(result) }], }; } }ToolsModule에 등록 (
src/tools/tools.module.ts)@Module({ imports: [LogseqModule], providers: [ // ... 기존 도구들 MyNewTool, ], }) export class ToolsModule {}테스트 및 빌드
pnpm run build pnpm run start:dev
디버깅
🔒 보안 가이드
민감 정보 취급
⚠️ 중요: 다음을 절대 저장소에 커밋하지 마세요
API 토큰 (LOGSEQ_TOKEN)
비밀번호
개인 정보 (이메일, 전화번호, 주소)
사용자 이름이 포함된 절대 경로
안전한 관리법
환경 변수 사용
# 로컬 개발 export LOGSEQ_TOKEN="your-token" pnpm run start:dev.env 파일 관리
.env파일은.gitignore에 등록되어 있습니다.env.example만 저장소에 커밋하세요
토큰 노출 시 대응
Logseq에서 즉시 토큰 폐기 및 새 토큰 발급
모든 클라이언트에서 새 토큰으로 업데이트
코드 리뷰
절대 경로나 토큰이 로그/에러 메시지에 노출되지 않는지 확인
민감한 데이터는 마스킹하여 로깅
라이선스
MIT