Company KB MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_TOKEN | No | Optional token for private GitLab repositories. Needs read_api and read_repository scopes. | |
| COMPANY_KB_CONFIG | No | Optional path to a YAML config file. | |
| COMPANY_KB_DATA_DIR | No | Optional local SQLite index directory. | |
| COMPANY_KB_LOG_FILE | No | Optional JSONL log file path. | |
| COMPANY_KB_CACHE_DIR | No | Optional local repository cache directory. | |
| COMPANY_KB_AUTO_SYNC_ON_STARTUP | No | Set to '1' to refresh indexed repositories when the server starts. | 0 |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| company_kb_statusA | Check configuration, GitLab authentication, repository sync state, and index size for the company knowledge base. Use this when search looks stale or broken, or when the user asks whether the MCP server is healthy. |
| company_kb_syncB | Synchronize repositories that have already been added to the local RAG cache and update the Markdown index. Use this before answering when the user asks for fresh docs; normal search does not require a full sync. |
| company_kb_sync_repositoryA | Synchronize one GitLab repository by URL. The repository is cloned into the local read-only cache, indexed, and made searchable. Auth defaults to env when GITLAB_TOKEN is set, otherwise anonymous. Pass authMode as anonymous, env, or ssh-agent when you need to override it; do not pass token values. |
| company_kb_list_repositoriesA | List GitLab repositories that have been synchronized into the local RAG cache, including their local index counts and last sync metadata. |
| company_kb_remove_repositoryA | Remove one synchronized GitLab repository from the local RAG system. This deletes local index entries, vectors, and by default the local cached clone. It never writes to GitLab. |
| company_kb_searchA | Search synchronized company Markdown documentation and return ranked snippets with stable GitLab citations. Use this for discovery questions, finding runbooks, locating ADRs, or collecting evidence before answering. |
| company_kb_open_docA | Open an exact document excerpt or an indexed chunk by reference. Use this after search when more surrounding context or precise source lines are needed. |
| company_kb_answerB | Retrieve a focused evidence pack for a natural-language company documentation question. This tool does not invent final policy; it returns cited evidence and guidance for Copilot to synthesize from sources. |
| company_kb_recent_changesA | List recently changed indexed Markdown documents. Use this when the user asks what changed recently or wants documentation updates within a time window. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| company-kb.answer-with-citations | |
| company-kb.find-runbook | |
| company-kb.compare-docs | |
| company-kb.explain-architecture-decision |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| index_status |
TDQS
Scored across 9 tools
Most tools are clearly distinct by action (sync vs search vs open vs answer), but company_kb_sync and company_kb_sync_repository could be confused: one syncs all cached repos, the other syncs a single new repo by URL. company_kb_answer vs company_kb_search also overlap somewhat, though the descriptions separate discovery from evidence-pack retrieval.
All tools share the company_kb_ prefix and most use verb_noun structure (list_repositories, sync_repository, remove_repository, open_doc). Minor inconsistencies exist: recent_changes and answer are not as clearly verb_action as the rest, and sync vs sync_repository differ in level of detail.
9 tools is well-scoped for a knowledge base MCP server covering lifecycle management (sync, add, remove), status/health, search/discovery, and document access. Each tool serves a distinct operational need without bloat, and the count feels complete for the stated purpose.
The surface covers core KB operations: repository sync/add/remove, status, search, recent changes, open doc, and a synthesized answer tool. Minor gaps exist: there is no explicit tool for listing all unsynced GitLab repositories or for clearing/resetting the cache, but agents can work around these using the provided status and sync tools.