Access Architecture
OpenConstruction provides two complementary machine-access interfaces to the same authoritative catalogs.
Best for: scripts, web apps, pipelines, reproducible research, CI.
Fetch JSON No auth VersionableBest for: AI assistants and tool-calling workflows.
Tool interface Read-only Assistant-readyBoth interfaces are read-only to protect integrity and provenance. Contributions occur through the OpenConstruction contribution workflow.
Static JSON API
Public, machine-readable endpoints served under /data/.
Endpoints
Catalogs are served as static JSON:
Catalogs may be stored as an array, an envelope object containing an array, or an {id: record} map. If you need a stable normalized interface, use the SDK below.
Access patterns
https://www.openconstruction.org/data/datasets.json
https://raw.githubusercontent.com/ruoxinx/open-construction/main/site/data/datasets.json
SDK (optional)
The OpenConstruction SDK provides normalization + search helpers. Keep code examples in README; the page below provides minimal copy-paste blocks.
npm i @openconstruction/api
import { OpenConstructionClient } from "@openconstruction/api";
const oc = new OpenConstructionClient({
baseUrl: "https://www.openconstruction.org",
noCache: true
});
const hits = await oc.search("models", "BIM", { limit: 50 });
Model Context Protocol (MCP)
What is MCP?
Model Context Protocol (MCP) standardizes how AI assistants connect to external tools and data sources. The OpenConstruction MCP server exposes read-only access to our Datasets, Models, Use Cases, Tools, and Guides catalogs through a small set of server tools.
Ask: βFind 2024 datasets for safety monitoring.β β receive structured metadata with links back to the catalog entries.
Available Tools
Core tool groups exposed by the OpenConstruction MCP server:
Install & Connect
Minimal steps to run the server locally and connect it to an MCP-compatible client (e.g., Claude Desktop).
- Clone repository
git clone https://github.com/ruoxinx/openconstruction-mcp-server.git cd openconstruction-mcp-server - Install dependencies
npm install - Build server
npm run build - Configure Claude Desktop
Add to claude_desktop_config.json:
{ "mcpServers": { "openconstruction": { "command": "node", "args": ["/path/to/build/index.js"] } } } - Restart & verify
Reopen Claude Desktop and run.