Skip to content
Eden Engine

Medicaid Dataset Rows (Query a Medicaid.gov Dataset, e.g. NADAC Drug Costs)

medicaid/query-dataset

Returns rows from a Medicaid.gov dataset, for example the 2026 NADAC weekly pharmacy acquisition cost per drug (NDC). Pick up to four columns, filter on one column (=, LIKE, greater than, less than) and sort by one column, with limit and offset for paging. Every value comes back as a string. Get the dataset identifier from Medicaid Dataset Search. An unknown column returns a validation error. At most 100 rows per call; a dataset may carry its own licence, shown by Medicaid Dataset Details. Centers for Medicare & Medicaid Services data, passed through unmodified and served by Eden Engine; not an official CMS product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Centers for Medicare & Medicaid Services

Source: Centers for Medicare & Medicaid Services (CMS), data.medicaid.gov. US federal government data; credit is a courtesy. Served by Eden Engine; not an official CMS product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "medicaid/query-dataset" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "medicaid/query-dataset" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "medicaid/query-dataset", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "medicaid/query-dataset", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "dataset_id",
    "limit"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Number of rows to return, 1 to 100."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Rows to skip, for paging. Leave out to start at the first row."
    },
    "column_1": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]{1,64}$",
      "description": "A column to return, for example ndc_description. Leave all four column fields out to return every column."
    },
    "column_2": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]{1,64}$",
      "description": "A second column to return."
    },
    "column_3": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]{1,64}$",
      "description": "A third column to return."
    },
    "column_4": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]{1,64}$",
      "description": "A fourth column to return."
    },
    "dataset_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{8,64}$",
      "description": "The dataset identifier from Medicaid Dataset Search, a UUID such as fbb83258-11c7-47f5-8b18-5f8e79f7e704 (NADAC 2026). Yearly datasets have separate identifiers."
    },
    "sort_order": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "description": "Sort direction for sort_column: asc or desc."
    },
    "sort_column": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]{1,64}$",
      "description": "Column to sort by, for example effective_date. Give with sort_order."
    },
    "filter_value": {
      "type": "string",
      "maxLength": 200,
      "description": "Value to compare with. For LIKE include the wildcards yourself, for example %IBUPROFEN%."
    },
    "filter_column": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]{1,64}$",
      "description": "Column to filter on, for example ndc_description. Give filter_column, filter_value and filter_operator together."
    },
    "filter_operator": {
      "enum": [
        "=",
        "LIKE",
        ">",
        "<"
      ],
      "type": "string",
      "description": "How to compare the column with filter_value."
    }
  },
  "dependentRequired": {
    "sort_order": [
      "sort_column"
    ],
    "sort_column": [
      "sort_order"
    ],
    "filter_value": [
      "filter_column",
      "filter_operator"
    ],
    "filter_column": [
      "filter_value",
      "filter_operator"
    ],
    "filter_operator": [
      "filter_column",
      "filter_value"
    ]
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Rows, each an object of column name to value. Every value is a string, including numbers and dates."
    }
  },
  "description": "The matching rows.",
  "additionalProperties": true
}