Skip to main content
Glama
j5ik2o

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) 지원

  • 추상화된 인터페이스를 통한 확장성

Related MCP server: Confluence MCP Server

설치

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

사용 가능한 도구

rag_search

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

검색 요청

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_KEY

OpenAI 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. 풀 요청 작성

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    C
    maintenance
    Server that enhances the capabilities of the Cline coding agent. It provides intelligent code suggestions, reduces hallucinations, and documents the knowledge base by leveraging your project's documentation and detecting the technologies used in your codebase.
    15
  • F
    license
    A
    quality
    Not graded
    maintenance
    A local-first knowledge base server that enables AI clients to store, retrieve, and manage documents using semantic search. Provides privacy-focused, offline-capable memory for AI assistants with tools for ingesting, querying, updating, and deleting knowledge.
    7
    16
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local document intelligence and knowledge management server for Claude Desktop that provides RAG-powered Q\&A, media transcription, and URL crawling. It features 11 tools for processing various file types and managing a persistent local vector store with zero infrastructure costs.
    1

View all related MCP servers

Related MCP Connectors

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.

  • A personal RAG database you build from chat, so AI creates work that sounds like you.

View all MCP Connectors

Latest Blog Posts

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