historical-kb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RRF_K | No | Reciprocal Rank Fusion constant for hybrid search. | |
| SI_DATA_DIR | No | Shared data directory used by all MCPs in the pipeline. Set to the same absolute path for all servers. | |
| DEFAULT_TOP_K | No | Default number of results returned by search_similar if top_k is not specified. | |
| EMBED_BACKEND | No | Embedding backend: 'auto' uses sentence-transformers if available, otherwise falls back to the hashed n-gram TF-IDF backend. | auto |
| MCP_HTTP_PORT | No | Port for the HTTP transport server. | 8082 |
| VECTOR_BACKEND | No | Vector store backend: 'auto' uses Chroma if available, otherwise falls back to the Numpy .npz + JSON backend. | auto |
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 |
|---|---|
| store_analysisA | Store a completed triage analysis in the Historical KB. Accepts a dictionary with ticket_id (required) and any of: summary, description, product, component, version, root_cause, verdict, defect_type, confidence, affected_class, affected_method, error_type, error_message, error_code, stack_trace_signature, fix_description, fix_type, pr_link, pr_status, commit_hash, branch, files_changed, confluence_page_ids, related_tickets, analyst, model_used, tags, etc. If the ticket already has a record, fields are merged (non-empty new values overwrite existing). |
| get_analysisA | Retrieve the full analysis record for a ticket by its Jira key. Returns every field: root_cause, verdict, fix_description, PR link, affected class/method, error signature, confidence, timestamps, and all linked artefacts. |
| search_similarA | Hybrid semantic + keyword search for similar past defects in the KB. Combines dense vector similarity with BM25 keyword matching via Reciprocal Rank Fusion. Use this at the start of a new triage to find historical defects with similar error signatures, root causes, or affected components. Optional filters narrow results. |
| update_analysisB | Update fields on an existing analysis record. Common use: adding the PR link and commit hash after the fix is merged, updating verdict after further investigation, or enriching with confluence_page_ids. |
| list_analysesA | List stored analyses with optional filters by component, verdict, or product. Returns a compact summary per record for browsing/dashboarding. |
| delete_analysisA | Remove an analysis record from the KB (vectors, BM25 index, and JSON). |
| get_kb_statsA | Aggregate statistics: records by verdict, defect type, component, product, and average resolution time across the whole KB. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools are clearly distinct: get_analysis, list_analyses, search_similar, delete_analysis, and get_kb_stats each serve different purposes. However, store_analysis and update_analysis overlap because store_analysis is an upsert that merges fields into existing records, making the boundary between creating and updating ambiguous.
The naming is predominantly verb-first and predictable: store_, get_, update_, list_, delete_, search_, get_. Minor deviations include list_analyses being plural while other resource tools are singular, search_similar lacking a direct object, and get_kb_stats using an abbreviation instead of a full noun.
Seven tools is well-scoped for a knowledge-base server: full CRUD plus specialized search and statistics. Each tool earns its place, and the count is neither too thin nor excessively heavy.
The surface covers the full lifecycle of analysis records: create via store_analysis, read via get_analysis, update via update_analysis, delete via delete_analysis, and browse via list_analyses. The additional search_similar and get_kb_stats tools round out the domain without leaving obvious dead ends.