Machine interface
Connect an assistant
JSON-RPC 2.0 over streamable HTTP. Every door on the platform exposes the identical three tools, so an assistant learns the interface once and can then quote against any vendor. No authentication is required for pricing, counts or quote requests. Calls are rate limited per caller per door, and logged.
Replace <vendor> with a door address from the directory.
Client configuration
{
"mcpServers": {
"machine-door": {
"type": "http",
"url": "https://machinedoors.com/api/public/d/<vendor>/mcp"
}
}
}Direct call
curl -s https://machinedoors.com/api/public/d/<vendor>/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"request_quote",
"arguments":{"geography":"us-west",
"category":"residential",
"quantity":25000}}}'Tool schemas
get_rate_card
The vendor's current published rate card: line items, units, unit prices, minimums, terms, version and effective date. Prices are the vendor's own published figures.
Guardrail: Pricing and terms only. No records, no customer data. A placeholder rate card is labelled as such in every payload.
{
"type": "object",
"properties": {},
"additionalProperties": false
}get_coverage_counts
Availability counts, optionally narrowed by geography and/or category code. Returns a count and nothing else.
Guardrail: Counts only. Any extra selector — demographics, attributes, identifiers — is rejected rather than silently ignored.
{
"type": "object",
"properties": {
"geography": {
"type": "string",
"description": "Published geography code."
},
"category": {
"type": "string",
"description": "Published category code."
}
},
"additionalProperties": false
}request_quote
Price a scoped job against the current rate card and receive an itemised quotation plus an expiring quote token.
Guardrail: A quote request, not an order and not a purchase. Nothing is charged and no inventory is reserved; a human at the vendor closes the order.
{
"type": "object",
"properties": {
"quantity": {
"type": "integer",
"minimum": 1
},
"geography": {
"type": "string"
},
"category": {
"type": "string"
},
"rush": {
"type": "boolean"
}
},
"required": [
"quantity"
],
"additionalProperties": false
}Plain HTTP
The older root endpoints /api/public/rate-card, /api/public/coverage-counts and /api/public/mcp still work and serve the reference door.
/api/public/verify-quote is public and rate limited. It returns the quotation the door stored and nothing about whoever asked for it. A token that is malformed or unknown returns 400 or 404 rather than a partial answer.