Skip to main content
Glama

Shared Knowledge MCP Server

by j5ik2o

Shared Knowledge MCP Server

각종 AI 어시스턴트(CLINE, Cursor, Windsurf, Claude Desktop)에서 공통으로 사용할 수 있는 지식 기반 MCP 서버입니다. Retrieval Augmented Generation (RAG)을 활용하여 효율적인 정보 검색과 이용을 실현합니다. 여러 AI 어시스턴트 도구 간에 지식 기반을 공유하여 일관된 정보 액세스를 제공합니다.

특징

  • 여러 AI 어시스턴트 간에 공통 지식 기반 사용 가능
  • RAG로 정밀한 정보 검색
  • TypeScript에 의한 형태 안전한 구현
  • 여러 벡터 스토어(HNSWLib, Chroma, Pinecone, Milvus) 지원
  • 추상화된 인터페이스를 통한 확장성

설치

git clone https://github.com/yourusername/shared-knowledge-mcp.git cd shared-knowledge-mcp npm install

설정

MCP 서버의 설정은 각 AI 어시스턴트의 구성 파일에 추가됩니다.

VSCode (CLINE/Cursor용)

~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json :

{ "mcpServers": { "shared-knowledge-base": { "command": "node", "args": ["/path/to/shared-knowledge-mcp/dist/index.js"], "env": { "KNOWLEDGE_BASE_PATH": "/path/to/your/rules", "OPENAI_API_KEY": "your-openai-api-key", "SIMILARITY_THRESHOLD": "0.7", "CHUNK_SIZE": "1000", "CHUNK_OVERLAP": "200", "VECTOR_STORE_TYPE": "hnswlib" } } } }

Pinecone을 사용하는 예

{ "mcpServers": { "shared-knowledge-base": { "command": "node", "args": ["/path/to/shared-knowledge-mcp/dist/index.js"], "env": { "KNOWLEDGE_BASE_PATH": "/path/to/your/rules", "OPENAI_API_KEY": "your-openai-api-key", "VECTOR_STORE_TYPE": "pinecone", "VECTOR_STORE_CONFIG": "{\"apiKey\":\"your-pinecone-api-key\",\"environment\":\"your-environment\",\"index\":\"your-index-name\"}" } } } }

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json :

HNSWLib(기본값) 사용 예
{ "mcpServers": { "shared-knowledge-base": { "command": "node", "args": ["/path/to/shared-knowledge-mcp/dist/index.js"], "env": { "KNOWLEDGE_BASE_PATH": "/path/to/your/docs", "OPENAI_API_KEY": "your-openai-api-key", "SIMILARITY_THRESHOLD": "0.7", "CHUNK_SIZE": "1000", "CHUNK_OVERLAP": "200", "VECTOR_STORE_TYPE": "hnswlib", "VECTOR_STORE_CONFIG": "{}" }, "disabled": false, "autoApprove": [] } } }
Weaviate를 사용하는 예
{ "mcpServers": { "shared-knowledge-base": { "command": "node", "args": ["/path/to/shared-knowledge-mcp/dist/index.js"], "env": { "KNOWLEDGE_BASE_PATH": "/path/to/your/docs", "OPENAI_API_KEY": "your-openai-api-key", "SIMILARITY_THRESHOLD": "0.7", "CHUNK_SIZE": "1000", "CHUNK_OVERLAP": "200", "VECTOR_STORE_TYPE": "weaviate", "VECTOR_STORE_CONFIG": "{\"url\":\"http://localhost:8080\",\"className\":\"Document\",\"textKey\":\"content\"}" }, "disabled": false, "autoApprove": [] } } }

참고 : Weaviate를 사용하는 경우 먼저 Weaviate 서버를 시작해야 합니다. 다음 명령으로 시작할 수 있습니다.

./start-weaviate.sh

개발

개발 서버 시작

npm run dev

빌드

npm run build

프로덕션 환경에서 실행

npm start

사용 가능한 도구

기술 자료에서 정보를 검색합니다.

검색 요청
interface SearchRequest { // 検索クエリ(必須) query: string; // 返す結果の最大数(デフォルト: 5) limit?: number; // 検索のコンテキスト(オプション) context?: string; // フィルタリングオプション(オプション) filter?: { // ドキュメントの種類でフィルタリング(例: ["markdown", "code"]) documentTypes?: string[]; // ソースパスのパターンでフィルタリング(例: "*.md") sourcePattern?: string; }; // 結果に含める情報(オプション) include?: { metadata?: boolean; // メタデータを含める summary?: boolean; // 要約を生成 keywords?: boolean; // キーワードを抽出 relevance?: boolean; // 関連性の説明を生成 }; }
사용 예

기본 검색:

const result = await callTool("rag_search", { query: "コミットメッセージのフォーマット", limit: 3 });

고급 검색:

const result = await callTool("rag_search", { query: "コミットメッセージのフォーマット", context: "Gitの使い方について調査中", filter: { documentTypes: ["markdown"], sourcePattern: "git-*.md" }, include: { summary: true, keywords: true, relevance: true } });
검색결과
interface SearchResult { // 検索クエリに関連する文書の内容 content: string; // 類似度スコア(0-1) score: number; // ソースファイルのパス source: string; // 位置情報 startLine?: number; // 開始行 endLine?: number; // 終了行 startColumn?: number; // 開始桁 endColumn?: number; // 終了桁 // ドキュメントの種類(例: "markdown", "code", "text") documentType?: string; // 追加情報(include オプションで指定した場合のみ) summary?: string; // コンテンツの要約 keywords?: string[]; // 関連キーワード relevance?: string; // 関連性の説明 metadata?: Record<string, unknown>; // メタデータ }
응답 예
{ "results": [ { "content": "# コミットメッセージのフォーマット\n\n以下の形式でコミットメッセージを記述してください:\n\n```\n<type>(<scope>): <subject>\n\n<body>\n\n<footer>\n```\n\n...", "score": 0.92, "source": "/path/to/rules/git-conventions.md", "startLine": 1, "endLine": 10, "startColumn": 1, "endColumn": 35, "documentType": "markdown", "summary": "コミットメッセージのフォーマットについての説明文書", "keywords": ["commit", "message", "format", "type", "scope"], "relevance": "このドキュメントは検索クエリ \"コミットメッセージのフォーマット\" に関連する情報を含んでいます。類似度スコア: 0.92" } ] }

이러한 확장된 검색 기능을 통해 LLM은 보다 정확하고 효율적으로 정보를 처리할 수 있습니다. 위치 정보, 문서 유형, 요약, 키워드 등의 추가 정보는 LLM이 검색 결과를 더 깊이 이해하고 적절하게 활용할 수 있도록 도와줍니다.

메커니즘

