home / mcp / diy helper mcp server

DIY Helper MCP Server

MCP servers for DIY consultation platform - building codes, materials, and manufacturer guides

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "jrszilard-diy-helper-mcp-servers": {
      "command": "python",
      "args": [
        "src/building_codes_server/server.py"
      ],
      "env": {
        "CODE_DATABASE_PATH": "/path/to/codes.json"
      }
    }
  }
}

You deploy MCP servers to provide real-time access to building codes, material specifications, and manufacturer guides through a consistent, programmable interface. This enables you to look up codes, compare materials, and generate shopping lists on demand, all from your preferred MCP client.

How to use

You run each MCP server locally or remotely and connect to it using an MCP client. For each server, you can search, query, and compute results like code sections, material details, and calculators. Typical workflows include looking up a code topic, retrieving a specific code section, checking compliance for a scenario, or calculating quantities for a project. When you start a server, you’ll interact with tools from the client’s tool list and call them by name with the required parameters.

How to install

Prerequisites: Python 3.8 or newer and pip.

1. Clone the project and enter the directory.

git clone https://github.com/yourusername/diy-helper-mcp-servers.git
cd diy-helper-mcp-servers

2. Create and activate a virtual environment.

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

3. Install dependencies.

pip install -r requirements.txt

4. Configure environment variables. Create a local environment file and add your API keys or database paths if needed.

cp .env.example .env
# Edit .env and add your API keys or required paths

Running the servers

Run the Building Codes server to enable code lookups and section retrieval.

python src/building_codes_server/server.py

Run the Material Specs server to enable product searches, details, and calculators.

python src/material_specs_server/server.py

Using with Claude Desktop

Configure your Claude Desktop to run the Building Codes server via Python with a path to the server file and an environment path for the codes database.

{
  "mcpServers": {
    "building-codes": {
      "command": "python",
      "args": ["src/building_codes_server/server.py"],
      "env": {
        "CODE_DATABASE_PATH": "/path/to/codes.json"
      }
    }
  }
}

Programmatic usage

You can connect to a local stdio MCP server from code by creating a client session and calling the exposed tools by name.

from anthropic import Anthropic
from mcp import ClientSession, StdioServerParameters

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": "outlet spacing in living room", "jurisdiction": "National"}
    )
    print(result)

Additional notes

The Building Codes server exposes tools for searching codes, retrieving sections, and listing categories. The Material Specs server exposes products, details, alternatives, compatibility checks, and multiple quantity calculators. Both servers can be started locally and connected to from MCP clients using the stdio configuration.

Available tools

search_building_codes

Perform a natural language search across building codes including NEC, IRC, and IPC.

get_code_section

Retrieve a specific code section by code reference or keyword.

check_code_compliance

Verify whether a given scenario complies with code requirements.

list_code_categories

Browse available code categories such as electrical, plumbing, structural, etc.

search_materials

Search for products across suppliers.

get_product_details

Get detailed product specifications.

find_alternatives

Find similar products at different price points.

check_compatibility

Verify product compatibility with other components.

calculate_wire_needed

Calculate electrical wire quantities for a project.

calculate_outlets_needed

Calculate outlet requirements per NEC.

calculate_tile_needed

Calculate tile quantities for rooms or surfaces.

calculate_paint_needed

Calculate paint requirements for surfaces.

calculate_deck_lumber

Calculate deck framing materials.

calculate_pex_pipe

Calculate plumbing pipe needs.

create_shopping_list

Generate a complete shopping list from material specs.