Sign in with Genaya is the normal way in: a person, a consent screen, a connection that runs as them. A developer tool, a script or a server-side agent often has no browser to sign in with. For those, an existing Genaya API key - the same keys the Developer API uses - can be presented as the bearer at the Genaya MCP address, once the key's Allow MCP switch is on. The key reads and asks only: it answers who am I and questions to Genaya AI, and never prepares, confirms or sends anything. Nothing changes in Genaya through a key; a change from a developer tool needs a signed-in connection.
Create a key, or open one you already have. Allow MCP is off for every key until you turn it on, and a key that was created for Zapier cannot be switched.
The row shows when the key was last used at the MCP address. Turning the switch off again stops the key at its next call (within a minute).
Every call to https://api.genaya.com/mcp carries Authorization: Bearer gny_live_... (or a gny_test_ key). A key in the address or in the body is refused before any work.
It answers the member the key acts as, the organization and the scopes (read, ai) - free. Then ask: "How many appointments do we have this week?"
gny_test_), flagged as test mode; they read live data like a test key on the Developer API does.Each entry is the whole configuration on one line; replace gny_live_... with your key. Cursor, VS Code, Windsurf and Gemini CLI can also sign in with Genaya instead (leave the header out), which makes the connection personal and lets it prepare changes you confirm.
{ "mcpServers": { "genaya": { "url": "https://api.genaya.com/mcp", "headers": { "Authorization": "Bearer gny_live_..." } } } }{ "servers": { "genaya": { "type": "http", "url": "https://api.genaya.com/mcp", "headers": { "Authorization": "Bearer ${input:genaya-key}" } } }, "inputs": [{ "id": "genaya-key", "type": "promptString", "password": true, "description": "Genaya API key" }] } - VS Code prompts for the key once and keeps it in its secret store.{ "mcpServers": { "genaya": { "serverUrl": "https://api.genaya.com/mcp", "headers": { "Authorization": "Bearer gny_live_..." } } } }{ "context_servers": { "genaya": { "source": "custom", "url": "https://api.genaya.com/mcp", "headers": { "Authorization": "Bearer gny_live_..." } } } }{ "mcpServers": { "genaya": { "httpUrl": "https://api.genaya.com/mcp", "headers": { "Authorization": "Bearer gny_live_..." } } } }"tools": [{ "type": "mcp_server", "name": "genaya", "url": "https://api.genaya.com/mcp", "headers": { "Authorization": "Bearer gny_live_..." }, "allowed_tools": ["whoami", "ask_genaya"] }] - the name is snake_case with no hyphens; streamable HTTP only, which Genaya is."tools": [{ "type": "mcp", "server_url": "https://api.genaya.com/mcp", "server_label": "genaya", "authorization": "gny_live_...", "allowed_tools": ["whoami", "ask_genaya"] }]POST https://api.genaya.com/v1/mcp is the Developer API's own MCP server: typed tools over the REST resources (list appointments, create a client), with the key's scopes and write rules. https://api.genaya.com/mcp with the same key is the connector: who am I and ask Genaya AI - the brain, read and ask only. Calls to /v1/mcp count on the key's Developer API request pool; calls to /mcp count nothing there, and a question spends Genaya AI credits like the app. The two never mix: a connection token from Sign in with Genaya is never accepted on /v1, and a Zapier key is never accepted on either.
Our team typically replies within one business day.