  1. 시작할 때 지정된 디렉토리에 있는 Markdown 파일(.md, .mdx) 및 텍스트 파일(.txt)을 로드합니다.
  2. 문서를 청크로 분할하고 OpenAI API를 사용하여 벡터화
  3. 선택한 벡터 저장소(기본값: HNSWLib)를 사용하여 벡터 인덱스를 만듭니다.
  4. 검색어에 대해 유사도가 높은 문서를 반환합니다.

지원되는 벡터 스토어

  • HNSWLib : 로컬 파일 시스템에 저장된 고속 벡터 스토어 (기본값)
  • Chroma : 오픈 소스 벡터 데이터베이스
  • Pinecone : 관리형 벡터 데이터베이스 서비스(API 키 필요)
  • Milvus : 대규모 벡터 검색 엔진
  • Weaviate : 스키마 우선 벡터 데이터베이스(Docker 필수)

각 벡터 스토어는 추상화된 인터페이스를 통해 활용되며 필요에 따라 쉽게 전환할 수 있습니다.

벡터 스토어 환경을 조작하는 방법

HNSWLib(기본값)

HNSWLib은 로컬 파일 시스템에 벡터 저장소를 저장하므로 특별한 환경 설정이 필요하지 않습니다.

벡터 스토어 재구성:

./rebuild-vector-store-hnsw.sh
Weaviate

Weaviate를 사용하려면 Docker가 필요합니다.

  1. Weaviate 환경 시작:
./start-weaviate.sh
  1. 벡터 스토어 재구성:
./rebuild-vector-store-weaviate.sh
  1. Weaviate 상태 확인:
curl http://localhost:8080/v1/.well-known/ready
  1. Weaviate 환경 중지:
docker-compose down
  1. Weaviate 데이터를 완전히 삭제 (필요한 경우에만) :
docker-compose down -v

Weaviate 설정은 docker-compose.yml 파일에서 관리됩니다. 기본적으로 다음 설정이 적용됩니다.

  • 포트: 8080
  • 인증: 익명 액세스 사용
  • 벡터화 모듈: 없음(외부 포함 포함)
  • 데이터 저장: Docker 볼륨( weaviate_data )

설정 옵션

환경 변수설명기본값
KNOWLEDGE_BASE_PATH지식 기반 경로(필수)-
OPENAI_API_KEYOpenAI API 키(필수)-
SIMILARITY_THRESHOLD검색 시 유사도 점수 임계값(0-1)0.7
CHUNK_SIZE텍스트 분할시의 청크 크기1000
CHUNK_OVERLAP청크 중첩 크기200
VECTOR_STORE_TYPE사용할 벡터 저장소 유형("hnswlib", "chroma", "pinecone", "milvus")"hnswlib"
VECTOR_STORE_CONFIG벡터 스토어 설정(JSON 문자열){}

라이센스

ISC

기여

  1. 포크하다
  2. 피처 브랜치 만들기 ( git checkout -b feature/amazing-feature )
  3. 변경 커밋 ( git commit -m 'Add some amazing feature' )
  4. 브랜치로 푸시하기 ( git push origin feature/amazing-feature )
  5. 풀 요청 작성
-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

This server enables AI assistants (CLINE, Cursor, Windsurf, Claude Desktop) to share a common knowledge base through Retrieval Augmented Generation (RAG), providing consistent information access across multiple tools.

  1. 특징
    1. 설치
      1. 설정
        1. VSCode (CLINE/Cursor용)
        2. Pinecone을 사용하는 예
        3. Claude Desktop
      2. 개발
        1. 개발 서버 시작
        2. 빌드
        3. 프로덕션 환경에서 실행
      3. 사용 가능한 도구
        1. rag\_search
      4. 메커니즘
        1. 지원되는 벡터 스토어
        2. 벡터 스토어 환경을 조작하는 방법
      5. 설정 옵션
        1. 라이센스
          1. 기여

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              An MCP server that enables AI models to retrieve information from Ragie's knowledge base through a simple 'retrieve' tool.
              Last updated -
              1
              64
              19
              JavaScript
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              Enables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.
              Last updated -
              JavaScript
              • Apple
            • -
              security
              A
              license
              -
              quality
              Connects Bear Notes to AI assistants using semantic search and RAG (Retrieval-Augmented Generation), allowing AI systems to access and understand your personal knowledge base through meaningful search rather than just keyword matching.
              Last updated -
              8
              3
              JavaScript
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A powerful research assistant that integrates with Cline and Claude Desktop to leverage Perplexity AI for intelligent search, documentation retrieval, API discovery, and code modernization assistance while coding.
              Last updated -
              2
              JavaScript
              MIT License

            View all related MCP servers

            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/j5ik2o/shared-knowledge-mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server