Open Data Models
Access over 1000+ standardized data models without the semantic overhead in multiple formats. Agile standardization built for domain users and AI agents by domain experts.
https://opendatamodels.org/Opens ChatGPT on the web or desktop and asks it to use the WebMCP tools available here.
Connect straight to this server’s public endpoint.
https://opendatamodels.org/mcp/v1We add this server to your workspace, then open Studio — saved access, one connection to many servers, with a history of what ran.
Last probed Sep 14, 2026 · opendatamodels.org
15tools discovered
Search Data Models
Search the Smart Data Models (SDM) catalog by keyword, domain name, or partial model name. Use this when the user wants to discover which data models exist for a topic (e.g., 'parking', 'weather', 'energy meter'). Returns a list of matching model names and their subjects. Example: search_data_models({"query": "air quality", "domain": "SmartEnvironment"})
Get Data Model
Retrieve the complete JSON Schema and metadata for a specific Smart Data Model. Use this when the user already knows the model name and wants its full definition, required fields, attribute types, or documentation URL. Example: get_data_model({"model_name": "WeatherObserved", "include_examples": true})
List Domains
List all available SDM domains (top-level industry categories) with the count of data models in each. Use this as the entry point when the user wants an overview of what sectors are covered, or before calling list_models_by_domain. No parameters required. Example: list_domains({})
List Models By Domain
List all data model names available within a specific SDM domain. Use this when the user wants to browse all models in a sector such as SmartCities or SmartHealth. Call list_domains first to confirm valid domain names. Example: list_models_by_domain({"domain": "SmartEnergy"})
Validate Data
Validate a JSON payload against the schema of a specific Smart Data Model. Use this when the user has an IoT payload or NGSI-LD entity and wants to check if it conforms to the standard. Returns a structured result with pass/fail and a list of specific validation errors if any. Example: validate_data({"model_name": "WeatherObserved", "data": {"id": "urn:ngsi-ld:WeatherObserved:001", "type": "WeatherObserved", "temperature": {"type": "Property", "value": 22.3}}})
Get Related Models
Find Smart Data Models that are semantically related to a given model. Useful for discovering adjacent models when building multi-entity systems — e.g., related models for 'OffStreetParking' might surface 'ParkingSpot' and 'ParkingGroup'. Example: get_related_models({"model_name": "OffStreetParking", "relationship_type": "all"})
Get Attributes For Model
List all attributes (properties) of a specific Smart Data Model, including each attribute's NGSI type (Property, GeoProperty, or Relationship), data type, description, recommended units, and reference model URL. Use this after get_data_model when the user wants to understand what fields a model has, what values they accept, or how to construct a valid NGSI-LD payload. Example: get_attributes_for_model({"model_name": "WeatherObserved"})
Get Attribute Details
Get full details for a single attribute within a Smart Data Model — including its description, NGSI type (Property/GeoProperty/Relationship), data type, recommended units, format constraints, and reference model URL. Use this when the user asks what type a specific field is, what units it uses, or how to populate it. Example: get_attribute_details({"model_name": "WeatherObserved", "attribute": "temperature"})
Find Subject By Model Name
Find which SDM subject (repository group, always prefixed with 'dataModel.') a data model belongs to, given only the model name. Use this when you have an entity type from an incoming NGSI-LD payload but don't know its subject — for example, if a payload contains 'type: WeatherObserved' and you need to resolve its subject before calling get_data_model or validate_data. Example: find_subject_by_model_name({"model_name": "WeatherObserved"})
Fuzzy Find Model
Search for a data model by approximate or misspelled name using fuzzy matching. Use this as the recovery step whenever get_data_model returns MODEL_NOT_FOUND — it finds the closest real model names even when the spelling is off. Returns ranked candidates with similarity scores. Example: fuzzy_find_model({"model_name": "WeatherFora", "threshold": 80})
Get Subject Repo Url
Return the GitHub repository URL for an SDM subject (e.g., 'dataModel.Weather'). Use this when the user wants to browse the source files, open issues, or cite the authoritative schema location for a subject group. Example: get_subject_repo_url({"subject": "dataModel.Weather"})
Get Model Repo Url
Return the GitHub repository URL(s) for a specific data model by name. Use this when the user needs a direct link to the schema source, examples, or documentation on GitHub. Example: get_model_repo_url({"model_name": "WeatherObserved"})
Get Full Catalog
Return the complete list of all data models within a specific domain, including names, subjects, descriptions, and repository links. Use this when the user needs a comprehensive structured overview of an entire domain for bulk processing, analysis, or selection. A domain filter is mandatory to prevent returning the entire catalog in one call. Example: get_full_catalog({"domain": "SmartEnvironment"})
Export Model Attributes
Export the attributes of a data model as a flat delimited string, with caller-selected meta-fields per attribute. Use this when a data engineer needs a CSV-ready or pipe-delimited listing for database column mapping, ontology alignment, or spreadsheet import. Available meta-fields: property, type, dataModel, repoName, description, typeNGSI, modelTags, format, units, model. Example: export_model_attributes({"model_name": "WeatherObserved", "separator": ",", "fields": ["property", "type", "typeNGS
Get Model Context
Return the NGSI-LD @context URL and context content for a specific data model. This is required when building valid NGSI-LD linked-data payloads — without the correct @context, the payload is not valid linked data and will be rejected by NGSI-LD brokers. Use this before constructing or validating a normalized payload. Example: get_model_context({"model_name": "WeatherObserved"})
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsAccess over 1000+ standardized data models without the semantic overhead in multiple formats. Agile standardization built for domain users and AI agents by domain experts.
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
Operate Open Data Models? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
Other MCP servers in this category from the directory index
MCPBundles probed 15 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
No provider sign-in was required during MCPBundles' probe. Your client may still need MCPBundles credentials depending on how you connect.
MCPBundles is an independent platform built on the open Model Context Protocol standard. Not affiliated with Anthropic PBC or Claude.
Find EV charging stations anywhere in the world. Search by coordinates, map area, or driving route. ...
12 tools