Docs MCP Server

by buger
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables searching any Git repository, with support for specifying branches, tags, or commit hashes, and configurable automatic updates through periodic git pulls

  • Allows chatting with GitHub repositories by downloading or cloning them for search, supporting both public and private repositories, with options for automatic updates

문서 MCP 서버

이 프로젝트는 Probe 기반의 유연한 MCP(Model Context Protocol) 서버를 제공하며, AI 도우미가 문서나 코드베이스를 검색할 수 있도록 설계되었습니다.

git 저장소나 폴더를 가리키기만 하면 코드나 문서와 대화할 수 있습니다.

지엑스피1

사용 사례:

  • 모든 GitHub 저장소와 채팅: 서버를 공개 또는 비공개 Git 저장소로 지정하여 저장소 콘텐츠에 대한 자연어 쿼리를 활성화합니다.
  • 문서 검색: 로컬 디렉토리나 Git에서 프로젝트 문서를 통합하여 쉽게 검색할 수 있습니다.
  • 사용자 정의 MCP 서버 구축: 이 프로젝트를 템플릿으로 사용하여 특정 문서 세트나 코드베이스에 맞게 공식 MCP 서버를 직접 만들어 보세요.

콘텐츠 소스(문서 또는 코드)는 npm run build 단계에서 패키지에 미리 빌드 되거나, 로컬 디렉터리 또는 Git 저장소를 사용하여 런타임에 동적으로 구성될 수 있습니다. 기본적으로 자동 업데이트를 활성화하지 않고 gitUrl 사용하면 서버는 빠른 시작을 위해 .tar.gz 아카이브를 다운로드합니다. 전체 Git 복제는 autoUpdateInterval 이 0보다 큰 경우에만 사용됩니다.

특징

  • Probe 기반: Probe 검색 엔진을 활용하여 효율적이고 관련성 있는 결과를 제공합니다.
  • 유연한 콘텐츠 소스: 특정 로컬 디렉토리를 포함하거나 Git 저장소를 복제합니다.
  • 사전 빌드 콘텐츠: 선택적으로 문서/코드 콘텐츠를 패키지에 직접 번들로 묶습니다.
  • 동적 구성: 구성 파일, CLI 인수 또는 환경 변수를 통해 콘텐츠 소스, Git 설정 및 MCP 도구 세부 정보를 구성합니다.
  • 자동 Git 업데이트: 구성 가능한 간격으로 Git 저장소에서 변경 사항을 자동으로 가져와서 콘텐츠를 최신 상태로 유지합니다.
  • 사용자 정의 가능한 MCP 도구: AI 도우미에 노출되는 검색 도구의 이름과 설명을 정의합니다.
  • AI 통합: MCP(모델 컨텍스트 프로토콜)를 지원하는 AI 어시스턴트와 원활하게 통합됩니다.

용법

이 서버를 사용하는 주요 방법은 npx 사용하는 것입니다. npx를 사용하면 로컬 설치 없이 패키지를 다운로드하고 실행할 수 있습니다. 이를 통해 AI 어시스턴트 및 MCP 클라이언트(예: IDE 확장 프로그램)와 쉽게 통합할 수 있습니다.

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 Docs MCP Server를 자동으로 설치하려면:

npx -y @smithery/cli install @buger/docs-mcp --client claude

MCP 클라이언트(예: IDE)와 통합

npx 사용하여 MCP 클라이언트가 이 서버를 실행하도록 구성할 수 있습니다. 클라이언트 구성 방법의 예는 다음과 같습니다(구문은 클라이언트에 따라 다를 수 있음).

예제 1: Git 저장소를 동적으로 검색(Tyk Docs)

이 구성은 클라이언트에게 npx 사용하여 최신 @buger/docs-mcp 패키지를 실행하고, 이 패키지를 Tyk 문서 저장소로 동적으로 연결하도록 지시합니다. -y 인수는 npx 설치 프롬프트를 자동으로 확인합니다. --toolName--toolDescription 인수는 검색 도구가 AI 어시스턴트에 표시되는 방식을 사용자 지정합니다.

{ "mcpServers": { "tyk-docs-search": { "command": "npx", "args": [ "-y", "@buger/docs-mcp@latest", "--gitUrl", "https://github.com/TykTechnologies/tyk-docs", "--toolName", "search_tyk_docs", "--toolDescription", "Search Tyk API Management Documentation" ], "enabled": true } } }

또는 일부 클라이언트에서는 전체 명령을 직접 지정할 수 있습니다. 다음을 사용하여 예제 1과 동일한 결과를 얻을 수 있습니다.

npx -y @buger/docs-mcp@latest --gitUrl https://github.com/TykTechnologies/tyk-docs --toolName search_tyk_docs --toolDescription "Search Tyk API Management Documentation"

