{"apiVersion":"v1","directorySlug":"orrbi-mcp-fee3a185fe","title":"orrbi","description":"Ask ChatGPT or Claude for a gym, a padel court or a table tonight. orrbi finds what’s open near you in Doha and books it, right in the chat.","pageUrl":"https://www.mcpbundles.com/skills/orrbi-mcp-fee3a185fe","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.orrbi.ai/mcp","hostedMcpUrl":null,"toolCount":5,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"ai.orrbi/orrbi-mcp-fee3a185fe","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_businesses","description":"Find local businesses in Qatar that can be booked through Orrbi (gyms, barbers, salons, spas, clinics, etc.), with the services each one offers, their duration and price in QAR. Use this to find, browse or compare places, and to look up a business the user named. The card shows one compact card per business with its next open times; when the user names a day or time, pass date, part_of_day or around_time so the card shows only those times. For a specific class at a time across gyms (\"HYCROSS Tue","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"area":{"type":"string","maxLength":80,"minLength":1},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"days":{"type":"integer","maximum":7,"minimum":1},"limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"query":{"type":"string","maxLength":100,"minLength":1},"category":{"type":"string","maxLength":50,"minLength":1},"language":{"enum":["ar","en"],"type":"string"},"around_time":{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},"ladies_only":{"type":"boolean"},"part_of_day":{"enum":["morning","afternoon","evening","any"],"type":"string"}}},"title":"Search businesses","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_businesses","displayName":"Search businesses"},{"name":"get_availability","description":"List the open booking times for one service at one business, in Qatar time (UTC+3). If the user has not said which service they want, ask them first; do not check every service. Then call this ONCE for that service, with the date the user asked for (or today). Never call it in a loop over services or dates: the card shown to the user already covers the next 7 days and lets them switch days and pick a time. If the requested date has no open times, the result shows the next day that has some, and","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["business_id","service_id","date"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"language":{"enum":["ar","en"],"type":"string"},"staff_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"service_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"business_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"ladies_only":{"type":"boolean"}}},"title":"Get available times","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_availability","displayName":"Get available times"},{"name":"find_classes","description":"Find open class times across all gyms on Orrbi for a request with a time in it: \"gym class tonight\", \"ladies class tomorrow morning\", \"HYCROSS on Tuesday at 6pm\", \"something after work this week\". Call this ONCE instead of search_businesses + get_availability whenever the user mentions a day or time; use search_businesses only to browse places or answer questions about a gym. The card shows one compact card per gym with its next times, and the user books by tapping one. Do not list the gyms, cla","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"area":{"type":"string","maxLength":80,"minLength":1},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"days":{"type":"integer","default":1,"maximum":7,"minimum":1},"query":{"type":"string","maxLength":80,"minLength":1},"category":{"type":"string","maxLength":50,"minLength":1},"language":{"enum":["ar","en"],"type":"string"},"around_time":{"type":"string","pattern":"^\\d{1,2}:\\d{2}$"},"business_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"ladies_only":{"type":"boolean"},"part_of_day":{"enum":["morning","afternoon","evening","any"],"type":"string"}}},"title":"Find class times","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_classes","displayName":"Find class times"},{"name":"get_business","description":"Used by the Orrbi card to open a business page. Not for the assistant: use search_businesses or find_classes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["business_id"],"properties":{"language":{"enum":["ar","en"],"type":"string"},"business_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}}},"title":"Gym page","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_business","displayName":"Gym page"},{"name":"create_booking","description":"Request a booking for one slot at a business in Qatar. The booking is created as pending: the business still has to confirm it, and the customer then gets a WhatsApp confirmation. Orrbi never takes payment: when the result has a payment line, the customer pays at the business; say so, and never say they paid or will pay through Orrbi. BEFORE calling this tool you MUST read back to the user, and get their explicit \"yes\" to, all of: the business name, the service, the date and time (Qatar time, fr","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["business_id","service_id","slot_id","customer_name","customer_phone"],"properties":{"notes":{"type":"string","maxLength":500},"slot_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"language":{"enum":["ar","en"],"type":"string"},"request_id":{"type":"string","maxLength":100,"minLength":1},"service_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"business_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"requirements":{"type":"array","items":{"type":"object","required":["id","answer"],"properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"answer":{"type":"boolean"}}},"maxItems":50},"customer_name":{"type":"string","maxLength":100,"minLength":1},"customer_phone":{"type":"string","maxLength":30}}},"title":"Request a booking","logicalName":"create_booking","displayName":"Request a booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=orrbi&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aub3JyYmkuYWkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22orrbi%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.orrbi.ai%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22orrbi%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.orrbi.ai%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=orrbi&connectorUrl=https%3A%2F%2Fmcp.orrbi.ai%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"orrbi\" --url \"https://mcp.orrbi.ai/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/orrbi-mcp-fee3a185fe","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/orrbi-mcp-fee3a185fe/tools/{tool}","mcpServerUrl":"https://mcp.orrbi.ai/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/orrbi-mcp-fee3a185fe?live=1"}