Koskamo

Orbylon MCP

Orbylon provides agent-commerce infrastructure, allowing AI assistants to discover verified small businesses, read their offerings, and place orders directly. The server exposes tools for searching businesses by need and location, scanning business readiness, looking up domain-verified identities, and managing orders and quotes with cryptographic proof of ownership.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Orbylon MCP logo, by OrbylonVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by Orbylon
MCP endpoint (Streamable HTTP)
https://orbylon.com/api/mcp
Vendor documentation

What its tools do

9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (2)

9 of 9 have a description · 9 of 9 declare behavior hints · 8 of 9 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to orbylon.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Find verified businesses selling specific items in a location
  • Scan a website to check AI-readiness and trustworthiness
  • Place an order for a business item with payment confirmation
  • Look up a business's domain-bound cryptographic identity

Source and maintenance

Vendor evidenceRegistry 1.5.0

Protocol and capabilities

Server
orbylon 1.6.0
MCP protocol negotiated in check
2025-11-25
Tools
9 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

9 advertised

scan_business_readiness — Scan business readiness
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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).

scan_business_readiness input schema
{
  "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"
    }
  }
}
scan_business_readiness annotations
{
  "title": "Scan business readiness",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
find_businesses — Find businesses by need and place
Advertised by the server during the last successful anonymous check.
Advertised read-only

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".

find_businesses input schema
{
  "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"
    }
  }
}
find_businesses annotations
{
  "title": "Find businesses by need and place",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
lookup_business — Look up a verified business
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

lookup_business input schema
{
  "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"
    }
  }
}
lookup_business annotations
{
  "title": "Look up a verified business",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_business_offerings — List what a verified business sells
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_business_offerings input schema
{
  "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"
    }
  }
}
list_business_offerings annotations
{
  "title": "List what a verified business sells",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
place_order — Order from a verified business
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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.

place_order input schema
{
  "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"
    }
  }
}
place_order annotations
{
  "title": "Order from a verified business",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": true
}
get_order_status — Check an order
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_order_status input schema
{
  "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"
    }
  }
}
get_order_status annotations
{
  "title": "Check an order",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
request_quote — Ask a verified business for a quote
Advertised by the server during the last successful anonymous check.
Open-world

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.

request_quote input schema
{
  "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"
    }
  }
}
request_quote annotations
{
  "title": "Ask a verified business for a quote",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
list_business_paid_endpoints — List the calls a verified business sells
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_business_paid_endpoints input schema
{
  "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"
    }
  }
}
list_business_paid_endpoints annotations
{
  "title": "List the calls a verified business sells",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_business_token — Check a gift card, pass or membership
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

check_business_token input schema
{
  "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"
    }
  }
}
check_business_token annotations
{
  "title": "Check a gift card, pass or membership",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (3 of 3 answered).

  1. 2026-11-07: 2 of 2 checks answered
  2. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
507 ms
95th percentile latency
507 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 507 ms · metadata changed · 9 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http orbylon-mcp https://orbylon.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add orbylon-mcp --url https://orbylon.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable orbylon-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "orbylon-mcp": {
      "url": "https://orbylon.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "orbylon-mcp": {
      "type": "streamableHttp",
      "url": "https://orbylon.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start orbylon-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "orbylon-mcp": {
      "type": "http",
      "url": "https://orbylon.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http orbylon-mcp https://orbylon.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://orbylon.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "orbylon-mcp": {
      "serverUrl": "https://orbylon.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Orbylon MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Orbylon MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing