KM

kazuph/mcp-docs-rag

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

17 stars 11 forks 품질 55 트렌드 21

RAG (Retrieval-Augmented Generation) for documents in a local directory

개요

RAG (Retrieval-Augmented Generation) for documents in a local directory This is a TypeScript-based MCP server that implements a RAG system for documents stored in a local directory. It allows users to query documents using LLMs with context from locally stored repositories and text files. - List and access documents via docs:// URIs - Documents can be Git repositories or text files - Plain text mime type for content access - list_documents - List all available documents in the DOCS_PATH directory - Returns a formatted list of all documents - Shows total number of available documents - rag_query - Query documents using RAG - Takes document_id and query as parameters - Returns AI-generated responses with context from documents - add_git_repository - Clone a Git repository to the docs directory with optional sparse checkout - Takes repository_url as parameter - Optional document_name parameter to customize the name of the document (use simple descriptive names without '-docs' suffix)...

README

원문 README의 일부입니다. 원문 보기.

mcp-docs-rag MCP Server

RAG (Retrieval-Augmented Generation) for documents in a local directory

This is a TypeScript-based MCP server that implements a RAG system for documents stored in a local directory. It allows users to query documents using LLMs with context from locally stored repositories and text files.

Features

Resources

  • List and access documents via docs:// URIs
  • Documents can be Git repositories or text files
  • Plain text mime type for content access

Tools

  • list_documents - List all available documents in the DOCS_PATH directory
    • Returns a formatted list of all documents
    • Shows total number of available documents
  • rag_query - Query documents using RAG
    • Takes document_id and query as parameters
    • Returns AI-generated responses with context from documents
  • add_git_repository - Clone a Git repository to the docs directory with optional sparse checkout
    • Takes repository_url as parameter
    • Optional document_name parameter to customize the name of the document (use simple descriptive names without ‘-docs’ suffix)
    • Optional subdirectory parameter for sparse checkout of specific directories
    • Automatically pulls latest changes if repository already exists
  • add_text_file - Download a text file to the docs directory
    • Takes file_url as parameter
    • Uses wget to download file

Prompts

  • guide_documents_usage - Guide on how to use documents and RAG functionality
    • Includes list of available documents
    • Provides usage hints for RAG functionality

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Setup

This server requires a local directory for storing documents. By default, it uses ~/docs but you can configure a different location with the DOCS_PATH environment variable.

Document Structure

The documents directory can contain:

  • Git repositories (cloned directories)
  • Plain text files (with .txt extension)

Each document is indexed separately using llama-index.ts with Google’s Gemini embeddings.

API Keys

This server uses Google’s Gemini API for document indexing and querying. You need to set your Gemini API key as an environment variable:

export GEMINI_API_KEY=your-api-key-here

You can obtain a Gemini API key from the Google AI Studio website. Add this key to your shell profile or include it in the environment configuration for Claude Desktop.

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json On Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "docs-rag": {
      "command": "npx",
      "args": ["-y", "@kazuph/mcp-docs-rag"],
      "env": {
        "DOCS_PATH": "/Users/username/docs",
GitHub에서 전체 README 보기

설치

npx -y @kazuph/mcp-docs-rag
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "docs-rag": { "command": "npx", "args": ["-y", "@kazuph/mcp-docs-rag"], "env": { "DOCS_PATH": "/Users/username/docs", "GEMINI_API_KEY": "your-api-key-here" } } } }