lemon-manuals-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lemon-manuals-mcpFind repair manuals for a 2005 BMW 325i"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lemon-manuals-mcp
Prototype MCP server (streamable HTTP, stateless) for the self-hosted
LEMON/CHARM car-repair-manual archive (home-lab repo
kubernetes/apps/lemon-manuals/).
Tools:
list_makes— all makes with vehicle counts and year rangessearch_vehicles— free-text over make/model/engine/year → grouped drivetrains, variants, and all source manualsget_page— opaque encoded site path → normalized markdown, with tree depth and byte controlssearch_manual— persistent FTS5 search over titles and/or body text, deduplicated by document contentget_image— opaque encoded image path → validated MCP image block (2 MB maximum; never truncated)
All returned paths are opaque encoded tokens. Pass them to get_page,
search_manual, or get_image exactly as returned; never decode or rebuild them.
search_manual defaults to mode: "both"; title and body are also
available. Results contain a body-text snippet, an also_under list for
duplicate tree placements, and parsed from/through applicability when the
publisher labels it. Image-only pages are identified explicitly.
Browse/search is answered locally from the databases' index.json files
(~305k vehicles, ~200ms load); page content is fetched from the lemon-website
server and converted with turndown. Relative and /hyperlink/... references are
normalized to absolute encoded site paths that can be passed directly back to
the tools.
Manual full-text data lives in data/manual-search.sqlite by default. A first
search tree-walks and persists an unindexed manual. mode: "title" only fetches
matching leaves; body/both completes the manual's body index and can
therefore be slow on first use. Production should prebuild the index:
# One or more opaque vehicle roots (recommended for incremental rollout)
bun run index-manuals -- '/Volkswagen/2005/Touareg%20%287LA%29%20V8-4.2L%20%28BHX%29/'
# No arguments indexes every isComplete vehicle. This is a full-corpus job.
bun run index-manualsSetup
The index files are gitignored (147MB, re-fetchable from the cluster):
kubectl -n lemon-manuals exec deploy/lemon-website -- cat /data/charm/index.json > data/charm-index.json
kubectl -n lemon-manuals exec deploy/lemon-website -- cat /data/lemon/index.json > data/lemon-index.jsonThe server needs HTTP reach to lemon-website. For local dev:
kubectl -n lemon-manuals port-forward deploy/lemon-website 18080:8080Env: LEMON_BASE_URL (default http://127.0.0.1:18080), LEMON_DATA_DIR
(default ./data), and LEMON_SEARCH_DB (default
$LEMON_DATA_DIR/manual-search.sqlite). The search database directory must be
writable and persistent if lazy indexing is enabled.
Related MCP server: docs-mcp
Run / register
With Bun available on PATH, either installed directly or through an activated
mise environment:
bun src/index.ts # HTTP server on :8787 (/mcp, /healthz)
bun test/client.ts # end-to-end smoke (needs port-forward)
bun run live-corpus # one complete manual/corpus/decade
bun test # hermetic regression suite
bun run typecheck
claude mcp add --transport http lemon-manuals http://127.0.0.1:8787/mcpThe pages.mtbl direct-read option (vendored oxidized-mtbl crate in
kelchm/lemon-website) can eventually replace the HTML ingestion round-trip.
This server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceMCP server for markdown files — search, extract sections, list headings, find code blocks across docs.6675MIT
- FlicenseNot gradedqualityDmaintenanceIndexes documentation sites by base URL and serves keyword search, optional semantic search, and Markdown page retrieval as MCP tools, all from a single SQLite file.
- AlicenseAqualityBmaintenanceEnables searching, reading, and listing pages from the official chezmoi documentation. Supports caching and Markdown conversion for LLM-friendly access.4MIT
- AlicenseNot gradedqualityDmaintenanceProvides local search and git-synced access to Klipper 3D printer documentation.10MIT
Related MCP Connectors
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
DevDocs.io keyless docs index + entry search + content (Angular, MDN, Rust, etc.).
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
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/kelchm/lemon-manuals-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server