예 2: 사전 구축된 브랜드 MCP 서버 사용(예: Tyk 패키지)

팀이 특정 문서(예: @tyk-technologies/docs-mcp )가 포함된 미리 빌드된 패키지를 게시하는 경우, 콘텐츠 소스와 도구 세부 정보가 해당 패키지에 내장되어 있으므로 구성이 더 간단해집니다. npx 에는 -y 인수를 사용하는 것이 여전히 권장됩니다.

{ "mcpServers": { "tyk-official-docs": { "command": "npx", "args": [ "-y", "@tyk-technologies/docs-mcp@latest" ], "enabled": true } } }

이 접근 방식은 공식 문서나 코드베이스에 대한 표준화된 검색 환경을 배포하는 데 이상적입니다. 아래 "자체 사전 구축된 MCP 서버 만들기" 섹션을 참조하세요.

Tyk 팀이 어떻게 자체 문서 MCP 서버를 구축했는지에 대한 예는 다음과 같습니다. https://github.com/TykTechnologies/docs-mcp .

구성

빌드 및 런타임 시 사용되는 기본 콘텐츠 소스와 MCP 도구 세부 정보를 정의하기 위해 루트 디렉토리에 docs-mcp.config.json 파일을 만듭니다(CLI 인수나 환경 변수로 재정의하지 않는 한).

예제 1: 로컬 디렉토리 사용

{ "includeDir": "/Users/username/projects/my-project/docs", "toolName": "search_my_project_docs", "toolDescription": "Search the documentation for My Project.", "ignorePatterns": [ "node_modules", ".git", "build", "*.log" ] }

예제 2: Git 저장소 사용

{ "gitUrl": "https://github.com/your-org/your-codebase.git", "gitRef": "develop", "autoUpdateInterval": 15, "toolName": "search_codebase", "toolDescription": "Search the main company codebase.", "ignorePatterns": [ "*.test.js", "dist/", "__snapshots__" ] }

