# OConsole > Hosted Odoo instances, each reachable by an AI agent over MCP at one shared > endpoint. Which instance a connector reaches is decided by the token issued > at consent, not by configuration in the client, so adding an instance needs > no change on the client side and no new hostname. Every connector points at `https://mcp.odooconsole.com/mcp`. Discovery follows the MCP specification: an unauthenticated request returns 401 with a `WWW-Authenticate` header naming the RFC 9728 protected-resource metadata, which names the authorization server. ## Documentation - [Pricing](https://www.odooconsole.com/pricing): flat per instance, unlimited users, from free - [MCP reference](https://www.odooconsole.com/docs/mcp): the endpoint, both grant kinds, scopes, discovery and every error - [Console](https://www.odooconsole.com/console): create and manage instances ## Writing - [Connect Claude to Odoo: one URL, no configuration](https://www.odooconsole.com/blog/connect-claude-to-odoo): 2026-08-14 - [An Odoo.sh alternative that bills per instance, not per user](https://www.odooconsole.com/blog/odoo-sh-alternative): 2026-08-14 - [Your MCP client says registration isn't supported. It probably is.](https://www.odooconsole.com/blog/mcp-client-registration-not-supported): 2026-08-07 - [One MCP endpoint, many tenants: what a connector can actually reach](https://www.odooconsole.com/blog/one-endpoint-many-tenants): 2026-08-06 ## Details that are easy to get wrong - Two grant kinds. `odoo:read`/`odoo:write` reach one instance's ERP data; `instances:read`/`instances:write` reach provisioning and have no route to any instance's data. They come from separate consent flows on purpose, so text inside an ERP record cannot reach a provisioning tool. - Tenancy is carried by a claim in the token, not by the audience: every instance shares one resource identifier, so audience binding cannot tell them apart. Each instance re-checks the claim names itself. - Instances run Odoo 19.