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
Metadata
Release files for iflow-mcp_michaelayles-mcp-embedded-docs 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0.tar.gz | 24.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.0 kB
Release files / iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0.tar.gz
| Download URL | iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0.tar.gz |
|---|---|
| Size | 24.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0955b74addb31bacf2cacdebd784c62e589fac3e581960734d19bff56ca938e
|
|
BLAKE2b-256 checksum How to use checksums |
b7eed65c04cb170857139e0e7a27e454a1f1c0e3ddea4eebe51c044c0ede6029
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|
Release files / iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_michaelayles_mcp_embedded_docs-0.1.0-py3-none-any.whl |
|---|---|
| Size | 33.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6759fc57d8a3134854f8eef0ef8e18fc12d0d50d8fd40ebf708f18113a45e0b3
|
|
BLAKE2b-256 checksum How to use checksums |
a24999121c1a3535e0815fbe2b8902e42ae77350008fb6b69287866d74e277c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|