구성 옵션

  • includeDir : (빌드/런타임) 빌드 중 data 디렉터리에 복사될 로컬 디렉터리의 절대 경로입니다. dataDir 지정되지 않은 경우 런타임에 직접 사용됩니다. 이 경로 또는 gitUrl 사용하세요.
  • gitUrl : (빌드/런타임) Git 저장소의 URL입니다. 또는 includeDir 사용하세요.
    • autoUpdateInterval 이 0(기본값)이면 서버는 .tar.gz 아카이브를 직접 다운로드하려고 시도합니다(현재 GitHub URL 구조는 https://github.com/{owner}/{repo}/archive/{ref}.tar.gz 로 가정). 이 방식은 속도가 더 빠르지만 업데이트를 지원하지 않습니다.
    • autoUpdateInterval > 0이면 서버는 git clone 수행하고 주기적 업데이트를 활성화합니다.
  • gitRef : (빌드/런타임) gitUrl 에서 사용할 브랜치, 태그 또는 커밋 해시입니다(기본값: main ). tarball 다운로드와 Git 복제/풀에 모두 사용됩니다.
  • autoUpdateInterval : (런타임) Git 업데이트를 자동으로 확인하는 간격(분)입니다(기본값: 0, 비활성화됨). 이 값을 0보다 큰 값으로 설정하면 Git 복제 및 주기적인 git pull 작업이 활성화됩니다. 시스템 경로에 git 명령이 있어야 합니다.
  • dataDir : (런타임) 런타임에 검색할 콘텐츠가 있는 디렉터리 경로입니다. 설정 파일에 정의되어 있거나 패키지에 내장된 includeDir 또는 gitUrl 에서 가져온 콘텐츠를 재정의합니다. 다시 빌드하지 않고도 서버가 라이브 데이터를 가리키도록 설정하는 데 유용합니다.
  • toolName : (빌드/런타임) 서버에서 노출하는 MCP 도구의 이름입니다(기본값: search_docs ). 콘텐츠와 관련된 설명적인 이름을 선택하세요.
  • toolDescription : (빌드/런타임) AI 어시스턴트에 표시되는 MCP 도구에 대한 설명(기본값: "프로브 검색 엔진을 사용하여 문서를 검색합니다.")
  • ignorePatterns : (빌드/런타임) glob 패턴의 배열입니다.
  • enableBuildCleanup : (빌드) true (기본값)인 경우, 빌드 단계 후 data 디렉터리에서 공통 바이너리/미디어 파일(이미지, 비디오, 아카이브 등)과 100KB보다 큰 파일을 제거합니다. 이 정리 기능을 사용하지 않으려면 false 로 설정합니다.
    • 빌드 중에 includeDir 사용하는 경우: 이러한 패턴과 일치하는 파일은 data 에 복사할 때 제외됩니다. .gitignore 규칙도 준수됩니다.
    • 런타임에 gitUrl 또는 dataDir 사용하는 경우: data 디렉토리 내에서 이러한 패턴과 일치하는 파일은 검색 인덱서에서 무시됩니다.

상위:

  1. 런타임 구성(최고): CLI 인수( --dataDir , --gitUrl 등)와 환경 변수( DATA_DIR , GIT_URL 등)는 다른 모든 설정보다 우선합니다. CLI 인수는 환경 변수보다 우선합니다.
  2. 빌드 시간 구성: docs-mcp.config.json 의 설정( includeDir , gitUrl , toolName 등)은 npm run build 중에 사용되는 기본값을 정의하고 재정의되지 않은 경우 런타임 기본값으로도 사용됩니다.
  3. 기본값(최저): 구성이 제공되지 않으면 내부 기본값이 사용됩니다(예: toolName: 'search_docs' , autoUpdateInterval: 5 ).

참고: includeDirgitUrl 모두 동일한 구성 소스에 제공된 경우(예: 둘 다 구성 파일에 제공되거나 둘 다 CLI 인수로 제공됨) gitUrl 우선합니다.

나만의 사전 구축된 MCP 서버 만들기

이 프로젝트를 템플릿으로 사용하여 문서나 코드가 미리 빌드된 npm 패키지를 직접 만들고 게시할 수 있습니다. 이렇게 하면 사용자에게 별도의 구성이 필요 없는 환경을 제공합니다(위의 예시 2처럼).

  1. 이 저장소를 포크/복제하세요. 이 프로젝트의 코드부터 시작하세요.
  2. docs-mcp.config.json 구성합니다. 콘텐츠 소스를 가리키는 includeDir 또는 gitUrl 정의합니다. 기본 toolNametoolDescription 설정합니다.
  3. package.json 업데이트: name (예: @my-org/my-docs-mcp ), version , description 등을 변경합니다.
  4. 빌드: npm run build 실행합니다. 그러면 콘텐츠가 data 디렉터리에 복제/복사되어 패키지가 준비됩니다.
  5. 게시: npm publish 실행합니다(npm 인증이 구성되어야 합니다).

이제 사용자는 특정 문서 서버를 쉽게 실행할 수 있습니다: npx @my-org/my-docs-mcp@latest .

(이전의 "실행", "런타임에서의 동적 구성" 및 "환경 변수" 섹션은 제거되었습니다. 클라이언트 구성 내에서 인수를 사용하여 npx 사용하는 것이 이제 주요 문서화된 방법이기 때문입니다.)

AI 어시스턴트와 함께 사용

이 MCP 서버는 모델 컨텍스트 프로토콜(Model Context Protocol)을 통해 연결된 AI 어시스턴트에 검색 도구를 제공합니다. 도구의 이름과 설명은 구성 가능합니다(구성 섹션 참조). 현재 활성화된 data 디렉터리(빌드 설정, 구성 파일, CLI 인수 또는 환경 변수에 따라 결정됨) 내의 콘텐츠를 검색합니다.

도구 매개변수:

  • query : 검색할 내용을 설명하는 자연어 쿼리 또는 키워드(예: "게이트웨이 구성 방법", "데이터베이스 연결 예시", "사용자 인증")입니다. 서버는 Probe의 검색 기능을 사용하여 관련 콘텐츠를 찾습니다. (필수)
  • page : 여러 개의 일치 항목을 처리할 때 결과의 페이지 번호입니다. 생략 시 기본값은 1입니다. (선택 사항)

예시 도구 호출(사용 예시 1의 search_tyk_docs 사용):

{ "tool_name": "search_tyk_docs", "arguments": { "query": "gateway rate limiting", "page": 1 // Requesting the first page } }

예시 도구 호출( @tyk/docs-mcp 패키지의 도구 사용):

미리 빌드된 패키지 @tyk/docs-mcp 가 도구 이름을 search_tyk_official_docs 로 정의했다고 가정합니다.

{ "tool_name": "search_tyk_official_docs", "arguments": { "query": "dashboard api access", "page": 2 // Requesting the second page } }

(이전의 "npm 패키지로 게시" 섹션은 위의 "자체 사전 빌드된 MCP 서버 만들기" 섹션으로 대체되었습니다.)

특허

MIT

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

AI 도우미가 문서나 코드베이스를 검색할 수 있게 해주는 유연한 모델 컨텍스트 프로토콜 서버로, 사용자는 Git 저장소나 폴더를 가리키기만 하면 코드나 문서와 대화할 수 있습니다.

  1. Features
    1. Usage
      1. Installing via Smithery
      2. Integrating with MCP Clients (e.g., IDEs)
    2. Configuration
      1. Example 1: Using a Local Directory
      2. Example 2: Using a Git Repository
      3. Configuration Options
    3. Creating Your Own Pre-built MCP Server
      1. Using with AI Assistants
        1. License
          ID: pach0m58mr