# MCP server

The Bookingmood MCP server lets AI assistants that support the [Model Context Protocol](https://modelcontextprotocol.io/), such as Claude and Cursor, read and manage your Bookingmood data.

The server is available at `https://www.bookingmood.com/mcp` over Streamable HTTP. It uses the same [API keys](https://www.bookingmood.com/it-IT/api-reference/authentication) as the REST API: send one as a bearer token in the `Authorization` header. All tools act on the organization of the API key, with the same permissions as the REST API, and every call is logged as an [API request](https://www.bookingmood.com/it-IT/api-reference/api_requests).

## Set up

Pick an API key to add the server to your agent with it. Agents that support custom headers can connect directly.

API key

- Cursor
  Opens Cursor to add the server to your MCP settings.
  [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=bookingmood&config=eyJ1cmwiOiJodHRwczovL3d3dy5ib29raW5nbW9vZC5jb20vbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyIFlPVVJfQVBJX0tFWSJ9fQ%3D%3D)
- VS Code
  Opens VS Code to add the server for GitHub Copilot.
  [Add to VS Code](vscode:mcp/install?%7B%22name%22%3A%22bookingmood%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.bookingmood.com%2Fmcp%22%2C%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20YOUR_API_KEY%22%7D%7D)
- Claude Code
  Run in your terminal to add the server to Claude Code.
  ```
  claude mcp add --transport http bookingmood https://www.bookingmood.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
  ```
- Gemini CLI
  Run in your terminal to add the server to Gemini CLI.
  ```
  gemini mcp add --transport http bookingmood https://www.bookingmood.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
  ```
- Codex
  Run in your terminal, and set BOOKINGMOOD_API_KEY to your API key in your shell profile.
  ```
  codex mcp add bookingmood --url https://www.bookingmood.com/mcp --bearer-token-env-var BOOKINGMOOD_API_KEY
  ```

## Tools

### Tables

- `describe_tables` lists the tables available to the API key.
- `query_rows` reads rows, with [selecting](https://www.bookingmood.com/it-IT/api-reference/selecting), [filtering](https://www.bookingmood.com/it-IT/api-reference/filtering) and [sorting & pagination](https://www.bookingmood.com/it-IT/api-reference/sorting-pagination).
- `insert_rows`, `update_rows` and `delete_rows` create, update and delete rows.

### Products and members

- `create_product` and `delete_product` add and remove products, updating your subscription.
- `invite_member` and `revoke_member` manage members of your organization.

### Booking flow

- `get_availability` and `search_products` [query](https://www.bookingmood.com/it-IT/api-reference/availability) and [search](https://www.bookingmood.com/it-IT/api-reference/search) availability.
- `validate_cart` and `checkout_cart` [validate](https://www.bookingmood.com/it-IT/api-reference/cart-validate) and [check out](https://www.bookingmood.com/it-IT/api-reference/cart-checkout) a cart.

## Resources

- `bookingmood://tables` lists all tables with their descriptions.
- `bookingmood://tables/{table}` describes the columns, types and relations of a table.
- `bookingmood://guide/postgrest` explains the query syntax for selecting, filtering and sorting.

Tools that create, update or delete data act on your live data. Review what your assistant is about to do before approving these tool calls.
