Skip to main content
Glama
vianel

MCP Knowledge Base Server

by vianel

MCP Knowledge Base Server

This folder contains the MCP server and unstructured-text ingestion pipeline for the support-ticket triage demo.

The server exposes knowledge-base articles and sample tickets through MCP tools. The search tool is backed by a local SQLite vector index built from Markdown files in data/kb/.

Files

mcp/
├── main.py              # FastMCP server
├── pipeline.py          # Ingest, chunk, embed, and store KB documents
├── vector_store.py      # SQLite vector search helpers
├── models.py            # Pydantic models returned by tools
└── data/
    ├── kb/              # Source knowledge-base articles
    ├── tickets/         # Sample support tickets
    └── index.db         # Generated SQLite index

Related MCP server: Tiger Salesforce MCP Server

Tools

The MCP server currently exposes:

  • search_kb(query: str) -> list[Chunk] Semantic search over indexed KB chunks.

  • get_article(name: str) -> str Fetch a full KB article by filename.

  • list_tickets(status: str) -> list[Ticket] List sample tickets by status.

Setup

Install dependencies:

uv sync

Set the Gemini API key used for embeddings:

export GEMINI_API_KEY="..."

Build The Index

Run the ingestion pipeline:

uv run python pipeline.py

The pipeline:

  1. Reads Markdown files from data/kb/.

  2. Normalizes and chunks each document.

  3. Creates embeddings with gemini-embedding-001.

  4. Stores chunks and embeddings in data/index.db.

  5. Uses SHA-256 hashes to skip unchanged documents on reruns.

Run The Server

Start the MCP server over stdio:

uv run python main.py

Most clients, including the ADK agent in ../agent, launch this command as a subprocess instead of running it manually.

Client Config Snippet

Example stdio client configuration:

{
  "mcpServers": {
    "kb-server": {
      "command": "/Users/vianel/Workspace/samples/mcp/.venv/bin/python",
      "args": ["/Users/vianel/Workspace/samples/mcp/main.py"],
      "env": {
        "GEMINI_API_KEY": "${GEMINI_API_KEY}"
      }
    }
  }
}

Smoke Tests

Rebuild the index and check that reruns skip unchanged files:

uv run python pipeline.py
uv run python pipeline.py

Then run the agent-side discovery script from ../agent:

cd ../agent
uv run python discovery.py

You should see the MCP tools discovered by the client.

Install Server
F
license - not found
C
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

  • A
    license
    -
    quality
    D
    maintenance
    Provides a semantic search interface that enables discovery and routing across over 1,000 local MCP tools using natural language queries. It leverages hybrid search and embeddings to accurately match user intent with tool names and descriptions.
    Last updated
    23
    1
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Enables semantic search and AI-powered Q&A over ingested GitHub documentation repositories via MCP tools.
    Last updated

View all related MCP servers

Related MCP Connectors

  • Apple Developer Documentation with Semantic Search, RAG, and AI reranking for MCP clients

  • Reddit & X data for AI agents over MCP. Semantic search, hosted, no Reddit API.

  • Agentic search over your Dewey document collections from any MCP-compatible client.

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/vianel/mcp-poc'

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