DIY助手MCP服务器
DIY助手平台的模型上下文协议(MCP)服务器。提供建筑规范查找、材料规格和制造商指南访问,以获得实时咨询支持。
服务器
建筑规范服务器
提供对住宅建筑规范的访问,包括:
- NEC(国家电气规范)
- IRC(国际住宅规范)
- IPC(国际管道规范)
工具:
search_building_codes-自然语言代码搜索get_code_section-检索特定代码段check_code_compliance-验证场景合规性list_code_categories-浏览可用代码
材料规格服务器
提供实时物料搜索、定价和数量计算。
工具:
search_materials-在供应商中搜索产品get_product_details-获取详细的产品规格find_alternatives-查找不同价位的类似产品check_compatibility-验证产品兼容性calculate_wire_needed-计算电线数量calculate_outlets_needed-根据NEC计算插座要求calculate_tile_needed-计算瓷砖数量calculate_paint_needed-计算油漆要求calculate_deck_lumber-计算甲板框架材料calculate_pex_pipe-计算给排水管道需求create_shopping_list-生成完整的购物清单
正在运行:
python src/material_specs_server/server.py安装
先决条件
- Python 3.8+
- 点
设置
- 克隆存储库:
git clone https://github.com/yourusername/diy-helper-mcp-servers.git
cd diy-helper-mcp-servers- 创建虚拟环境:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 配置环境:
cp .env.example .env
# Edit .env and add your API keys用法
运行建筑规范服务器
python src/building_codes_server/server.py与Claude Desktop一起使用
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"building-codes": {
"command": "python",
"args": ["/path/to/diy-helper-mcp-servers/src/building_codes_server/server.py"],
"env": {
"CODE_DATABASE_PATH": "/path/to/codes.json"
}
}
}
}程序化使用
from anthropic import Anthropic
from mcp import ClientSession, StdioServerParameters
# Initialize MCP client
server_params = StdioServerParameters(
command="python",
args=["src/building_codes_server/server.py"]
)
async with ClientSession(server_params) as session:
# Initialize connection
await session.initialize()
# List available tools
tools = await session.list_tools()
# Call a tool
result = await session.call_tool(
"search_building_codes",
{"query": "outlet spacing in living room", "jurisdiction": "National"}
)
print(result)发展
添加新代码
编辑 src/building_codes_server/codes.json:
{
"id": "unique-id",
"code_ref": "CODE SECTION",
"title": "Code Title",
"category": "electrical|plumbing|structural|mechanical|general",
"jurisdiction": "National|State|City",
"summary": "Plain English summary",
"source": "Official source citation",
"common_questions": ["question 1", "question 2"],
"notes": "Additional context",
"related_codes": ["RELATED-1", "RELATED-2"]
}运行测试
测试
运行所有测试
# Run all tests
./run_all_tests.sh
# Or run individually:
python tests/test_building_codes.py
python tests/test_material_server.py测试覆盖率
建筑规范服务器:
- ✓ 代码搜索功能
- ✓ 特定章节检索
- ✓ 类别列表
- ✓ 常见DIY问题
- ✓ 管辖权过滤
- ✓ 边缘案例处理
材料规格服务器:
- ✓ 产品搜索
- ✓ 产品详情
- ✓ 材料计算器(7种)
- ✓ 替代产品
- ✓ 兼容性检查
- ✓ 购物清单生成
快速测试
# Test building codes server directly
python src/building_codes_server/server.py
# Test material specs server directly
python src/material_specs_server/server.pyWeb测试界面
要在Linux上或没有Claude Desktop的情况下进行测试,请使用web界面:
先决条件
# Install Flask
pip install flask
# Set your Anthropic API key
export ANTHROPIC_API_KEY='your-key-here'运行Web界面
python test_web_interface.py然后打开浏览器:http://localhost:5000
特性
- 与Claude+MCP工具互动聊天
- 实时建筑代码查找
- 材料搜索和定价
- 项目计算器
- 完整的对话历史记录
- 示例查询开始
查询示例
在web界面中尝试以下操作:
- “厨房的插座间距要求是什么?”
- “搜索12号线并显示价格”
- “计算40英尺电路需要多少电线”
- “我在离面板30英尺的地方安装洗碗机。我需要什么?”
路线图
- \[\]矢量搜索集成(Pinecone/pgvector)
- \[\]材料规格服务器
- \[\]制造商指南服务器
- \[\]管辖法规修订
- \[\]代码合规性图像分析
- \[\]成本估算工具
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
- 文档: docs/setup.md
- 问题:https://github.com/yourusername/diy-helper-mcp-servers/issues
- 电子邮件:support@yourplatform.com
