DIY Helper MCP Servers
Provides access to residential building codes (NEC, IRC, IPC), material specifications with pricing, and project calculators for DIY construction projects. Enables code compliance checking, material search across suppliers, and automated quantity calculations for electrical, plumbing, and construction materials.
README
DIY Helper MCP Servers
Model Context Protocol (MCP) servers for the DIY Helper platform. Provides building code lookups, material specifications, and manufacturer guide access for real-time consultation support.
Servers
Building Codes Server
Provides access to residential building codes including:
- NEC (National Electrical Code)
- IRC (International Residential Code)
- IPC (International Plumbing Code)
Tools:
search_building_codes- Natural language code searchget_code_section- Retrieve specific code sectionscheck_code_compliance- Verify scenario compliancelist_code_categories- Browse available codes
Material Specs Server
Provides real-time material search, pricing, and quantity calculations.
Tools:
search_materials- Search for products across suppliersget_product_details- Get detailed product specificationsfind_alternatives- Find similar products at different price pointscheck_compatibility- Verify product compatibilitycalculate_wire_needed- Calculate electrical wire quantitiescalculate_outlets_needed- Calculate outlet requirements per NECcalculate_tile_needed- Calculate tile quantitiescalculate_paint_needed- Calculate paint requirementscalculate_deck_lumber- Calculate deck framing materialscalculate_pex_pipe- Calculate plumbing pipe needscreate_shopping_list- Generate complete shopping lists
Running:
python src/material_specs_server/server.py
Installation
Prerequisites
- Python 3.8+
- pip
Setup
- Clone the repository:
git clone https://github.com/yourusername/diy-helper-mcp-servers.git
cd diy-helper-mcp-servers
- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure environment:
cp .env.example .env
# Edit .env and add your API keys
Usage
Running the Building Codes Server
python src/building_codes_server/server.py
Using with Claude Desktop
Add to your Claude Desktop config (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"
}
}
}
}
Using Programmatically
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)
Development
Adding New Codes
Edit 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"]
}
Running Tests
Testing
Run All Tests
# Run all tests
./run_all_tests.sh
# Or run individually:
python tests/test_building_codes.py
python tests/test_material_server.py
Test Coverage
Building Codes Server:
- ✓ Code search functionality
- ✓ Specific section retrieval
- ✓ Category listing
- ✓ Common DIY questions
- ✓ Jurisdiction filtering
- ✓ Edge case handling
Material Specs Server:
- ✓ Product search
- ✓ Product details
- ✓ Material calculators (7 types)
- ✓ Alternative products
- ✓ Compatibility checks
- ✓ Shopping list generation
Quick Tests
# 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 Testing Interface
For testing on Linux or without Claude Desktop, use the web interface:
Prerequisites
# Install Flask
pip install flask
# Set your Anthropic API key
export ANTHROPIC_API_KEY='your-key-here'
Run the Web Interface
python test_web_interface.py
Then open your browser to: http://localhost:5000
Features
- Interactive chat with Claude + MCP tools
- Real-time building code lookups
- Material search and pricing
- Project calculators
- Complete conversation history
- Example queries to get started
Example Queries
Try these in the web interface:
- "What are the outlet spacing requirements for a kitchen?"
- "Search for 12 gauge wire and show me prices"
- "Calculate how much wire I need for a 40-foot circuit"
- "I'm installing a dishwasher 30 feet from the panel. What do I need?"
Roadmap
- [ ] Vector search integration (Pinecone/pgvector)
- [ ] Material specs server
- [ ] Manufacturer guides server
- [ ] Jurisdictional code amendments
- [ ] Image analysis for code compliance
- [ ] Cost estimation tools
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
MIT License - See LICENSE file for details
Support
- Documentation: docs/setup.md
- Issues: https://github.com/yourusername/diy-helper-mcp-servers/issues
- Email: support@yourplatform.com
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.