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/listfirst. 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
- Quickstart — Run the curl examples end-to-end
- Security & authentication — How permissions flow through MCP
- Use cases — Real prompts for plant operations
- Client setup guides — Wire MCP into your AI assistant
This guide is part of the PlantDemand for plant operations hub for asphalt plant operations, scheduling, and sales management.