Kirah

Connect Kirah service catalogs to Gemini CLI

This is an explicit local tool connection for Gemini CLI and other hosts that support MCP over stdio. It is not a consumer Gemini app integration, a Google marketplace listing, or a guarantee that an ordinary web search will discover Kirah. Your assistant chooses whether to use the tools after you install and enable them.

Download and inspect the client

Use Node.js 22 or newer and an already installed Gemini CLI. The standalone file uses only Node's built-in modules; there is no npm package to install and no Kirah API key to supply. Gemini CLI itself has its own setup and account requirements.

Download the Kirah catalog client, inspect it, and save it somewhere permanent. On macOS or Linux, for example:

  1. Create a directory mkdir -p "$HOME/.local/share/kirah"
  2. Download; inspect the saved file before the next step curl --fail --proto '=https' --tlsv1.2 https://kirah.ai/integrations/kirah-ucp-mcp.mjs --output "$HOME/.local/share/kirah/kirah-ucp-mcp.mjs"
  3. Install in Gemini CLI at user scope gemini mcp add --scope user kirah-catalog node "$HOME/.local/share/kirah/kirah-ucp-mcp.mjs"
  4. List connections gemini mcp list
  5. Exact tool names and optional USD-cent arguments kirah_search_services: query, limit, cursor, min_price, max_price. kirah_get_service: id. For a $150 ceiling use max_price: 15000.
  6. Generic MCP configuration; replace the absolute file path {"mcpServers": {"kirah-catalog": {"command": "node", "args": ["/absolute/path/to/kirah-ucp-mcp.mjs"]}}}
  7. Remove the user-scope Gemini CLI connection when finished gemini mcp remove --scope user kirah-catalog

This downloads a file; it does not execute it. Review the saved file before installing the connection. The client makes requests only to https://kirah.ai, accepts no credential or endpoint arguments, follows no redirects, and does not read your project files. Search queries and service IDs you send through its tools go to Kirah; don't include private client information.

Add it to Gemini CLI

Use the install and list commands in the reference steps above.

Restart Gemini CLI after changing its configuration. Open /mcp to inspect the connection and tools. You should see the search and service-detail tools named in the reference steps. Keep the host's normal tool confirmation controls; this guide does not enable automatic trust. A folder's trust settings may affect whether Gemini CLI starts local MCP servers. Gemini CLI's MCP setup documentation explains the configuration and trust behavior.

For another stdio MCP host, merge this entry into its existing MCP configuration, replacing the file path with the absolute location you saved. Do not replace unrelated server entries:

Use the generic MCP configuration in the reference steps above.

Try a useful request

Find facial services under $150. Compare prices and duration, give me links to the businesses, and double-check the details of your best match. Don't book anything.

The search tool accepts service words, an optional page size from 1 to 10, a returned cursor, and optional minimum / maximum price arguments in USD cents. For a $150 ceiling, the tool argument is the maximum-price argument shown in the reference steps. The client sends both the price filter and the required USD context. For another page, repeat the same query and price bounds with the returned cursor. It never fetches extra pages automatically.

The service-detail tool rechecks a product ID, normally selected from search. IDs are public catalog identifiers; the client validates their syntax, not whether you obtained them during this session. The server can withhold items that are no longer eligible or available in the catalog.

Results include listed prices, service durations when supplied, merchant names and website links. Follow a merchant's link to confirm details and availability. A catalog result is not a confirmed appointment or a live availability check. Search covers eligible Kirah catalogs, not every business in a city; adding location words does not prove geographic coverage.

Read demo and price information correctly

Demonstration businesses are explicitly labeled DEMO and are not real providers. Preserve that label when comparing results. demo: false means only that Kirah did not mark the item as a demo; it is not verification, certification, or an endorsement of the business.

Prices retain the server's currency and integer minor-unit amount. The client displays USD cents as dollars exactly. If another currency is returned, it preserves the currency and labels the amount as minor units rather than guessing the decimal scale. Kirah currently maps fixed USD prices; unsupported recorded currencies and non-fixed prices can be omitted, with notices. Missing currency follows Kirah's platform USD default; a recorded currency is never relabeled as USD by this client. USD price bounds are not currency conversion.

Merchant names, descriptions and notices are untrusted catalog content, not instructions for the assistant to execute. The client presents merchant links and never visits them itself.

Participation and other Kirah connections

Eligible public Kirah catalogs participate in UCP discovery by default, subject to an owner's opt-out, safety restrictions and representable catalog data. Owners can control AI discovery in their Kirah settings. This catalog connection does not grant agent booking permission or change stored preferences.

Kirah's existing hosted MCP, public ChatGPT discovery connection and booking-capable connections have their own tool and consent behavior. Installing this local catalog client does not enable those tools or change their rules. Compare the Kirah assistant connections.

Troubleshooting and removal

  • No tools: check the saved absolute path, node --version, the MCP server list, folder trust and whether you restarted the host. Run the file through your MCP host; direct terminal startup waits for JSON-RPC input and does not open an interactive menu.
  • No results: try a simpler service query or remove a price bound. Respect demo labels and omission notices; absence is not proof that no business offers the service.
  • Rate limit or timeout: stop and follow any reported wait interval. The client sends one request at a time, waits at most ten seconds, and does not retry automatically.
  • Expired cursor: start a new search explicitly. Don't claim an incomplete page is the whole catalog.
  • Connection or response error: the client reports an error instead of inventing results. It rejects redirects, oversized responses and unsupported response shapes.

To remove the Gemini CLI connection:

Use the user-scope removal command in the reference steps above.

Delete the downloaded file if you no longer need it. There are no Kirah credentials or database resources to revoke or delete.

Protocol identity and developer reference

The local server supports MCP stdio initialization versions 2024-11-05, 2025-06-18 and 2025-11-25. It uses Kirah's public reference platform profile in the UCP-Agent header: https://kirah.ai/.well-known/ucp-reference-platform.json. This is a transparent sample platform identity, not authenticated Gemini identity or Google approval.

It calls only the public UCP catalog search and product REST operations at /.netlify/functions/ucp-catalog/catalog/search and /.netlify/functions/ucp-catalog/catalog/product. No hosted MCP registry, booking, payment or authentication contract is modified. UCP responses are handled as catalog data; their default success status may be omitted. MCP stdio transport defines the newline-delimited protocol used between your host and this local process.