JuddDeveloper docs

MCP server

Connect an agent to Judd

Judd is a buyer’s advocate for AI agents. Before an agent books travel, reserves a restaurant, buys something or changes a subscription for a person, it sends Judd the options it found. Judd applies that person’s rules and returns a verdict the agent follows. Judd works only for the buyer, is never paid by sellers, never touches money or credentials, and makes no AI model calls of its own.

Endpoint and authentication

Endpoint: https://judd.flowinfo.co/mcp (streamable HTTP, stateless, JSON responses)

Authentication: each person’s Judd API key as a Bearer token: Authorization: Bearer judd_…. Keys start with judd_, are stored only as a hash, and can be rotated from the dashboard at any time.

OAuth 2.1 (ChatGPT, Muse, Claude and other MCP clients): no key to paste. Connect to https://judd.flowinfo.co/mcp; an unauthenticated call returns 401 with resource_metadata, and the client takes it from there: discovery at https://judd.flowinfo.co/.well-known/oauth-authorization-server, dynamic client registration, authorization code with PKCE (S256 only), access tokens for one hour, and refresh tokens that rotate on every use. The person approves on Judd’s own page with their Judd key; getting a new key disconnects every app.

Getting a key: free email sign-up at flowinfo.co/judd. Every call is scoped to the person whose key it carries.

Tools

ToolWhen the agent calls it
check_travel_bookingBefore booking any flight, hotel, rental car or package.
check_purchaseBefore buying anything that costs $50 or more.
check_subscriptionBefore starting, renewing, upgrading, downgrading or cancelling a subscription.
check_restaurantBefore reserving a restaurant table.
report_bookingAfter acting: what was booked, bought, or not done.
report_followupAfter a purchase: returned, price drop, price adjusted, problem, or kept. Judd learns from it.
get_travel_preferencesBefore searching for travel, so options fit the person.
get_shopping_preferencesBefore shopping or changing subscriptions.
get_restaurant_preferencesBefore searching for a restaurant.

Each check takes every option the agent found and the one it proposes, with prices, terms, ratings from each review source, and anything unknown marked as unknown. Full field descriptions are in each tool’s input schema.

Verdicts

VerdictWhat the agent does
YESGo ahead with the proposed option.
INSTEADGo ahead with the option Judd chose.
FIND_BETTERDon’t act. Gather what Judd asked for, then check again.
NEGOTIATEAsk for a better price or terms, then check again.
WAITDon’t act now. Tell the person why.
ASK_YOUDon’t act. Show the person Judd’s reason and let them decide.
NODon’t act. Tell the person why.

Every answer includes say_to_user (one plain sentence for the person), what_to_do (the instruction for the agent), the reason, and a link to the decision record. On approvals it can include check_before_acting: the person’s standing instructions, which the agent checks against the conversation. The agent may only be more careful, never less. A YES or INSTEAD is the person’s go-ahead and includes valid_until; after it, check again. earlier_approvals, when present, lists past Judd verdicts that were never reported done: they are not bookings, so report each as booked or abandoned.

Example

check_restaurant → {
  "say_to_user": "Judd · Better pick: Book Quiet Table at 7:15 PM for 4 instead of Loud Bistro: just as well rated and quiet, so you can talk, at about the same cost ($272 against $260).",
  "verdict": "INSTEAD",
  "what_to_do": "Reserve Quiet Table at 7:15 PM on Dec 04 for 4 instead of what you proposed. Then call report_booking."
}

Limits and data

Privacy policy · Terms · Support: hello@flowinfo.co