Check that a business proved who it is, read what it sells, and order straight from it.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Return what is left on a closed-loop token issued by a business through Orbylon: a gift card, prepaid hours, a membership or a points balance. Takes the code printed on the card. The amount left is balance_cents for a gift card (integer cents, in currency), balance_hours for prepaid hours or balance_points for points, and reads_as says it in words, money written like every price here (e.g. CA$25.00 left); a membership is only valid or not. These are not money and cannot be cashed out or transferred: they are only good with the business that issued them, which is named in the answer.
The code on the card, e.g. ABCD-2345-PQRS
Return what is left on a closed-loop token issued by a business through Orbylon: a gift card, prepaid hours, a membership or a points balance. Takes the code printed on the card. The amount left is balance_cents for a gift card (integer cents, in currency), balance_hours for prepaid hours or balance_points for points, and reads_as says it in words, money written like every price here (e.g. CA$25.00 left); a membership is only valid or not. These are not money and cannot be cashed out or transferred: they are only good with the business that issued them, which is named in the answer.
| Argument | Type | Description |
|---|---|---|
| code* | string | The code on the card, e.g. ABCD-2345-PQRS |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "The code on the card, e.g. ABCD-2345-PQRS"
}
}
}Find businesses that sell what the customer needs in the place they name, for example need "espresso beans" and place "Montreal", or need "plumber" and place "H2X". Both are required. Searches businesses published on Orbylon whose owners proved they own their website, by the words of what they sell and the place they named. Results are ordered by how closely those words match, then by name. No business pays to rank higher, and a business that is not on Orbylon is not here. Each result gives the business's name, city, address, hours and phone as its owner confirmed them, what it sells with exact prices, and which tool to use next: place_order for a priced item, request_quote for an item priced on request, list_business_offerings for the full list. At most 10 results. To try it on Orbylon's fictional test businesses, use the place "Orbylon Test City".
| Argument | Type | Description |
|---|---|---|
| need* | string | What the customer needs, in a few words: a product, a service or a kind of business |
| place* | string | Where: a city, a region or a postal code, e.g. Montreal, Laval, QC or H2X 1Y4 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"need",
"place"
],
"properties": {
"need": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "What the customer needs, in a few words: a product, a service or a kind of business"
},
"place": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Where: a city, a region or a postal code, e.g. Montreal, Laval, QC or H2X 1Y4"
}
}
}Return what happened to an order placed with place_order: its status, the item, the quantity, the total, and, when the business takes card payment, whether it is paid and the pay_url if not. Takes the business domain and the reference the order answer gave. Never returns the buyer's address, email or phone.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The business domain, e.g. example.com |
| reference* | string | The reference place_order returned |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"reference"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The business domain, e.g. example.com"
},
"reference": {
"type": "string",
"maxLength": 64,
"minLength": 6,
"description": "The reference place_order returned"
}
}
}Return the machine-readable catalogue a verified business publishes. Under owner_provided: who and where the business is, then each item with its name, description, integer price in cents, currency and unit, as the business typed them. Prices are exactly what the business published. An item with price_on_request: true has no price (it reads "Price on request"): the business quotes each job, so ask it with request_quote rather than estimate a number.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The business domain, e.g. example.com |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The business domain, e.g. example.com"
}
}
}Return the priced endpoints a verified business publishes: each with its title, what it does, the HTTP method, the price, and the URL to call. Calling that URL returns HTTP 402 with payment terms in the Payment-Required header, and the payment settles directly to the business. A call that fails is never charged for. A business that sells none answers an empty list with a note saying so.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The business domain, e.g. example.com |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The business domain, e.g. example.com"
}
}
}Return the verified identity record for a domain: its domain-bound Ed25519 public key, when it was verified and how, and what it can prove: its signed documents (under capabilities.proofs.list, each with its slug, when it was signed, its SHA-256 and a verify link anyone can open) and a published catalogue of what it sells. Use this before trusting or transacting with a business. A 'not verified' answer means Orbylon has no proof about them, not that they are fraudulent.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The business domain, e.g. example.com |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The business domain, e.g. example.com"
}
}
}Order an item a verified business publishes (see list_business_offerings or find_businesses). Two steps. First call without confirm: it places nothing and returns the seller, the item, the quantity, the unit price, the full total, the currency, how payment happens, and the refund and cancelling terms. Show those to the customer. Then call again with the same fields and confirm: true, only after the customer agreed. The order goes straight to the business, where it already works: email, its own store or its own system, and the answer carries a reference to pass to get_order_status. When the business connected a payment account (Stripe, PayPal, Mollie, Razorpay, Lemon Squeezy or Paddle), the answer carries a pay_url on that account; the money goes to the business, never to Orbylon. For an appointment, the answer can carry a book_url where the buyer chooses the time on the business's own booking page.
| Argument | Type | Description |
|---|---|---|
| item | string | The item name exactly as listed |
| note | string | |
| domain* | string | The business domain, e.g. example.com |
| confirm | boolean | Leave out to see the seller, the full price and the terms first. Send true only after the customer agreed to them. |
| item_id | string | The item id from the catalogue |
| quantity | integer |
Ask a verified business for a quote on an item it lists as price on request (price_on_request: true in list_business_offerings): a roofer, a lawyer, a garage. The request is emailed to the business, which replies to the customer with its price. Nothing is paid or owed and no wallet is needed. Ask the customer first and send consent: true only if they agreed that their name, contact and request go to the business. Returns a reference and a status URL.
| Argument | Type | Description |
|---|---|---|
| item | string | The service name exactly as listed |
| name* | string | The customer's name |
| string | Where the business replies. Give email or phone, at least one | |
| phone | string | Where the business replies. Give email or phone, at least one |
| domain* | string | The business domain, e.g. example.com |
| timing* | string | When the customer wants it done, e.g. "within two weeks" or "flexible" |
| consent* | boolean | True only if the customer agreed that their name, contact and request are sent to the business |
| details* |
Scan any business website and report whether AI agents can find, trust, and pay it. Returns pillar scores, a grade, per-check evidence, and a link to the report (it opens for whoever has the link and is not listed anywhere).
| Argument | Type | Description |
|---|---|---|
| url* | string | The business website, e.g. example.com |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "The business website, e.g. example.com"
}
}
}| fulfilment* | object | How the buyer receives it, and how the business reaches them |
| idempotency_key | string | Send the same key when retrying |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"fulfilment"
],
"properties": {
"item": {
"type": "string",
"maxLength": 140,
"minLength": 1,
"description": "The item name exactly as listed"
},
"note": {
"type": "string",
"maxLength": 400
},
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The business domain, e.g. example.com"
},
"confirm": {
"type": "boolean",
"description": "Leave out to see the seller, the full price and the terms first. Send true only after the customer agreed to them."
},
"item_id": {
"type": "string",
"maxLength": 140,
"minLength": 1,
"description": "The item id from the catalogue"
},
"quantity": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"fulfilment": {
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"ship",
"email",
"pickup",
"none"
],
"type": "string"
},
"name": {
"type": "string",
"maxLength": 200
},
"note": {
"type": "string",
"maxLength": 400
},
"email": {
"type": "string",
"maxLength": 200
},
"phone": {
"type": "string",
"maxLength": 40
},
"address": {
"type": "object",
"required": [
"line1",
"city",
"postal",
"country"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100
},
"line1": {
"type": "string",
"maxLength": 200
},
"line2": {
"type": "string",
"maxLength": 200
},
"postal": {
"type": "string",
"maxLength": 20
},
"region": {
"type": "string",
"maxLength": 100
},
"country": {
"type": "string",
"maxLength": 60
}
}
}
},
"description": "How the buyer receives it, and how the business reaches them"
},
"idempotency_key": {
"type": "string",
"maxLength": 128,
"description": "Send the same key when retrying"
}
}
}| string |
| What the job is, in the customer's words |
| item_id | string | The item id from the catalogue |
| photo_url | string | An https link to a photo the customer shared, if any |
| postal_code* | string | Where the work is, or the customer's postal code |
| idempotency_key | string | Send the same key when retrying |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain",
"postal_code",
"timing",
"details",
"name",
"consent"
],
"properties": {
"item": {
"type": "string",
"maxLength": 140,
"minLength": 1,
"description": "The service name exactly as listed"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The customer's name"
},
"email": {
"type": "string",
"maxLength": 200,
"description": "Where the business replies. Give email or phone, at least one"
},
"phone": {
"type": "string",
"maxLength": 40,
"description": "Where the business replies. Give email or phone, at least one"
},
"domain": {
"type": "string",
"maxLength": 253,
"minLength": 1,
"description": "The business domain, e.g. example.com"
},
"timing": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "When the customer wants it done, e.g. \"within two weeks\" or \"flexible\""
},
"consent": {
"type": "boolean",
"description": "True only if the customer agreed that their name, contact and request are sent to the business"
},
"details": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "What the job is, in the customer's words"
},
"item_id": {
"type": "string",
"maxLength": 140,
"minLength": 1,
"description": "The item id from the catalogue"
},
"photo_url": {
"type": "string",
"maxLength": 1000,
"description": "An https link to a photo the customer shared, if any"
},
"postal_code": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "Where the work is, or the customer's postal code"
},
"idempotency_key": {
"type": "string",
"maxLength": 128,
"description": "Send the same key when retrying"
}
}
}