Electric P8 2026
Part of eplan-cloudflare-rags. The local action server lives in eplan-mcp.
Remote MCP server that lets Claude search the EPLAN Electric P8 documentation (API Reference, User Guide, hidden actions) through semantic vector search.
Deployed on Cloudflare Workers with Vectorize + Workers AI.
Counterpart of
cloudflare-rag-eecpro/, which serves the EEC Pro docs.
Architecture
Section titled “Architecture”Claude Code --> MCP (Streamable HTTP) --> Cloudflare Worker (eplan-mcp) | Workers AI (bge-base-en-v1.5) | Vectorize (eplan-knowledge-base) 57,492 vectors / 768 dims / cosineInstall the MCP in Claude Code
Section titled “Install the MCP in Claude Code”Via mcp-remote
Section titled “Via mcp-remote”claude mcp add eplan-rag -- cmd /c npx mcp-remote https://rag2026.covaga.xyz/mcpVerify
Section titled “Verify”claude mcp listeplan-rag should appear in the list. Then, inside Claude Code:
/mcpIt should show eplan-rag connected with 2 tools available.
Available Tools
Section titled “Available Tools”| Tool | Description |
|---|---|
eplan_search |
Semantic search in EPLAN documentation. Supports filtering by category (API Reference, User Guide, Api). |
eplan_stats |
Statistics for the vector index (number of vectors, dimensions, metric). |
REST Endpoints
Section titled “REST Endpoints”In addition to the MCP, the worker exposes a direct REST API. Base URL: https://rag2026.covaga.xyz.
| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| POST | /search |
Semantic search (body: {"query": "...", "topK": 5}) |
| GET | /stats |
Index statistics |
| POST | /add-vectors |
Insert vectors (requires Authorization: Bearer <WORKER_API_KEY>) |
Usage Examples
Section titled “Usage Examples”1. Search using cURL (Windows CMD)
curl -X POST https://rag2026.covaga.xyz/search -H "Content-Type: application/json" -d "{\"query\": \"export project\", \"topK\": 3}"2. Search using Python
import requests
url = "https://rag2026.covaga.xyz/search"payload = {"query": "export project", "topK": 3}headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)print(response.json())Structure
Section titled “Structure”cloudflare-rag-eplan-p8/├── migration/│ ├── scripts/│ │ ├── 01_verify_and_export.py # Verify ChromaDB and export to NDJSON batches│ │ └── 02_deploy_to_cloudflare.sh # Create index + upload vectors + deploy worker│ └── manifest.json # (generated by step 01)├── worker/│ ├── src/│ │ └── index.ts # Main worker (MCP + REST)│ ├── wrangler.jsonc # Cloudflare configuration│ ├── package.json│ └── tsconfig.json└── README.md # This fileSource Data
Section titled “Source Data”The vectors served by this worker are produced from the ChromaDB created by the
local EPLAN server.
Set EPLAN_P8_CHROMA_DB_PATH to that database before running
migration/scripts/01_verify_and_export.py; its default expects a sibling
eplan-mcp/eplan-p8-mcp-server/chroma_db_sota/ checkout. The export is then
uploaded to Cloudflare Vectorize by migration/scripts/02_deploy_to_cloudflare.sh.
This page is synced from Canary-ECAD/eplan-cloudflare-rags.
