Homelab Asset DB MCP Server
Enables LLMs to query a Markdown-based homelab asset database for device information, including searching by name, VLAN, or category.
README
homelab-asset-db-mcp
Query a Markdown-based homelab asset database via Model Context Protocol.
A tiny FastMCP stdio server that turns a
plain-Markdown inventory of your homelab (servers, LXC containers, Raspberry
Pis, smart-home gadgets, …) into structured MCP tools. An LLM connected via
MCP can then answer "where does pve01 run", "which IP has the printer" or
"what's on the smart-home VLAN" directly — no reading and grepping the
Markdown file on every query.
Read-only, no hosting, no auth, no API credits. The data lives in a file you own; this repo only carries the parser + a fictional sample.
Why
Most homelab inventories live as a Markdown table in someone's notes. That's great for humans and terrible for an agent, which has to fetch the whole file and pattern-match every time. This server parses the tables once per call and exposes four precise lookups instead.
Sibling to iobroker-mcp,
paperless-bulk-mcp and
nanobanana-render-mcp —
same FastMCP scaffolding, different domain.
Tools
| Tool | Argument | Purpose |
|---|---|---|
find_device(query) |
free-text string | full-text search across all fields |
get_device(name_or_hostname) |
exact name/hostname | a single device |
list_devices_by_vlan(vlan) |
VLAN name (substring) | all devices on a VLAN |
list_devices_by_category(cat) |
Server/LXC/RasPi/Office/SmartHome/Entertainment/Network/Unknown | all devices in a section |
All tools return JSON. Fields with no value are omitted from the response.
Setup
git clone https://github.com/McCavity/homelab-asset-db-mcp.git
cd homelab-asset-db-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Out of the box the server reads the bundled asset-db.sample.md (fictional
data), so it runs immediately.
Configuration
Point the server at your own database with the ASSET_DB_PATH environment
variable. Your real file stays outside this repo (it's gitignored):
export ASSET_DB_PATH=~/notes/homelab/asset-db.md
~ is expanded. If ASSET_DB_PATH is unset, the bundled sample is used. A
.env file next to server.py is also read (see .env.example); values
already in the environment win, so an MCP host's env config takes precedence.
Register with Claude Code
claude mcp add --transport stdio --scope user homelab-asset-db \
--env ASSET_DB_PATH=/absolute/path/to/your/asset-db.md \
-- /absolute/path/to/homelab-asset-db-mcp/venv/bin/python \
/absolute/path/to/homelab-asset-db-mcp/server.py
Then /mcp lists the server and the four tools become callable in any session.
Data format
The database is Markdown. Each ## heading starts a section; the first table
row after it is the header, the rest are devices. Section headings are mapped
to categories in CATEGORY_MAP in server.py — headings not listed there
(e.g. a "Naming Scheme" table) are treated as documentation and skipped.
Columns may differ per section; each device keeps whatever columns its table
defines. Both English and German section headings are recognised. See
asset-db.sample.md for the full shape.
The file is re-parsed on every tool call — no caching, no restart when it changes.
Testing
python -m unittest discover -s tests -v
Covers the bundled English sample and a German fixture (so a change that breaks real-world German-headed databases fails the suite).
Known limits
- No resources (
@mcp.resource) — devices without a hostname would have no stable URI. Could be added later with a slug generator. - No caching — the file is re-parsed per call. Fine for a few hundred rows; cache + mtime-invalidate for larger inventories.
- Read-only by design — no write tools.
License
MIT © 2026 Henning Halfpap
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。