> ## Documentation Index
> Fetch the complete documentation index at: https://docs.madra.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Declaring Discovery Metadata

> What to put in the describe block so agents can find your endpoint and know how to call it.

The `describe` block is how your endpoint appears in the Bazaar. It is not optional if you want to be found, and it is not a place to over-market — agents filter on capability, not adjectives.

## The full shape

```typescript theme={null}
requirePayment({
  ...,
  describe: {
    title: "5-day weather forecast",
    description: "Returns hourly weather forecast for the next 5 days given a lat/lng.",
    tags: ["weather", "forecast", "noaa"],
    inputs: {
      lat: { type: "number", description: "Latitude, WGS-84" },
      lng: { type: "number", description: "Longitude, WGS-84" },
    },
    outputs: {
      type: "object",
      properties: {
        hourly: { type: "array", items: { type: "object" } },
      },
    },
    template: "/weather/{lat}/{lng}", // optional: overrides route inference
  },
});
```

## Field-by-field

| Field         | Required    | Notes                                                                                                                  |
| ------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------- |
| `title`       | yes         | Short, one line. Weighted heavily in search.                                                                           |
| `description` | yes         | One paragraph. Explain *what*, not *how*.                                                                              |
| `tags`        | recommended | Filterable facets. Use nouns, not adjectives.                                                                          |
| `inputs`      | recommended | Machine-readable input schema. Agents match this to their available context.                                           |
| `outputs`     | recommended | JSON Schema of the response shape.                                                                                     |
| `template`    | optional    | Override route inference for dynamic paths. See [Route Template & Integrity](/discovery/route-template-and-integrity). |

## Writing a description agents can use

Do:

* State the input and the output in one sentence.
* Name the domain ("weather," "exchange rates," "OCR") explicitly — agents search on it.
* Include constraints that would surprise an agent ("5-day horizon," "US only," "cached hourly").

Do not:

* Advertise ("the best weather API in the world"). Ranking discounts marketing language.
* Rely on brand names agents will not know.
* Repeat the title.

## Related

* [Automatic Cataloging](/discovery/automatic-cataloging)
* [Verifying Your Listing](/guides/sellers/verifying-your-listing)
