MCP Documentation Server
MCP Documentation Server
로컬 우선 문서 관리 및 AI 코딩 에이전트를 위한 의미론적 검색. 외부 데이터베이스, 클라우드 API, 벤더 종속 없음.
CLI 전용인 다른 MCP 서버와 달리, 이 서버는 전체 웹 대시보드를 제공합니다 — 브라우저에서 지식 기반을 탐색, 검색, 업로드, 관리할 수 있습니다. 모든 MCP 도구는 REST API로도 노출되어 AI 에이전트에게 간결하고 스키마 없는 인터페이스를 제공합니다.
🏠 완전 오프라인 실행 — Orama 벡터 DB와 로컬 AI 임베딩(Transformers.js)
🌐 내장 웹 UI — MCP 서버와 함께 포트 3080에서 자동 시작
🔍 하이브리드 검색 — 전체 텍스트 + 벡터 유사도, 부모-자식 청킹
🤖 선택적 AI 검색 — 고급 문서 분석을 위한 Google Gemini (자체 키 사용)
📁 드래그 앤 드롭 업로드 —
.txt,.md,.pdf지원📦 MCP Registry에 게시 — npx로 설치 가능, 클론 불필요
빠른 시작
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"]
}
}
}🤖 에이전트 스킬 (REST API) — AI 에이전트에게 권장
모든 MCP 도구는 ``의 REST API를 통해서도 접근할 수 있습니다. 이는 AI 에이전트(Claude Code, OpenCode, Gemini CLI, Cursor)와 상호작용하는 권장 방법입니다. MCP 도구 스키마를 대화 컨텍스트에 로드하지 않아도 되고, 응답 JSON만 들어오기 때문입니다.
-H "Content-Type: application/json" \
-d '{"query": "your search", "limit": 5}'사용 준비가 된 스킬이 skills/documentation-server/SKILL.md에 포함되어 있습니다 — 에이전트에게 모든 엔드포인트를 예제와 함께 가르칩니다. 설치 방법:
npx skills add https://github.com/Unity-Billal-mesloub/mcp-documentation-server --skill documentation-server기본 워크플로우
add_document을 사용하여 문서를 추가하거나 업로드 폴더에.txt/.md/.pdf파일을 넣고process_uploads를 호출하세요.search_all_documents로 전체를 검색하거나search_documents로 단일 문서 내에서 검색하세요.get_context_window를 사용하여 인접한 청크를 가져와 LLM에 더 넓은 컨텍스트를 제공하세요.
Related MCP server: OpenLMlib
웹 UI
웹 인터페이스는 MCP 서버가 시작될 때 포트 3080에서 자동으로 시작됩니다. 웹 UI에서 다음을 할 수 있습니다:
📊 대시보드 — 모든 문서 및 통계 개요
📄 문서 — 문서 탐색, 보기, 삭제
➕ 문서 추가 — 제목, 내용, 메타데이터로 문서 생성
🔍 전체 검색 — 모든 문서에 대한 의미론적 검색
🎯 문서 내 검색 — 특정 문서 내에서 검색
🤖 AI 검색 — Gemini 기반 분석 (
GEMINI_API_KEY설정 시)📁 파일 업로드 — 파일을 드래그 앤 드롭하여 지식 기반으로 처리
🪟 컨텍스트 창 — 특정 인덱스 주변의 청크 탐색
MCP 클라이언트 구성
최소 설정
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"]
}
}
}환경 변수 사용 (모두 선택 사항)
{
"mcpServers": {
"documentation": {
"command": "npx",
"args": ["-y", "@Unity-Billal-mesloub/mcp-documentation-server"],
"env": {
"MCP_BASE_DIR": "/path/to/workspace",
"GEMINI_API_KEY": "your-api-key-here",
"MCP_EMBEDDING_MODEL": "Xenova/all-MiniLM-L6-v2",
"START_WEB_UI": "true",
"WEB_HOST": "127.0.0.1",
"WEB_PORT": "3080"
}
}
}
}모든 환경 변수는 선택 사항입니다. GEMINI_API_KEY가 없으면 로컬 임베딩 기반 검색 도구만 사용할 수 있습니다.
MCP 도구
서버는 다음 도구를 등록합니다 (모두 Zod 스키마로 검증됨):
📄 문서 관리
Tool | 설명 |
| 문서 추가 (제목, 내용, 선택적 메타데이터) |
| 모든 문서를 메타데이터 및 내용 미리보기와 함께 나열 |
| ID로 문서의 전체 내용 검색 |
| 문서, 해당 청크, 데이터베이스 항목 및 관련 파일 제거 |
📁 파일 처리
Tool | 설명 |
| 업로드 폴더의 모든 파일 처리 (청킹 + 임베딩) |
| 업로드 폴더의 절대 경로 반환 |
| 업로드 폴더의 파일을 크기 및 형식 정보와 함께 나열 |
| 웹 UI URL 반환 (예: http://localhost:3080) — 대시보드를 열거나 브라우저에서 업로드 폴더를 찾는 데 유용 |
🔍 검색
Tool | 설명 |
| 특정 문서 내 의미론적 벡터 검색 |
| 하이브리드 (전체 텍스트 + 벡터) 문서 간 검색 |
| 주어진 청크 인덱스 주변의 청크 창 반환 |
| 🤖 Gemini를 사용한 AI 기반 검색 ( |
구성
환경 변수 또는 프로젝트 루트의 .env 파일을 통해 구성합니다:
Variable | Default | 설명 |
|
| 데이터 저장을 위한 기본 디렉터리 |
|
| 임베딩 모델 이름 |
| — | Google Gemini API 키 ( |
|
| LRU 임베딩 캐시 활성화/비활성화 |
|
|
|
|
| 웹 UI 바인드 주소 ( |
|
| 웹 UI 포트 |
|
| 대용량 파일의 스트리밍 읽기 활성화 |
|
| 스트리밍 버퍼 크기 (바이트, 64KB) |
|
| 스트리밍으로 전환하는 임계값 (10MB) |
저장소 구조
~/.mcp-documentation-server/ # Or custom path via MCP_BASE_DIR
├── data/
│ ├── orama-chunks.msp # Orama vector DB (child chunks + embeddings)
│ ├── orama-docs.msp # Orama document DB (full content + metadata)
│ ├── orama-parents.msp # Orama parent chunks DB (context sections)
│ ├── migration-complete.flag # Written after legacy JSON migration
│ └── *.md # Markdown copies of documents
└── uploads/ # Drop .txt, .md, .pdf files here임베딩 모델
MCP_EMBEDDING_MODEL로 설정:
Model | Dimensions | 설명 |
| 384 | 기본 — 빠르고 품질 좋음 |
| 768 | 권장 — 최고 품질, 다국어 지원 |
모델은 처음 사용할 때 다운로드됩니다 (~80–420 MB). 벡터 차원은 공급자로부터 자동으로 결정됩니다.
⚠️ 중요: 임베딩 모델을 변경하면 모든 문서를 다시 추가해야 합니다 — 서로 다른 모델의 임베딩은 호환되지 않습니다. 차원이 변경되면 Orama 데이터베이스가 자동으로 재생성됩니다.
아키텍처
Server (FastMCP, stdio)
├─ Web UI (Express, port 3080)
│ └─ REST API → DocumentManager
└─ MCP Tools
└─ DocumentManager
├─ OramaStore — Orama vector DB (chunks DB + docs DB + parents DB), persistence, migration
├─ IntelligentChunker — Parent-child chunking (code, markdown, text, PDF)
├─ EmbeddingProvider — Local embeddings via @xenova/transformers
│ └─ EmbeddingCache — LRU in-memory cache
└─ GeminiSearchService — Optional AI search via Google GeminiOramaStore는 세 개의 Orama 인스턴스를 관리합니다: 문서 메타데이터/내용용, 벡터 임베딩이 있는 하위 청크용, 상위 청크(컨텍스트 섹션)용. 모두 디스크의 이진 파일로 저장되고 시작 시 복원됩니다.
IntelligentChunker는 부모-자식 청킹 패턴을 구현합니다: 문서는 먼저 전체 컨텍스트(섹션, 단락)를 보존하는 큰 상위 청크로 분할된 다음, 각 상위 청크는 정밀한 벡터 검색을 위해 작은 하위 청크로 다시 분할됩니다. 쿼리 시 결과는 상위 청크별로 중복 제거되어 LLM이 일치하는 조각과 더 넓은 컨텍스트를 모두 받습니다.
EmbeddingProvider는 로컬 추론을 위해 Transformers.js 모델을 지연 로드합니다 — API 호출이 필요 없습니다.
개발
git clone https://github.com/Unity-Billal-mesloub/mcp-documentation-server.git
cd mcp-documentation-server
npm installnpm run dev # FastMCP dev mode with hot reload
npm run build # TypeScript compilation
npm run inspect # FastMCP web UI for interactive tool testing
npm start # Direct tsx execution (MCP server + web UI)
npm run web # Run only the web UI (development)
npm run web:build # Run only the web UI (compiled)기여
저장소를 포크하세요
기능 브랜치를 생성하세요:
git checkout -b feature/name커밋 메시지에 Conventional Commits 규칙을 따르세요
풀 리퀘스트를 여세요
지원
📖 문서
🐛 이슈 보고
💬 MCP 커뮤니티
🤖 Google AI Studio — Gemini API 키 받기
스타 기록
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables any MCP-compatible AI assistant to search, filter, and retrieve information from a local document collection using a hybrid search pipeline with vector, BM25, reranking, and LLM enrichment.4
- AlicenseNot gradedqualityAmaintenanceProvides AI assistants with a local knowledge base and research library, enabling semantic and full-text retrieval, memory persistence, and multi-agent collaboration via 58 MCP tools.2MIT
- FlicenseNot gradedqualityDmaintenanceProvides tools for ingesting documents into a local vector database and retrieving relevant information via semantic search, enabling retrieval-augmented generation for MCP clients.6
- FlicenseAqualityBmaintenanceA local-first document retrieval engine that mounts as an MCP tool for agents to index files, search for relevant passages, and let the agent's own LLM answer.4
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Unity-Billal-mesloub/mcp-documentation-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server