Back to MCP directory
publicPublicdnsLocal runtime

diy-helper-mcp-servers

DIY助手MCP服务器项目,提供建筑规范查询、材料规格搜索和制造商指南访问功能,用于实时咨询支持。

article

README

🚀 DIY Helper MCP 服务器

DIY Helper 平台的模型上下文协议(MCP)服务器。提供建筑规范查询、材料规格信息以及制造商指南访问功能,以支持实时咨询服务。

🚀 快速开始

安装

前提条件

  • Python 3.8 及以上版本
  • pip

安装步骤

  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  # 在 Windows 系统上使用:venv\Scripts\activate
  1. 安装依赖:
pip install -r requirements.txt
  1. 配置环境:
cp .env.example .env
# 编辑 .env 文件并添加你的 API 密钥

运行服务器

运行建筑规范服务器

python src/building_codes_server/server.py

在 Claude Desktop 中使用

在你的 Claude Desktop 配置文件(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

# 初始化 MCP 客户端
server_params = StdioServerParameters(
    command="python",
    args=["src/building_codes_server/server.py"]
)

async with ClientSession(server_params) as session:
    # 初始化连接
    await session.initialize()
    
    # 列出可用工具
    tools = await session.list_tools()
    
    # 调用工具
    result = await session.call_tool(
        "search_building_codes",
        {"query": "客厅插座间距要求", "jurisdiction": "国家层面"}
    )
    print(result)

✨ 主要特性

服务器功能

建筑规范服务器

提供住宅建筑规范查询服务,包括:

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

安装步骤

  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  # 在 Windows 系统上使用:venv\Scripts\activate
  1. 安装依赖:
pip install -r requirements.txt
  1. 配置环境:
cp .env.example .env
# 编辑 .env 文件并添加你的 API 密钥

💻 使用示例

基础用法

运行建筑规范服务器

python src/building_codes_server/server.py

运行材料规格服务器

python src/material_specs_server/server.py

高级用法

在 Claude Desktop 中使用

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

# 初始化 MCP 客户端
server_params = StdioServerParameters(
    command="python",
    args=["src/building_codes_server/server.py"]
)

async with ClientSession(server_params) as session:
    # 初始化连接
    await session.initialize()
    
    # 列出可用工具
    tools = await session.list_tools()
    
    # 调用工具
    result = await session.call_tool(
        "search_building_codes",
        {"query": "厨房插座间距要求", "jurisdiction": "国家层面"}
    )
    print(result)

📚 详细文档

开发相关

添加新规范

编辑 src/building_codes_server/codes.json 文件:

{
  "id": "唯一标识符",
  "code_ref": "规范章节",
  "title": "规范标题",
  "category": "电气|给排水|结构|机械|通用",
  "jurisdiction": "国家|州|城市",
  "summary": "通俗易懂的摘要",
  "source": "官方来源引用",
  "common_questions": ["问题 1", "问题 2"],
  "notes": "额外说明",
  "related_codes": ["相关规范 1", "相关规范 2"]
}

运行测试

运行所有测试
# 运行所有测试
./run_all_tests.sh

# 或者单独运行:
python tests/test_building_codes.py
python tests/test_material_server.py
测试覆盖率

建筑规范服务器:

  • ✓ 规范搜索功能
  • ✓ 特定章节检索
  • ✓ 类别列表
  • ✓ 常见 DIY 问题
  • ✓ 管辖范围过滤
  • ✓ 边缘情况处理

材料规格服务器:

  • ✓ 产品搜索
  • ✓ 产品详情
  • ✓ 材料计算器(7 种类型)
  • ✓ 替代产品
  • ✓ 兼容性检查
  • ✓ 购物清单生成
快速测试
# 直接测试建筑规范服务器
python src/building_codes_server/server.py

# 直接测试材料规格服务器
python src/material_specs_server/server.py

网页测试界面

对于 Linux 系统用户或未使用 Claude Desktop 的用户,可以使用网页界面进行测试:

前提条件

# 安装 Flask
pip install flask

# 设置你的 Anthropic API 密钥
export ANTHROPIC_API_KEY='你的 API 密钥'

运行网页界面

python test_web_interface.py

然后在浏览器中打开:http://localhost:5000

功能特性

  • 与 Claude 和 MCP 工具进行交互式聊天
  • 实时建筑规范查询
  • 材料搜索和定价
  • 项目计算器
  • 完整对话历史记录
  • 提供示例查询以帮助上手

示例查询

在网页界面中尝试以下查询:

  • "厨房插座间距要求是多少?"
  • "搜索 12 号电线并显示价格"
  • "计算 40 英尺电路所需的电线数量"
  • "我要在距离配电盘 30 英尺处安装洗碗机,需要什么材料?"

🚧 路线图

  • [ ] 集成向量搜索(Pinecone/pgvector)
  • [ ] 完善材料规格服务器
  • [ ] 开发制造商指南服务器
  • [ ] 支持辖区规范修订
  • [ ] 实现图像分析以检查规范合规性
  • [ ] 开发成本估算工具

🤝 贡献指南

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 提交拉取请求

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

🛠️ 支持与反馈

  • 文档:docs/setup.md
  • 问题反馈:https://github.com/yourusername/diy-helper-mcp-servers/issues
  • 邮箱:support@yourplatform.com
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client