Agents and recipes
The SDK can run as a CLI, a Python API, a stdio MCP server, and an ARWS-compatible manifest source. Use ODPR recipes when the workflow itself needs a repeatable contract.
MCP server
Use MCP after the CLI works locally. The agent host launches open-data-products serve and calls SDK tools over stdio, so the host environment must have the same package installed and the same file permissions as your terminal workflow.
open-data-products serve open-data-products manifest --json
Codex configuration
[mcp_servers.open_data_products] command = "open-data-products" args = ["serve"] enabled = true startup_timeout_sec = 10 tool_timeout_sec = 60
Install the package in the same environment the agent host uses. The command is intentionally portable and assumes open-data-products --help works on PATH.
What the agent surface is for
Validation, explanation, reference discovery, summaries, and resource discovery.
Vocabulary search, graph traversal, graph summaries, graph analysis, and focus-node context.
OKF bundle validation and OKF concept listing without returning full Markdown bodies.
Contract reference resolution, alignment checks, schema summaries, and product-level reports.
Useful MCP tool categories
| Category | Typical tools | Use case |
|---|---|---|
| Documents | validate_document, explain_document, resolve_references, load_summary | Let an agent inspect files without inventing schema rules. |
| Resources | list_resources, get_resource | Discover schemas, prompts, vocabulary records, and guidance. |
| Vocabulary and catalogs | search_terms, search_objects, resolve_vocabulary_term | Ground terminology and catalog object choices. |
| Graphs | summarize_graph, traverse_graph, analyze_graph, agent_context | Extract relationship context around products, objectives, use cases, and signals. |
| Contracts | resolve_product_contracts, check_product_contract_alignment, generate_product_contract_report | Review product and Data Contract alignment before handover. |
ODPR recipes
ODPR recipes are workflow contracts. They describe ordered SDK steps, providers, inputs, outputs, validation gates, context formats, write policy, review policy, and run manifests.
Use recipes when the same workflow must run repeatedly in a project, CI job, or agent-led process. The dry run shows resolved step parameters, planned writes, provider readiness, review requirements, and blocking reasons before any write-heavy or provider-backed execution.
open-data-products recipe list --json open-data-products recipe init build-data-product-portfolio --parameterized --json cd recipes/build-data-product-portfolio open-data-products recipe explain recipe.yaml --json open-data-products recipe plan --json
open-data-products config recipes --copy-to recipes.config.yaml open-data-products config recipes --config recipes.config.yaml --check --json open-data-products recipe list --config recipes.config.yaml --json open-data-products recipe validate recipes/ci-validate.yaml --json open-data-products recipe run recipes/ci-validate.yaml \ --config recipes.config.yaml \ --dry-run \ --json
Boundary: use CLI or Python for artifact-writing workflows. Use MCP when agents need safer discovery, validation, search, summary, and context operations.