The PlantDemand MCP server exposes two categories of tools: a GraphQL-backed scheduling tool (order_dates) and a set of REST-backed operational tools for plant, material, order, customer, and field metadata. This page documents the canonical list. The exact tool names and schemas your agent sees come from a live tools/list call against the server, since new tools are added over time.

How to discover tools at runtime

An AI agent always discovers tools by calling tools/list after initialize. Never hard-code tool names — let the agent read them from the server response. This guarantees the agent uses the current set of tools and matches the current schemas.

curl -X POST https://plantdemand.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Server-Api-Key: <your key value>' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

GraphQL-backed scheduling tool

order_dates

Returns scheduled order data for a plant. This is the workhorse tool for any agent that needs to answer scheduling, dispatch, or production planning questions.

Typical inputs:

  • plant_id — Required. The internal PlantDemand plant identifier.
  • date_from — Required. ISO date string for the start of the date range.
  • date_to — Optional. ISO date string for the end of the range. Defaults to a forward window if omitted.

Typical fields returned:

  • Quantity (tons, cubic yards, or your configured unit)
  • Delivery date and time
  • Load rate
  • Customer name
  • Material / mix design
  • Any extra fields configured for the plant (job number, project, crew, etc.)

The exact schema is returned by tools/list — always trust the live schema over any documentation snapshot.

REST-backed operational tools

These tools are adapters over existing PlantDemand REST endpoints. Common tools include:

Plants

  • List plants — Returns all plants the authenticated key can access, with IDs, names, and basic metadata.
  • Retrieve plant by ID — Returns the full configuration of a single plant.

Materials and mix designs

  • List materials — Returns all materials defined for a plant, including mix designs, raw aggregates, RAP, and additives.
  • List material fields — Returns the configurable fields available on materials, useful when an agent needs to know what extra metadata is attached.

Orders

  • Retrieve order by ID — Returns the full record for a specific order, including customer, material, quantity, and any extra fields.
  • List order fields — Returns the configurable fields available on orders.
  • List order date fields — Returns the configurable fields available on order dates (the per-day delivery records under each order).

Customers

  • List customer fields — Returns the configurable fields available on customer records.

Example: order_dates call

curl -X POST https://plantdemand.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Server-Api-Key: <your key value>' \
  --data '{
    "jsonrpc":"2.0",
    "id":3,
    "method":"tools/call",
    "params":{
      "name":"order_dates",
      "arguments":{
        "plant_id":14,
        "date_from":"2026-02-01",
        "date_to":"2026-02-28"
      }
    }
  }'

Best practices for agents calling these tools

  • Always call tools/list first. The server may add or update tools over time. Your agent should read the live schema, not a cached copy.
  • Respect the input schemas. The schemas returned by the server tell the agent what arguments are required and what types they should be.
  • Surface server errors faithfully. If a tool returns a permission error or validation error, the agent should report that error rather than guessing or fabricating a response.
  • Do not invent values. Plant IDs, customer IDs, and material codes should always come from a tool response, never from the agent’s general knowledge.

Where to go next

This guide is part of the PlantDemand for plant operations hub for asphalt plant operations, scheduling, and sales management.