Skip to main content
Glama
Sachin-wish

MCP Knowledge Base Server

by Sachin-wish

MCP ナレッジベースサーバー

AIアシスタント(Claude Desktop、Cursor、または任意のMCPクライアント)に、社内の ナレッジベース のMarkdownドキュメントへの検索可能で構造化されたアクセスを提供する MCP(Model Context Protocol) サーバーです。

アシスタントに 「本番环境にデプロイするにはどうすればいい?」「有給休暇は何日ある?」 と尋ねると、ナレッジベースを検索し、関連記事を読み、引用付きで回答します。社内プロセスを幻覚(ハルシネーション)することはありません。

特徴

  • 6つのツール — スニペット付きキーワード検索、ドキュメント全体の取得、フィルタ付き一覧表示、タグブラウジング、ホットリロード、統計

  • 2種類のリソース — インデックス全体または任意のドキュメントを直接参照(kb://indexkb://documents/{doc_id}

  • 1つのプロンプトテンプレートanswer_from_knowledge_base は検索結果に基づいて回答を根拠付け、引用を強制します

  • インフラ不要 — ナレッジベースはオプションのfrontmatter付きの .md ファイルのフォルダだけで、Gitリポジトリとの併用に最適です

  • 2つのトランスポート — ローカルクライアント用のstdio、共有/リモート環境用のHTTP

  • 依存関係が軽量 — FastMCP + 組み込みの小型TF-IDF型インデックス。データベースやembeddingsサービスは不要です

Related MCP server: MCP Docs Server

アーキテクチャ

┌─────────────────┐   stdio / HTTP (JSON-RPC)   ┌──────────────────────────┐
│  MCP client     │ ───────────────────────────▶ │  FastMCP server          │
│  (Claude, …)    │ ◀─────────────────────────── │  ├─ tools (search, get…) │
└─────────────────┘                              │  ├─ resources (kb://…)   │
                                                 │  └─ prompts (answer…)   │
                                                 │          │             │
                                                 │  KnowledgeBaseIndex    │
                                                 │  (tokenize → TF-IDF)   │
                                                 └──────────┬─────────────┘
                                                            │ scans
                                                 ┌──────────▼─────────────┐
                                                 │ knowledge_base/        │
                                                 │  engineering/*.md      │
                                                 │  hr/*.md  product/*.md │
                                                 └────────────────────────┘

クイックスタート

git clone <your-repo-url> mcp-knowledge-base-server
cd mcp-knowledge-base-server
pip install .

サーバーを自分のドキュメントに向ける(または同梱のサンプルコーパスを使用する):

export KB_DIR=/path/to/your/markdown/docs

デモを実行する

pip install fastmcp          # only dependency the demo needs
python examples/demo_client.py

デモはstdio経由でサーバーを起動し、すべての機能(検索、ドキュメント取得、一覧表示、リソース、根拠付き回答プロンプト)を実行し、実際のクライアントが目にする正確なJSON-RPCペイロードを表示します。

Claude Desktopに接続する

claude_desktop_config.json に追加:

{
  "mcpServers": {
    "knowledge-base": {
      "command": "python",
      "args": ["-m", "mcp_knowledge_base.server"],
      "env": {
        "PYTHONPATH": "/absolute/path/to/mcp-knowledge-base-server/src",
        "KB_DIR": "/absolute/path/to/mcp-knowledge-base-server/knowledge_base"
      }
    }
  }
}

Claude Desktopを再起動して、次のように尋ねます: 「ナレッジベースを検索して — デプロイが失敗した場合のロールバック手順は?」

HTTPで実行する(共有/リモート環境)

KB_DIR=/path/to/docs mcp-knowledge-base --transport http --port 8000
# → streamable HTTP endpoint at http://127.0.0.1:8000/mcp

ドキュメント形式

任意の .md ファイルのフォルダで動作します。オプションのfrontmatterで結果を拡充できます:

---
title: Deploying to Production
tags: [deploy, production, runbook]
department: engineering
updated: 2025-11-02
---

# Deploying to Production
…

ドキュメントの doc_id は、KB_DIR からの相対パスから拡張子を除いたものです(例: engineering/deploy-guide)。タイトルは最初の # 見出し、次にファイル名にフォールバックします。

APIリファレンス

ツール

ツール

説明

search_knowledge_base(query, limit=5, tag=None)

ランク付きキーワード検索。doc_id、タイトル、タグ、スニペット、スコアを返します

get_document(doc_id)

1記事の完全なMarkdownコンテンツ + メタデータ

list_documents(tag=None, department=None)

すべての記事を一覧表示。オプションでフィルタ可能

list_tags()

ドキュメント数付きの全タグ

reload_knowledge_base()

KB_DIR を再スキャンして編集を反映

stats()

ドキュメント数、タグ数、インデックス経過時間

リソース

URI

説明

kb://index

全ドキュメントの人間可読なインデックス

kb://documents/{doc_id}

1つのドキュメントの完全なコンテンツ

プロンプト

プロンプト

説明

answer_from_knowledge_base(question)

KBを検索し、モデルに抜粋のみから回答しdoc_idを引用するよう指示します

環境変数

変数

デフォルト

説明

KB_DIR

./knowledge_base

Markdownドキュメントのルートフォルダ

KB_NAME

Company Knowledge Base

MCPクライアントに表示されるサーバー名

プロジェクト構造

├── knowledge_base/            # sample corpus (replace with your own)
│   ├── engineering/*.md
│   ├── hr/*.md
│   └── product/*.md
├── src/mcp_knowledge_base/
│   ├── server.py              # FastMCP server: tools, resources, prompts
│   └── index.py               # document loading + TF-IDF-style search
├── examples/
│   └── demo_client.py         # end-to-end demo over stdio
└── pyproject.toml

拡張方法

  • 検索の改善: KnowledgeBaseIndex をembeddings + ベクターデータベースに置き換える(ツールのインターフェースはそのままです)。

  • 他のソース: Confluence/Notionのエクスポートをインデックス化 — Markdownになるものであればそのまま動作します。

  • 鮮度: reload_knowledge_base をスケジュール実行するか、ファイルシステムウォッチャーで KB_DIR を監視します。

ライセンス

MIT — LICENSE を参照してください。

Install Server
A
license - permissive license
A
quality
C
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

View all related MCP servers

Related MCP Connectors

  • Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.

  • Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

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/Sachin-wish/mcp-knowledge-base-server'

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