io.github.bartek-filipiuk/intent-hub

io.github.bartek-filipiuk/intent-hub · v0.1.0 · agents-and-memory

io.github.bartek-filipiuk/intent-hub is healthy: it completed an MCP handshake in 6866 ms and exposes 11 tools.

Book a local business by saying what you need; matching businesses bid and you confirm one.

Endpoint: https://openintentprotocol.com/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count11
Latency6866 ms
Last checked (UTC)2026-10-15T03:00:40.428Z

Health history

Checked (UTC)StatusLatencyError
2026-10-15T03:00:40.428ZHealthy6866

Tools (11)

find_offersFind offers from local businesses for what a person asked for. Send their sentence as `text`; the hub parses the trade, the town and the day. An answer with `complete: false` carries a `question` to put to the person: call this tool again with the same `session` and their reply as `text`. An answer
hold_slotHold the slot of one bid from this session's round for ten minutes, before asking the person for their details. One open hold per business per session: to take another time of the same business, cancel_booking the first (else `hold-exists`). Answers the hold, the bid it was made from and, when the h
confirm_bookingConfirm a held slot with the customer's name and phone number; this is the booking. Idempotent: confirming the same hold twice books it once and tells the business once. A business that confirms every visit itself answers `hold.awaiting: true` with the hold still `held`: the slot is kept, the busine
cancel_bookingRelease a held or confirmed slot of this session, so the slot is free again. Businesses that host their own agent do not offer this yet and answer `not-supported`.
get_bookingRead the state of a session: the understood intent and its open question, the bids of the current round and every hold with its present status and link. Use it to pick up a conversation you already have a session id for.
ask_businessAsk one business a question about itself and get back the fragments of its own knowledge base that answer it: the price list, the rules, what it travels to, what it does not do. Read-only and open to anyone — no key, no session, nothing held. The answer is the business's own text, chosen by the hub
register_agentGet this agent its own identity, once: answers an `agent` id and a `key`. The key is shown in this answer and never again — keep it and send it as `Authorization: Bearer <key>` on every later call. hold_slot, confirm_booking, cancel_booking need it; finding offers and reading a session do not. With
link_phoneTie this agent to the phone number of the person it books for: the hub texts that number a six-digit code naming this agent, and `confirm_phone` spends it. Afterwards `confirm_booking` may leave `contact.phone` out — the linked number is used — and every booking made through this key shows up on tha
confirm_phoneSpend the code that link_phone texted, and tie this agent to that number. Ten minutes and five tries; a wrong code answers `invalid-code` with `attemptsLeft`, and the fifth wrong one throws the code away — call link_phone again for a new one. One number per agent: linking another replaces it.
unlink_phoneForget the number this agent was linked to. The bookings already made keep it — they belong to the person, not to this agent — and confirm_booking needs a full `contact` again. Answers the same whether there was a link or not.
capabilitiesWhat this hub can do, in one call: every tool by name, every resource by URI, every prompt by name, the per-client budgets, how to authenticate, the protocol revision and where the documentation is. Takes no arguments, spends no budget and reads nothing: it answers the hub's own constants, so a clie