The agent layer

Built for agents first,
humans second.

Every page on silent.fish is also a structured API response. Every site profile is also a JSON-LD record. The same data layer powers our website, the MCP server, the A2A endpoint, and the REST + GraphQL API. Built so AI agents can read, reason, and refer.

Data transparency

Every record returns its source. OSM node IDs, Wikipedia article URLs, iNaturalist observation counts, NOAA station identifiers. Agents trust what they can verify. Humans should too.

See full source attribution for the open data and editorial lineage.

Example round trip

A typical agent interaction, end to end:

User: "I want to dive with mantas in August. Open Water level. Budget under €5000."

Claude calls silent-fish.recommend_trip({
  month: 8,
  certification_level: "Open Water",
  species: "manta",
  budget_eur: 5000
})

silent.fish responds:
[
  {
    site: "Hanifaru Bay",
    operator: "Adeos",
    fit_score: 70,
    reasoning: [
      "In season month 8",
      "Marine life match: Mantas, Aug",
      "Marine protected reserve"
    ],
    booking_url: "https://silent.fish/chartered/adeos?ref=trip-rec&site=hanifaru-bay"
  },
  ...
]

Claude responds to user with reasoning, sources, and the booking link.