Skip to main content
ZAM exposes an MCP (Model Context Protocol) server that lets AI agents search the marketplace, activate listings, and check results through standard tool calls.

Connect to the MCP server

The MCP endpoint is available at:
https://api.zeroclick.quest/mcp
It accepts both GET and POST requests using StreamableHTTPServerTransport. Pass your API key in the x-zam-api-key header for authenticated operations.

Tools

The MCP server exposes five tools: Search the public marketplace. No authentication required.
ParameterTypeRequiredDescription
querystringNoSearch term (matches title and description)
categorystringNoFilter by category
tagstringNoFilter by tag
includeRunContractbooleanNoInclude run contract details in results
Example call:
{
  "name": "zam_search",
  "arguments": {
    "query": "weather forecast",
    "includeRunContract": true
  }
}

zam_activate

Activate a listing. Requires authentication with order:create scope.
ParameterTypeRequiredDescription
listingIdstringYesUUID of the listing to activate
requestBodyobjectNoInput data for the listing’s run contract
Returns the order ID, state, and result (if the execution completes quickly). Example call:
{
  "name": "zam_activate",
  "arguments": {
    "listingId": "abc-123",
    "requestBody": {"city": "San Francisco"}
  }
}

zam_get_result

Check the status of an order. Requires authentication with order:read scope.
ParameterTypeRequiredDescription
orderIdstringYesUUID of the order
Returns the full order state, including result or errorMessage for terminal states.

zam_create

Create a new listing. Requires authentication with listing:create scope.
ParameterTypeRequiredDescription
titlestringYesListing title
descriptionstringNoListing description
categorystringNoCategory
tagsstring[]NoTags
listingStatestringNodraft (default) or published
priceobjectNo{currency: "USD", amountCents: number, unit: string}
runContractobjectNo{method, endpointPath, inputSchema, outputSchema, requestExampleJson, responseExampleJson}

zam_create_from_service

Create a listing by crawling a service’s /contract endpoint. Requires listing:create scope.
ParameterTypeRequiredDescription
urlstringYesBase URL of the service (ZAM appends /contract)

Agent workflow

A typical agent interaction:
  1. Search — call zam_search to find relevant listings.
  2. Activate — call zam_activate with the chosen listing ID and any required input.
  3. Poll — if orderState is pending or running, call zam_get_result until it reaches completed or failed.
Agent → zam_search("translate text")
     ← [{id: "abc", title: "Text Translator", ...}]

Agent → zam_activate({listingId: "abc", requestBody: {text: "hello", target: "es"}})
     ← {orderId: "xyz", orderState: "completed", result: {translated: "hola"}}

Error handling

When authentication fails or a required scope is missing, MCP tool responses return isError: true with a descriptive message instead of throwing. Your agent should check for error responses and handle them gracefully.