mcp-kb-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATA_DIR | No | SQLite database location | ./data |
| LOG_LEVEL | No | Winston log level | info |
| QDRANT_URL | No | Qdrant endpoint | http://localhost:6333 |
| ENABLE_QDRANT | No | Enable vector search | false |
| DASHBOARD_PORT | No | Auto-start dashboard on boot | |
| MAX_KB_ENTRIES | No | Per-project KB cap | 500 |
| VACUUM_INTERVAL | No | DB vacuum interval (ms) | 86400000 |
| MAX_MEMORY_ENTRIES | No | Per-project memory cap | 1000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory.storeC | Store long-term memory. Stores content exactly as provided. |
| memory.searchC | Search long-term memory by substring match over stored content and tags. |
| memory.listA | List all memory entries for a project with pagination. Use when you need to see all memories, not just search results. Returns total_count so you know how many exist. |
| memory.getA | Fetch a single memory entry by ID. Use after memory.search with max_content_length to retrieve the full content of a specific entry. |
| memory.deleteA | Delete a memory entry by ID. Use to remove outdated or incorrect information. |
| memory.updateB | Update an existing memory entry. Replaces content and/or tags. Use to correct or refine stored knowledge. |
| kb.addB | Add a document to the knowledge base. After adding, regenerate the index page with kb.index. |
| kb.searchB | Search the knowledge base using SQLite FTS5 by default; optionally uses Qdrant vector similarity when a vector is provided. Tip: call kb.index first to read the table of contents before searching blind. |
| kb.initA | Scan a project directory for markdown and text files and bulk-import them into the knowledge base. Skips files already present (matched by source path). Returns a summary of what was added and skipped. After running, follow the workflow in .kiro/steering/kb-ingest.md for each added file to extract entities, create cross-references, and update the index and changelog. |
| kb.getA | Fetch a single KB document by ID. Use after kb.search with max_content_length to retrieve the full content of a specific document. |
| kb.indexA | Read or replace the wiki index page (source='_index'). Call with no content to fetch the current index. Call with content to atomically replace it. The index is the LLM's navigation entry point — read it before searching, regenerate it after any kb.add/update/delete. |
| kb.updateA | Update an existing KB document by ID. Replaces title, content, and/or source. After updating, regenerate the index page with kb.index. |
| kb.deleteA | Delete a KB document by ID. After deleting, regenerate the index page with kb.index. |
| summary.projectA | Generate a ground-truth–aware project knowledge snapshot by reading authoritative instruction files, long-term memory, and the knowledge base. This tool does NOT store results automatically. |
| summary.deltaB | Generate a delta (change-only) project knowledge summary by comparing the current authoritative project state against the last stored project summary. This tool does NOT store anything automatically. |
| dashboard.projectsB | Generate an interactive dashboard (HTML written to ./temp) for browsing and managing the knowledge base and project memory. |
| source.ingestA | Ingest one or more documents (md, txt, csv, pdf) into the raw sources layer. After ingesting, follow the workflow in .kiro/steering/kb-ingest.md to extract entities into the KB, create cross-references, and update the index and changelog. |
| source.listB | List all raw sources ingested for a project. |
| source.searchC | Full-text search over ingested raw sources. |
| source.getA | Fetch the full content of a single ingested source by ID. Use after source.search to retrieve the complete text of a specific document. |
| wiki.linkC | Create a cross-reference link between two wiki entries (memory, source, or kb). |
| wiki.linksB | List all cross-reference links for a given entry (inbound, outbound, or both). |
| wiki.lintA | Health-check the wiki: find orphan entries, broken links, stale sources, and missing cross-references. Use lint_mode='semantic' to get an LLM-ready payload for deeper analysis (contradictions, stale claims, missing entity pages, missing cross-references). |
| wiki.exportB | Export all wiki data (raw sources, KB entries, memory) as markdown files to a directory. |
| health.checkA | Get server health status and metrics |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/dereknguyen269/mcp-kb-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server