位mcp
面向嵌入式开发人员的MCP服务器。采用PDF参考手册(1000多页),提取寄存器定义,并提供快速语义搜索。建于 FastMCP 并且可以作为Claude Code插件使用。
特性
- PDF摄入 -解析大型参考手册,保留结构
- 注册表提取 -检测寄存器定义并将其转换为结构化JSON
- 混合搜索 -将关键字匹配(SQLite FTS5)与语义相似性(FAISS)相结合
- 上下文感知分块 -块包括节层次前缀(例如。
[Manual > FlexCAN > MCR Register])为了更好地检索 - 句子意识分裂 -文本在句子边界上分裂,有1-2个句子重叠,从不在单词中间
- 紧凑型输出 -格式化响应以最大限度地减少令牌使用
安装
选项1:克劳德代码插件(推荐)
直接从Claude Code插件市场安装:
claude plugin add bitwise-embedded-docs这将注册MCP服务器并添加 /ingest-docs 和 /search-docs 斜线命令。
选项2:全局安装
安装一次,在所有项目中使用:
# From this repository directory
pip install -e .
# Then in ANY project directory where you want to use it
claude mcp add --scope project embedded-docs python -m mcp_embedded_docs每个项目都有自己的独立文档索引。当您在项目中运行服务器时,它仅对该项目中的PDF进行索引和搜索 docs/ 目录。
选项3:诗歌安装(开发)
poetry install
# Add to Claude Code
claude mcp add embedded-docs --command poetry --args "run" "mcp-embedded-docs" "serve" --cwd "
"添加服务器后重新启动Claude Code。
用法
将PDF放入 docs/ 目录,然后在Claude Code中:
What PDFs are available?
Ingest any files that haven't been ingested yet
What's the base address for FlexCAN0?示例:检查可用的PDF
.PNG>)
示例:搜索文档
当您提问时,MCP服务器会自动查询索引文档:
![Documentation search in action]()
CLI使用情况
poetry run mcp-embedded-docs ingest docs/manual.pdf --title "MCU Manual"
poetry run mcp-embedded-docs list # View indexed documentsMCP工具
| 工具 | 说明 |
|---|---|
search_docs | 使用混合关键字+语义检索搜索文档 |
find_register | 按名称查找特定的寄存器定义 |
list_docs | 列出所有文档文件及其状态(已索引+可用) |
ingest_docs | 将PDF文档文件纳入搜索索引 |
remove_docs | 按ID从搜索索引中删除文档 |
建筑
建立在 FastMCP 对于MCP服务器层。摄入管道:
- PDF解析 (PyMuPDF)-提取具有布局、TOC和节层次结构的文本
- 表检测 (pdfplumber)-标识寄存器映射、位字段定义、内存映射
- 语义分块 -使用上下文层次前缀、句子感知拆分和基于内容的重复数据删除的纯叶子部分组块
- 嵌入 (sentence-transformers,bge-small-en-v1.5)-本地嵌入,无API调用
- 索引 (FAISS+SQLite FTS5)-混合向量+关键字搜索
技术栈
Python 3.10+| FastMCP | PyMuPDF | pdfplumber |句子转换器| FAISS | SQLite FTS5
演出
测试: S32K144参考手册(2179页,14MB) 结果: 3分钟索引,\<500ms搜索,~500MB内存
