jobs-tools-knowledgebase
Provides a Notion-style knowledge base management system with MongoDB Atlas as the database backend, enabling CRUD operations on projects and pages, tree structure, and search.
Click on "Deploy 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., "@jobs-tools-knowledgebase Create a new project called 'Personal Wiki'"
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.
Jobs-tools-knowledgeBase
MongoDB Atlas 기반 Notion 스타일 지식베이스 관리 MCP(Model Context Protocol) 도구입니다.
🎯 기능
사용자 워크스페이스 격리: 고유 키로 데이터 분리 보안
프로젝트 관리: 여러 프로젝트 생성 및 관리
페이지 CRUD: 마크다운 형식의 페이지 생성/수정/삭제
트리 구조: Notion처럼 부모-자식 계층 구조 지원
검색 기능: 제목과 본문에서 텍스트 검색
MongoDB Atlas 무료 티어: 클라우드 기반, 무료로 사용 가능
Related MCP server: obsidian-kb
📦 설치 및 설정
1단계: MongoDB Atlas 설정
MongoDB Atlas 무료 계정 생성
무료 클러스터 생성 (M0 Sandbox)
Database User 생성
Network Access에서 현재 IP 추가 (또는
0.0.0.0/0모든 IP 허용)연결 문자열 복사:
mongodb+srv://<username>:<password>@<cluster>.mongodb.net/?retryWrites=true&w=majority
2단계: 환경 변수 설정
프로젝트 루트에 .env 파일 생성:
# User Key (처음에는 비워둠 - 도구가 생성해줍니다)
JOBS_TOOLS_USER_KEY=
# MongoDB Atlas 연결 정보
MONGODB_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/?retryWrites=true&w=majority
MONGODB_DB=jobs_tools_knowledge3단계: MCP 설정 파일에 추가
사용 중인 MCP 클라이언트의 설정 파일 또는 프로젝트 루트 mcp.json에 다음을 추가하세요:
macOS (예시):
~/Library/Application Support/YourClient/config.json
{
"mcpServers": {
"knowledgeBase": {
"command": "npx",
"args": ["-y", "jobs-tools-knowledgebase"],
"env": {
"JOBS_TOOLS_USER_KEY": "",
"MONGODB_URI": "mongodb+srv://...",
"MONGODB_DB": "jobs_tools_knowledge"
}
}
}
}Windows (예시):
%APPDATA%\\YourClient\\config.json
{
"mcpServers": {
"knowledgeBase": {
"command": "npx.cmd",
"args": ["-y", "jobs-tools-knowledgebase"],
"env": {
"JOBS_TOOLS_USER_KEY": "",
"MONGODB_URI": "mongodb+srv://...",
"MONGODB_DB": "jobs_tools_knowledge"
}
}
}
}4단계: 초기 설정
MCP 클라이언트에서 아래 문구로 초기화하세요:
업무 세팅하자→ 사용자 키 생성 → 환경 변수에 저장 → 클라이언트 재시작
업무 시작하자→ MongoDB 연결 확인 → 프로젝트 및 페이지 사용 시작!
처음 실행 시 자동 응답 예시 (env에 키가 없을 때)
처음 채팅을 시작하면 MCP가 JOBS_TOOLS_USER_KEY 여부를 확인합니다. 없으면 아래 형식으로 키와 안내 메시지를 반환합니다:
{
"userKey": "random-0ser-id",
"message": "새 사용자 키를 발급했습니다. MCP 설정(env)의 JOBS_TOOLS_USER_KEY에 저장한 뒤, 클라이언트를 재시작하고 다시 대화를 시작해주세요."
}OS별 env 저장 위치는 위의 MCP 설정 파일 예시(macOS/Windows)를 참고하세요. 재시작 후에는 키가 자동 인식되며, 이어서 MongoDB 연결 점검과 프로젝트 작업을 진행합니다.
🚀 사용법
초기 설정
업무 세팅하자도구가 사용자 키를 생성하고 반환합니다. 이 키를 MCP 설정의 JOBS_TOOLS_USER_KEY에 저장하세요.
MongoDB 연결 확인
MongoDB 연결 상태 확인해줘프로젝트 생성
"개인 노트" 프로젝트 만들어줘프로젝트 목록 조회
내 프로젝트 목록 보여줘페이지 생성
"개인 노트" 프로젝트에 "회의록" 페이지 만들어줘
내용: # 2025-01-15 팀 미팅
- 참석자: A, B, C
- 안건: 프로젝트 계획페이지 조회
프로젝트 [projectId]의 페이지 [pageId] 내용 보여줘트리 구조 조회
"개인 노트" 프로젝트의 페이지 구조 보여줘페이지 이동
페이지 [pageId]를 부모 [parentId] 아래로 이동해줘페이지 검색
"개인 노트" 프로젝트에서 "회의록" 검색해줘📋 API
Jobs-tools-knowledgeBase-getOrCreateUserKey
사용자 키 가져오기 또는 생성
입력: 없음
출력:
userKey: 사용자 고유 키hint: 안내 메시지
Jobs-tools-knowledgeBase-checkMongo
MongoDB 연결 상태 확인
입력: 없음
출력:
ok: 연결 성공 여부message: 상태 메시지
Jobs-tools-knowledgeBase-createProject
프로젝트 생성
입력:
name(string, 필수): 프로젝트 이름description(string, 선택): 프로젝트 설명
출력:
projectId: 생성된 프로젝트 ID
Jobs-tools-knowledgeBase-listProjects
프로젝트 목록 조회
입력: 없음
출력:
projects: 프로젝트 배열projectId: 프로젝트 IDname: 프로젝트 이름description: 프로젝트 설명createdAt: 생성 시간
Jobs-tools-knowledgeBase-upsertPage
페이지 생성 또는 갱신
입력:
projectId(string, 필수): 프로젝트 IDpageId(string, 선택): 페이지 ID (갱신 시 필요)title(string, 필수): 페이지 제목content(string, 필수): 페이지 내용 (마크다운)parentId(string, 선택): 부모 페이지 IDorder(number, 선택): 정렬 순서tags(string[], 선택): 태그 배열
출력:
pageId: 생성/갱신된 페이지 ID
Jobs-tools-knowledgeBase-getPage
페이지 조회
입력:
projectId(string, 필수): 프로젝트 IDpageId(string, 필수): 페이지 ID
출력:
page: 페이지 정보pageId: 페이지 IDtitle: 제목content: 내용parentId: 부모 페이지 IDorder: 정렬 순서tags: 태그 배열createdAt: 생성 시간updatedAt: 수정 시간
Jobs-tools-knowledgeBase-deletePage
페이지 삭제
입력:
projectId(string, 필수): 프로젝트 IDpageId(string, 필수): 페이지 ID
출력:
deleted: 삭제 성공 여부
Jobs-tools-knowledgeBase-getTree
페이지 트리 구조 조회
입력:
projectId(string, 필수): 프로젝트 ID
출력:
tree: 트리 구조 배열 (재귀적)pageId: 페이지 IDtitle: 제목order: 정렬 순서children: 자식 페이지 배열
Jobs-tools-knowledgeBase-movePage
페이지 이동
입력:
projectId(string, 필수): 프로젝트 IDpageId(string, 필수): 페이지 IDnewParentId(string, 필수): 새 부모 페이지 ID (루트는 null)newOrder(number, 선택): 새 정렬 순서
출력:
moved: 이동 성공 여부
Jobs-tools-knowledgeBase-search
페이지 검색 (제목 및 본문)
입력:
projectId(string, 필수): 프로젝트 IDquery(string, 필수): 검색어
출력:
results: 검색 결과 배열pageId: 페이지 IDtitle: 페이지 제목snippet: 검색어 주변 텍스트 스니펫
🔧 개발자 정보
기술 스택
언어: JavaScript (ES Modules)
프레임워크: Model Context Protocol SDK
데이터베이스: MongoDB Atlas
스키마 검증: Zod
로컬 개발
# 저장소 클론
git clone [repository-url]
cd Jobs-tools-knowledgeBase
# 의존성 설치
npm install
# 환경 변수 설정
cp env.example .env
# .env 파일 수정
# 개발 모드 실행
npm run devLint
npm run lint
npm run lint:fix📄 라이선스
MIT License
❓ 문제 해결
도구가 로드되지 않는 경우
MCP 설정 파일의 JSON 문법이 올바른지 확인
MCP 클라이언트를 완전히 재시작
터미널에서
npx -y jobs-tools-knowledgebase명령이 작동하는지 확인
MongoDB 연결 실패
MongoDB Atlas에서 IP가 허용되었는지 확인
연결 문자열의 사용자명/비밀번호 확인
네트워크 방화벽 설정 확인
사용자 키 관련 오류
JOBS_TOOLS_USER_KEY가 환경 변수에 설정되었는지 확인최초 실행 시
getOrCreateUserKey도구로 키 생성생성된 키를 MCP 설정의 env에 저장 후 재시작
🤝 기여
이슈나 풀 리퀘스트를 환영합니다!
📞 연락처
Author: JobsTools
Repository: [GitHub 링크]
Available Tools
30 toolsJobs-tools-knowledgeBase-addUserContextB
Add user context from natural language with auto-classification. Creates Zettelkasten notes for context content and stores references in user profile. Integrates with unified knowledge base for tag-based discovery.
Inputs: context (required), category, autoClassify.
Jobs-tools-knowledgeBase-archiveNoteA
Archive note (move to archived status) in Zettelkasten lifecycle. Archives rarely accessed notes while preserving them for future reference. Archived notes are still searchable but have lower priority.
Inputs: noteId (required), reason.
Jobs-tools-knowledgeBase-autoManageNotesA
Auto-manage notes based on usage patterns in Zettelkasten lifecycle. Automatically promotes frequently accessed notes to long-term memory and archives rarely used notes based on access count and recency.
Inputs: no named parameters.
Jobs-tools-knowledgeBase-checkMongoB
Check MongoDB connection status
Inputs: no named parameters.
Jobs-tools-knowledgeBase-createGuideNoteA
Create Zettelkasten guide note with auto-linking by tags. This tool implements the Zettelkasten method for knowledge management - creates atomic notes that automatically link to related concepts through tag matching. Use for creating interconnected knowledge networks.
Inputs: content (required), tags, title.
Jobs-tools-knowledgeBase-createProjectA
Create a new project
Inputs: name (required), description.
Jobs-tools-knowledgeBase-createZettelkastenNoteB
Create strategic Zettelkasten note with auto-linking and lifecycle management. Creates atomic notes with automatic tag-based linking, usage tracking, and status management for optimal knowledge organization.
Inputs: title (required), content (required), tags, type, +1 more.
Jobs-tools-knowledgeBase-deleteGuideNoteA
Delete a guide note and remove its links (DANGER: Irreversible)
Inputs: noteId (required).
Jobs-tools-knowledgeBase-deletePageC
Delete a page
Inputs: pageId (required), projectId (required).
Jobs-tools-knowledgeBase-deleteProjectA
Delete entire project and all its pages (DANGER: Irreversible)
Inputs: projectId (required).
Jobs-tools-knowledgeBase-deleteUserContextB
Delete user context data (DANGER: Irreversible)
Inputs: category, clearAll.
Jobs-tools-knowledgeBase-deleteUserContextItemA
Soft delete specific user context item by ID in Zettelkasten lifecycle. Marks note as 'deleted' status while preserving content for potential restoration. Updates Zettelkasten note status and access tracking.
Inputs: itemId (required).
Jobs-tools-knowledgeBase-evolveZettelkastenTagsB
Evolve and optimize Zettelkasten tags for better knowledge organization. Merges similar tags, splits overly broad tags, and refines tag taxonomy based on usage patterns and semantic relationships.
Inputs: noteId, mergeTags, splitTags.
Jobs-tools-knowledgeBase-getGuideNetworkA
Get guide note graph (nodes/edges) showing the complete Zettelkasten knowledge network. Returns interconnected notes and their relationships for visualization and analysis.
Inputs: no named parameters.
Jobs-tools-knowledgeBase-getOrCreateUserKeyB
Get existing user key or create a new one
Inputs: no named parameters.
Jobs-tools-knowledgeBase-getPageB
Get a page by ID
Inputs: pageId (required), projectId (required).
Jobs-tools-knowledgeBase-getTreeC
Get page tree structure
Inputs: projectId (required).
Jobs-tools-knowledgeBase-getUserProfileB
Get or create user profile with memory context
Inputs: no named parameters.
Jobs-tools-knowledgeBase-getZettelkastenInsightsA
Extract insights and patterns from Zettelkasten knowledge base. Analyzes note relationships, usage patterns, tag evolution, and knowledge gaps to provide strategic recommendations for knowledge management optimization.
Inputs: status, timeframe, minAccessCount.
Jobs-tools-knowledgeBase-linkGuideNotesA
Link two guide notes bidirectionally in the Zettelkasten network. Creates explicit connections between notes for enhanced knowledge discovery and navigation.
Inputs: sourceId (required), targetId (required).
Jobs-tools-knowledgeBase-listProjectsB
List all projects
Inputs: no named parameters.
Jobs-tools-knowledgeBase-movePageB
Move a page to a new parent
Inputs: pageId (required), projectId (required), newParentId (required), newOrder.
Jobs-tools-knowledgeBase-promoteToLongTermA
Promote candidate note to long-term memory in Zettelkasten lifecycle. Moves frequently accessed notes from 'candidate' to 'long-term' status for permanent retention and enhanced discoverability.
Inputs: noteId (required), additionalTags.
Jobs-tools-knowledgeBase-resetUserProfileA
Reset user profile to default values (DANGER: Irreversible)
Inputs: keepUserKey.
Jobs-tools-knowledgeBase-searchA
Search pages by title or content
Inputs: query (required), projectId (required).
Jobs-tools-knowledgeBase-searchByTagA
Search all notes by tag across all types in the unified Zettelkasten knowledge base. Searches user context, project notes, and guide notes simultaneously. Updates access tracking for discovered notes.
Inputs: tag (required), status.
Jobs-tools-knowledgeBase-undeleteUserContextItemA
Restore soft deleted user context item by ID in Zettelkasten lifecycle. Changes note status from 'deleted' back to 'candidate' for renewed access and usage tracking.
Inputs: itemId (required).
Jobs-tools-knowledgeBase-updateProjectStatusC
Update project status and milestones
Inputs: projectName (required), notes, status, milestone, +2 more.
Jobs-tools-knowledgeBase-updateUserProfileB
Update user profile with merge behavior
Inputs: updates (required).
Jobs-tools-knowledgeBase-upsertPageC
Create or update a page
Inputs: title (required), content (required), projectId (required), tags, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 30 tools
Multiple tools overlap significantly, especially createGuideNote vs createZettelkastenNote and the lifecycle trio of promoteToLongTerm, archiveNote, and autoManageNotes. User context deletion tools (deleteUserContext, deleteUserContextItem, resetUserProfile) also have unclear boundaries.
The function parts follow a camelCase verb_noun pattern, but there are notable deviations like 'search' (vague), 'checkMongo' (system check), and 'getTree' (incomplete object). The long server-name prefix is consistent, but the overall naming feels cluttered and somewhat inconsistent.
30 tools is beyond the 'heavy' threshold (25+). The server attempts to cover three distinct domains (pages/projects, Zettelkasten, user profile), which expands the surface unnecessarily. This count risks overwhelming agents with too many choices.
The tool set covers many CRUD operations for pages, projects, and user context, plus advanced Zettelkasten features. However, there is no direct get/update Zettelkasten note tool (only network view and search), and no get/list notes for the general knowledge base, leaving notable gaps in the basic note lifecycle.
Maintenance
Related MCP Connectors
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Hosted Notion MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA cross-project knowledge base MCP server supporting three-layer search (text matching, TF-IDF, and semantic vectors) with a Web UI for management.40 npmMIT
- FlicenseCqualityDmaintenanceGit-backed MCP server for creating and maintaining an Obsidian-style markdown knowledge base with full CRUD, search, and git sync.7-
- FlicenseAqualityDmaintenanceA note-taking knowledge base MCP server that enables CRUD operations on notes with tags, resource listing/detail, and prompt-based analysis and brainstorming.4-
- AlicenseNot gradedqualityCmaintenanceA Cloudflare-native MCP server for a consolidated knowledge base, enabling CRUD operations, search, and namespace management with versioning and audit logs.137 npm1MIT