DIY助手MCP服务器

DIY助手平台的模型上下文协议服务器,提供建筑规范查询、材料规格和制造商指南访问,用于实时咨询支持。

  • by jrszilard
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jrszilard/diy-helper-mcp-servers

使用说明

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+
  • 点

设置

  1. 克隆存储库:
git clone https://github.com/yourusername/diy-helper-mcp-servers.git
cd diy-helper-mcp-servers
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境:
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.py

Web测试界面

要在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)
  • []材料规格服务器
  • []制造商指南服务器
  • []管辖法规修订
  • []代码合规性图像分析
  • []成本估算工具

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

  • 文档: docs/setup.md
  • 问题:https://github.com/yourusername/diy-helper-mcp-servers/issues
  • 电子邮件:support@yourplatform.com