Version 0.1 · early, under active development

Hydra for the
age of agents

HydrAI — Hypermedia Driven AI

HydrAI is an opinionated companion vocabulary that makes a Hydra/JSON-LD API legible and safe for LLM agents — a conservative superset of Hydra core, with a generic client and MCP server as the reference implementation.

In one line: Hydra was designed for machines that navigate. Agents reason in examples and plan and act. HydrAI is one vocabulary you can learn in an afternoon instead of a dozen you have to assemble yourself.

The bigger picture

Meaning doesn't have to stop with your data

Semantically grounded data is essential for safe, cost-effective, accurate AI. HydrAI is the last mile of that idea — extending the semantic layer from your data to the surface an agent acts through.

There is no mechanism in an LLM's architecture for truth — only probability. Whole classes of AI problems will not be solved by a bigger model, only by better data.

Ground the data

JSON-LD turns magic strings into terms with identity — a semantic layer over the APIs you already have, additive and non-breaking. Every term a doorway down to bedrock.

Describe the surface

Meaning doesn't stop at data. Hydra describes an API's affordances — what an agent can do and where it can go — carried in the responses themselves.

Hand agents a web

A generic agent connects with one fact — the entry-point URL — and discovers the rest. No prompt, no custom tooling. Self-describing interoperability: a web for agents.

Where HydrAI fits →

Why it exists

The agent arrived after the spec did

Hydra is a beautiful piece of work built for generic hypermedia clients. An LLM agent is a different consumer with two needs Hydra never had to serve.

◆

It learns from examples

Few-shot is how an agent orients. It wants a greeting and worked queries as data it can consume — not prose comments. Hydra carries neither.

▶

It plans and acts

Before firing an operation, an agent wants to know whether it is reversible, expensive, or idempotent. Hydra describes an operation's method, input, and output — and stops.

These are not bugs in Hydra. They are a generational mismatch. The Hydra Community Group is dormant, so HydrAI picks up the torch — stewarding Hydra core unchanged and adding the agentic last mile on top.

What you get

A companion, not a replacement

One place to learn the whole agent-friendly hypermedia surface — and it stays domain-agnostic. HydrAI describes how to interact with an API, never what your API is about; your entities keep their own vocabulary.

⟚

Hydra-compatible

Every HydrAI document is a valid Hydra document. Additive and degradable by design.

☺

Agent-native

Greeting, example queries, and action semantics — the affordances agents actually need.

❋

One vocabulary

A curated @context hides Hydra, SHACL, and VoID behind one legible surface.

⛨

Untrusted by default

All server content is data, never commands. A proof upgrades attribution, not authority.

A taste

Terms an agent can actually use

A greeting — identity and stance in a few sentences, capped by a SHACL shape in the vocabulary itself so it stays a greeting, not a manual.

A worked example query — an (intent, query, endpoint) tuple the agent learns from. Executable, so a client never runs it verbatim: it is a candidate routed through the client's own query gates.

See the full 0.1 vocabulary →

turtle · a greeting, self-capped
hydrai:greeting a owl:DatatypeProperty ;
    rdfs:comment "Who this API is and its
      cross-cutting conventions. Orientation,
      not documentation." .

hydrai:GreetingShape a sh:NodeShape ;
    sh:targetSubjectsOf hydrai:greeting ;
    sh:property [ sh:path hydrai:greeting ;
      sh:maxLength 500 ; sh:maxCount 1 ] .
turtle · a worked example
[] a hydrai:ExampleQuery ;
    hydrai:intent "Contacts created this quarter" ;
    hydrai:queryText "SELECT ?c WHERE { … }" ;
    hydrai:overEndpoint <…/sparql> .
Our opinions

The stances baked into the vocabulary

Where the standards leave a choice, HydrAI makes one, states why, and proves it in working code.

A hypermedia API is a UI for agents

The web gave humans one browser and delivered every site's capability as content. Give agents the same — driving a generic client, capability carried by the API's responses, not bespoke per-API tools.

Mint only at the gap; reuse everything else

A term enters HydrAI only when no standard says it and a real client already needs it. Every term carries a “why not the existing thing.”

Learn one vocabulary, not a dozen

A single curated context maps friendly terms to the canonical IRIs of Hydra, SHACL, VoID, and HydrAI's own additions.

Steward the orphans; reference the living

HydrAI mirrors dormant Hydra via equivalence axioms; it merely references the vocabularies that are still maintained.

Refuse, don't warn

Invalid input is rejected with an honest error, not silently coerced. A constraint that can be ignored is not a constraint.

Untrusted by default; signing is authenticity, not authority

Even a signed greeting is data, never a command. Executable examples run only through the client's own gates.

All nine opinions →

The reference implementation is the conformance proof

Not a committee draft — a working thing

This repository is the monorepo: the vocabulary, this site, and the example tools that consume it.

This is a community effort

HydrAI is picking up dormant community work; it aims to become community work. Issues, counter-examples, and “why not standard X instead” are exactly the contributions that make it better. Come argue with us.