ClaudeHopper
ποΈ ClaudeHopper - AI-Powered Construction Document Assistant
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
- Required models:
- Claude Desktop App
- For image extraction: Poppler Utils (
pdfimages
command)
One-Click Setup
- Download ClaudeHopper
- 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:
- Document Analysis: PDF documents are analyzed for structure and content type
- Metadata Extraction: AI-assisted extraction of project information, drawing types, disciplines
- Content Chunking: Intelligent splitting of documents to maintain context
- Image Extraction: Identification and extraction of drawing images from PDFs
- Vector Embedding: Creation of semantic representations for text and images
- 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 documentsall_chunks_search
: Search across the entire document collectionimage_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.