Knowledge MCP
The Knowledge MCP server gives the agent release-backed access to Apache Camel documentation, component references, migration guides, CVE advisories, release notes and Jira issues, from a locally cached index rather than a live crawl. Knowledge MCP 0.0.2 accompanies Camel Kit 0.4.1. Its index, built on 2026-09-21, holds 20,367 documents covering the supported 4.18 and 4.22 LTS lines, with release history from 4.18 to 4.22; camel_docs_index_info reports the installed corpus.
The server is developed in knowledge/ in the Camel Kit repository, with its own version line. Source builds use the Maven group org.apache.camel and Java package org.apache.camel.kit.knowledge. The published 0.0.2 runner retains its original coordinates. init configures it automatically; to run it by hand:
jbang io.github.luigidemasi:camel-kit-knowledge-mcp:0.0.2:runner It speaks stdio and opens no HTTP port by default. For HTTP on localhost add -Dquarkus.http.host-enabled=true -Dquarkus.http.host=127.0.0.1 -Dquarkus.http.port=9090 before the coordinate.
Tools
The server exposes seven camel_docs_* tools. The workflow manifest allowlists five of them for the generated Camel Kit workflow; the other two remain available to direct MCP clients.
| Tool | Purpose | Parameters |
|---|---|---|
| Hybrid search across component references, EIPs, the user manual, migration guides, getting-started guides and release notes |
|
| Reference documentation, examples and options of one component; exact indexed matches are reported separately from fuzzy full-text fallbacks |
|
| CVE advisories by ID, component, severity or fixed-in version, with CVSS and CWE details when NVD enrichment was available | optional |
| Release notes of a version with features, fixes and Jira references |
|
| A Jira issue and the indexed release in which it was fixed |
|
| Deterministic validation of one endpoint URI against the catalog bundled in the server, Camel 4.22.1 in this release; reports unknown components or options and missing required options |
|
| Document count, covered Camel versions, document types, embedding model and search mode of the active index | none |
Search pipeline
General searches blend Lucene BM25 keyword scoring (20 percent) with a KNN vector search over 384-dimensional Granite embeddings (80 percent), then rerank the candidates with a local cross-encoder before applying the result limit. Keywords keep exact identifiers such as kafka, CVE-2024-22369 or autoOffsetReset from being displaced by semantically similar results; vectors find documents whose wording differs from the question. Component lookup uses exact field matching first and marks any full-text fallback as fuzzy.
If the embedding model is unavailable or does not match the index, the server disables vector retrieval and continues with BM25 and the reranker; if the reranker is unavailable, it returns the retrieval order. Embedding and reranking run locally through ONNX Runtime; queries are not sent to an external model API.
| Model | Value |
|---|---|
Embedding | granite-embedding-small-english-r2, Q8 ONNX, 384 dimensions, 8,192-token maximum, 2,048 tokens per chunk by default |
Reranker | ms-marco-MiniLM-L-6-v2, Q8 ONNX |
Index | Lucene 9.12.1, vectors stored as |
What is indexed
-
Component and EIP documentation from Apache Camel, Camel Quarkus and Camel Spring Boot, plus the structured catalog metadata: URI syntax, options, producer and consumer properties, examples.
-
The CVE advisories published with the Camel website, each with its affected and fixed versions and severity, and CVSS, vector and CWE details when the rebuild could enrich them from NVD or, as a fallback, from the CIRCL vulnerability lookup.
-
Release notes with features, fixes, breaking changes and dependency updates, enriched with the Jira issue details.
-
Migration guides, user manual chapters and getting-started guides.
Index distribution and cache
The index is published as knowledge-index.zip with an index.json manifest in a GitHub release of the knowledge repository; it is not inside the MCP Maven artifact, and normal use needs neither a clone of that repository nor the indexer. The server resolves the index lazily on the first knowledge query in each process. The published 0.0.2 runner uses its original manifest location in luigidemasi/camel-kit-knowledge; it remains available for existing installations.
Migrated source builds discover releases through https://api.github.com/repos/apache/camel-kit/releases, selecting the newest published knowledge-index-v1-YYYY.MM.DD-HHMMSS tag. Product tags, drafts, prereleases and other format channels are ignored. The v1 contract is Lucene 9, the model granite-embedding-small-english-r2-q8, 384 dimensions and manifest formatVersion: 1. Model/format mismatches are rejected before activation. Legacy manifests can omit format and dimension fields only when they identify the v1 model.
-
knowledge.index.pathopens a local index directory directly, without network access. -
knowledge.index.version=YYYY.MM.DD-HHMMSSpins an exact published index version. -
knowledge.index.urloverrides discovery with a specific HTTPS or file manifest, including a mirror or the legacy URLhttps://github.com/luigidemasi/camel-kit-knowledge/releases/latest/download/index.json. -
knowledge.index.releases-urloverrides the GitHub-compatible API endpoint.
Downloaded archives are SHA-256 checked and activated atomically in ~/.camel-kit/knowledge-index/. Failed checks, downloads or activations keep the previous working cache. A pinned client falls back only to its exact cached version. Discovery follows at most ten pages of 100 releases each, with a five-second deadline per page; use an explicit manifest if the list exceeds this bound. The first monorepo index must be published before its discovery endpoint is usable; until then use a local index or explicit legacy manifest.
Rebuild with ./mvnw -B -pl knowledge/index -am -Prebuild-index install from the repository root. Maintainers review generated data before manually dispatching Index Release from main; the workflow validates retrieval with working vectors before publication. Index publication is independent of Kit and Knowledge server releases.
Rebuilding the index
Rebuilding is a maintainer task. From a checkout of the knowledge repository:
./mvnw -pl index -Prebuild-index -am -B install The rebuild refreshes the Camel website’s release metadata and selects every supported LTS line, adding the latest release line only when it is not an LTS; it then resolves the latest release tags of those lines, renders their documentation, downloads the catalog metadata, parses release notes and advisories, enriches Jira and NVD data, generates or reuses cached embeddings and writes the Lucene files with the manifest skeleton. CVE enrichment needs no API key; requests are rate-limited and cached, and a failed lookup is retried at a later rebuild. The reviewed index is committed, and the manually dispatched release workflow packages and publishes the archive and the completed manifest after a retrieval-quality gate.
| Module | Purpose |
|---|---|
| Lucene field definitions and the document builder |
| Local ONNX embedding and reranker support |
| Version resolution, crawling, parsing, chunking and indexing |
| The rebuilt Lucene files and the release manifest inputs |
| The Quarkus MCP server exposing the seven tools and resolving the released index |
The camel-knowledge skill
/camel-knowledge is a prescriptive question-and-answer layer over the five allowlisted tools. A standalone question runs in the primary session: component configuration goes to camel_docs_component_info, troubleshooting and best-practice questions go to camel_docs_search, and the answer cites its sources. When a pipeline stage needs documentation context, the generated instructions isolate the lookup in a read-only research role where the agent has one (Bob 2’s reviewer preset, Antigravity’s reviewer, Qwen’s reviewer leaf, OpenCode’s researcher task) and run it inline on Pi. The role returns a concise answer with references instead of raw search results, and a failed lookup is reported as missing evidence rather than replaced with invented documentation.