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
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 11 |
| Latency | 6866 ms |
| Last checked (UTC) | 2026-10-15T03:00:40.428Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-15T03:00:40.428Z | Healthy | 6866 |
find_offers | Find 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_slot | Hold 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_booking | Confirm 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_booking | Release 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_booking | Read 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_business | Ask 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_agent | Get 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_phone | Tie 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_phone | Spend 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_phone | Forget 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. |
capabilities | What 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 |