Terminology server for the BIND Standard — the open data model for insurance interoperability.
Live: bind.codes
The BIND Standard models insurance data using CodeableConcept fields bound to terminology URIs. This server hosts the canonical code systems behind those URIs — 280+ insurance vocabularies covering lines of business, construction types, loss causes, coverage options, vehicle classifications, and more.
Each code system is a JSON file following a simplified FHIR CodeSystem shape. Git is the authoring and review workflow — no database.
| Method | Path | Description |
|---|---|---|
GET |
/ |
List all code systems (summary) |
GET |
/:id |
Full code system with all concepts |
GET |
/:id/$lookup?code=X |
Single concept lookup by code |
GET |
/$search?q=X |
Full-text search across all systems |
GET |
/health |
Health check |
GET |
/docs |
Interactive API documentation (Scalar) |
All endpoints accept an optional ?lang= parameter (BCP-47 tag, e.g. fr-CA) to localize concept display values.
# List all code systems
curl https://bind.codes/
# Get a full code system
curl https://bind.codes/RoofType
# Look up a single code
curl https://bind.codes/RoofType/\$lookup?code=metal
# Search across all code systems
curl https://bind.codes/\$search?q=shingle
# Get French-Canadian display values
curl https://bind.codes/ConstructionType?lang=fr-CAThe server exposes an MCP endpoint for AI agents and LLM tool-use at POST /mcp using Streamable HTTP transport.
Add it to your MCP client config:
{
"mcpServers": {
"bind-terminology": {
"type": "streamable-http",
"url": "https://bind.codes/mcp"
}
}
}Available tools: list-code-systems, get-code-system, lookup-code, search.
Each file in codesystems/ follows this structure:
{
"resourceType": "CodeSystem",
"id": "RoofType",
"url": "https://bind.codes/RoofType",
"name": "RoofType",
"title": "Roof Type",
"status": "draft",
"language": "en",
"description": "Roof material types for property insurance underwriting.",
"concept": [
{
"code": "asphalt-shingle",
"display": "Asphalt Shingle",
"definition": "Standard asphalt/composite shingle roofing.",
"designation": [
{ "language": "fr-CA", "value": "Bardeau d'asphalte" }
]
}
]
}Translations use the FHIR designation pattern — an array of { language, value } entries on each concept.
- Hono + Zod OpenAPI for the REST API
- MCP TypeScript SDK + @hono/mcp for the MCP endpoint
- Cloudflare Workers for hosting
- Scalar for interactive API docs
pnpm install
pnpm run dev # starts wrangler dev server on localhost:8787
pnpm run validate # validate all code system JSON files
pnpm run typecheck # TypeScript type checking
pnpm run check # Biome lint + format check- Create a new JSON file in
codesystems/following the shape above - Add the filename to
codesystems/_manifest.json - Run
pnpm run validateto check the file - Open a PR
We welcome contributions from everyone. See CONTRIBUTING.md for details, or open a pull request directly.
For questions or ideas, reach out at contact@bind-standard.org.
The BIND terminology data is released under the CC0 1.0 Universal license — dedicated to the public domain. You are free to use, modify, and build upon it without restriction.