jobs-tools-knowledgebase

jobs-tools-knowledgebase

A MongoDB Atlas-based Notion-style knowledge base management MCP server that supports user workspaces, project management, page CRUD with tree structure, and text search.

Category
访问服务器

README

Jobs-tools-knowledgeBase

MongoDB Atlas 기반 Notion 스타일 지식베이스 관리 MCP(Model Context Protocol) 도구입니다.

🎯 기능

  • 사용자 워크스페이스 격리: 고유 키로 데이터 분리 보안
  • 프로젝트 관리: 여러 프로젝트 생성 및 관리
  • 페이지 CRUD: 마크다운 형식의 페이지 생성/수정/삭제
  • 트리 구조: Notion처럼 부모-자식 계층 구조 지원
  • 검색 기능: 제목과 본문에서 텍스트 검색
  • MongoDB Atlas 무료 티어: 클라우드 기반, 무료로 사용 가능

📦 설치 및 설정

1단계: MongoDB Atlas 설정

  1. MongoDB Atlas 무료 계정 생성
  2. 무료 클러스터 생성 (M0 Sandbox)
  3. Database User 생성
  4. Network Access에서 현재 IP 추가 (또는 0.0.0.0/0 모든 IP 허용)
  5. 연결 문자열 복사:
    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_knowledge

3단계: 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: 프로젝트 ID
    • name: 프로젝트 이름
    • description: 프로젝트 설명
    • createdAt: 생성 시간

Jobs-tools-knowledgeBase-upsertPage

페이지 생성 또는 갱신

입력:

  • projectId (string, 필수): 프로젝트 ID
  • pageId (string, 선택): 페이지 ID (갱신 시 필요)
  • title (string, 필수): 페이지 제목
  • content (string, 필수): 페이지 내용 (마크다운)
  • parentId (string, 선택): 부모 페이지 ID
  • order (number, 선택): 정렬 순서
  • tags (string[], 선택): 태그 배열

출력:

  • pageId: 생성/갱신된 페이지 ID

Jobs-tools-knowledgeBase-getPage

페이지 조회

입력:

  • projectId (string, 필수): 프로젝트 ID
  • pageId (string, 필수): 페이지 ID

출력:

  • page: 페이지 정보
    • pageId: 페이지 ID
    • title: 제목
    • content: 내용
    • parentId: 부모 페이지 ID
    • order: 정렬 순서
    • tags: 태그 배열
    • createdAt: 생성 시간
    • updatedAt: 수정 시간

Jobs-tools-knowledgeBase-deletePage

페이지 삭제

입력:

  • projectId (string, 필수): 프로젝트 ID
  • pageId (string, 필수): 페이지 ID

출력:

  • deleted: 삭제 성공 여부

Jobs-tools-knowledgeBase-getTree

페이지 트리 구조 조회

입력:

  • projectId (string, 필수): 프로젝트 ID

출력:

  • tree: 트리 구조 배열 (재귀적)
    • pageId: 페이지 ID
    • title: 제목
    • order: 정렬 순서
    • children: 자식 페이지 배열

Jobs-tools-knowledgeBase-movePage

페이지 이동

입력:

  • projectId (string, 필수): 프로젝트 ID
  • pageId (string, 필수): 페이지 ID
  • newParentId (string, 필수): 새 부모 페이지 ID (루트는 null)
  • newOrder (number, 선택): 새 정렬 순서

출력:

  • moved: 이동 성공 여부

Jobs-tools-knowledgeBase-search

페이지 검색 (제목 및 본문)

입력:

  • projectId (string, 필수): 프로젝트 ID
  • query (string, 필수): 검색어

출력:

  • results: 검색 결과 배열
    • pageId: 페이지 ID
    • title: 페이지 제목
    • 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 dev

Lint

npm run lint
npm run lint:fix

📄 라이선스

MIT License

❓ 문제 해결

도구가 로드되지 않는 경우

  1. MCP 설정 파일의 JSON 문법이 올바른지 확인
  2. MCP 클라이언트를 완전히 재시작
  3. 터미널에서 npx -y jobs-tools-knowledgebase 명령이 작동하는지 확인

MongoDB 연결 실패

  1. MongoDB Atlas에서 IP가 허용되었는지 확인
  2. 연결 문자열의 사용자명/비밀번호 확인
  3. 네트워크 방화벽 설정 확인

사용자 키 관련 오류

  1. JOBS_TOOLS_USER_KEY가 환경 변수에 설정되었는지 확인
  2. 최초 실행 시 getOrCreateUserKey 도구로 키 생성
  3. 생성된 키를 MCP 설정의 env에 저장 후 재시작

🤝 기여

이슈나 풀 리퀘스트를 환영합니다!

📞 연락처

  • Author: JobsTools
  • Repository: [GitHub 링크]

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选