๐Ÿ—๏ธ ClaudeHopper - AI-Powered Construction Document Assistant

๐Ÿ—๏ธ ClaudeHopper - AI-Powered Construction Document Assistant

AI-powered MCP server that enables Claude and other LLMs to interact directly with construction documents, drawings, and specifications through advanced RAG and hybrid search capabilities.

Arborist-ai

Developer Tools
Visit Server

README

๐Ÿ—๏ธ ClaudeHopper - AI-Powered Construction Document Assistant

Node.js 18+ License: MIT

ClaudeHopper is a specialized Model Context Protocol (MCP) server that enables Claude and other LLMs to interact directly with construction documents, drawings, and specifications through advanced RAG (Retrieval-Augmented Generation) and hybrid search. Ask questions about your construction drawings, locate specific details, and analyze technical specifications with ease.

โœจ Features

  • ๐Ÿ” Vector-based search for construction document retrieval optimized for CAD drawings, plans, and specs
  • ๐Ÿ–ผ๏ธ Visual search to find similar drawings based on textual descriptions
  • ๐Ÿข Specialized metadata extraction for construction industry document formats
  • ๐Ÿ“Š Efficient token usage through intelligent document chunking and categorization
  • ๐Ÿ”’ Security through local document storage and processing
  • ๐Ÿ“ˆ Support for various drawing types and construction disciplines (Structural, Civil, Architectural, etc.)

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • Ollama for local AI models
    • Required models: nomic-embed-text, phi4, clip
  • Claude Desktop App
  • For image extraction: Poppler Utils (pdfimages command)

One-Click Setup

  1. Download ClaudeHopper
  2. Run the setup script:
cd ~/Desktop/claudehopper
chmod +x run_now_preserve.sh
./run_now_preserve.sh

This will:

  • Create the necessary directory structure
  • Install required AI models
  • Process your construction documents
  • Configure the Claude Desktop App to use ClaudeHopper

Adding Documents

Place your construction documents in these folders:

  • Drawings: ~/Desktop/PDFdrawings-MCP/InputDocs/Drawings/
  • Specifications: ~/Desktop/PDFdrawings-MCP/InputDocs/TextDocs/

After adding documents, run:

./process_pdfdrawings.sh

๐Ÿ—๏ธ Using ClaudeHopper with Claude

Try these example questions in the Claude Desktop App:

"What architectural drawings do we have for the project?"
"Show me the structural details for the foundation system"
"Find drawings that show a concrete foundation with dimensions"
"Search for lift station layout drawings"
"What are the specifications for interior paint?"
"Find all sections discussing fire protection systems"

๐Ÿ› ๏ธ Technical Architecture

ClaudeHopper uses a multi-stage pipeline for processing construction documents:

  1. Document Analysis: PDF documents are analyzed for structure and content type
  2. Metadata Extraction: AI-assisted extraction of project information, drawing types, disciplines
  3. Content Chunking: Intelligent splitting of documents to maintain context
  4. Image Extraction: Identification and extraction of drawing images from PDFs
  5. Vector Embedding: Creation of semantic representations for text and images
  6. Database Storage: Local LanceDB storage for vector search capabilities

๐Ÿ‘€ Testing the Image Search

To test the image search functionality, you can use the provided test script:

# Make the test script executable
chmod +x test_image_search.sh

# Run the test script
./test_image_search.sh

This will:

  • Build the application
  • Check for required dependencies (like pdfimages)
  • Seed the database with images from your drawings directory
  • Run a series of test queries against the image search

You can also run individual test commands:

# Run the test with the default database location
npm run test:image:verbose

# Run the test with a specific database location
node tools/test_image_search.js /path/to/your/database

๐Ÿ“ Available Search Tools

ClaudeHopper provides several specialized search capabilities:

  • catalog_search: Find documents by project, discipline, drawing type, etc.
  • chunks_search: Locate specific content within documents
  • all_chunks_search: Search across the entire document collection
  • image_search: Find drawings based on visual similarity to textual descriptions

Examples of using the image search feature can be found in the image_search_examples.md file.

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python