MCP server for embedded systems documentation
Project description
bitwise-mcp
MCP server for embedded developers. Ingests PDF reference manuals (1000+ pages), extracts register definitions, and provides fast semantic search.
Features
- PDF Ingestion - Parses large reference manuals preserving structure
- Register Table Extraction - Detects and converts register definitions to structured JSON
- Hybrid Search - Combines keyword matching (SQLite FTS5) with semantic similarity (FAISS)
- Compact Output - Formats responses to minimize token usage
Installation
poetry install
# Add to Claude Code
claude mcp add embedded-docs --command poetry --args "run" "mcp-embedded-docs" "serve" --cwd "<path-to-this-repo>"
Restart Claude Code after adding the server.
Usage
Place PDFs in a docs/ directory, then in Claude Code:
What PDFs are available?
Ingest any files that haven't been ingested yet
What's the base address for FlexCAN0?
Example: Checking Available PDFs
Example: Searching Documentation
The MCP server automatically queries the indexed documentation when you ask questions:
CLI Usage
Or use CLI directly:
poetry run mcp-embedded-docs ingest docs/manual.pdf --title "MCU Manual"
poetry run mcp-embedded-docs list # View indexed documents
MCP Tools
- search_docs - Search documentation with hybrid retrieval
- find_register - Find specific register definitions
- list_docs - List all documentation files with status (indexed + available)
- ingest_docs - Ingest documentation files into the search index
- remove_docs - Remove documents from the search index by ID
Tech Stack
Python 3.10+ • PyMuPDF • pdfplumber • sentence-transformers • FAISS • SQLite FTS5
Performance
Tested: S32K144 Reference Manual (2,179 pages, 14MB) Results: 3min indexing, <500ms search, ~500MB memory
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0955b74addb31bacf2cacdebd784c62e589fac3e581960734d19bff56ca938e
|
|
| MD5 |
9c9708a57fa5269b3f7e489bd5bc6b38
|
|
| BLAKE2b-256 |
b7eed65c04cb170857139e0e7a27e454a1f1c0e3ddea4eebe51c044c0ede6029
|
File details
Details for the file iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6759fc57d8a3134854f8eef0ef8e18fc12d0d50d8fd40ebf708f18113a45e0b3
|
|
| MD5 |
4d6ef1cf53ec69f7c99babdd6525e102
|
|
| BLAKE2b-256 |
a24999121c1a3535e0815fbe2b8902e42ae77350008fb6b69287866d74e277c8
|