Connect an AI Agent (MCP)
Skysize exposes a Model Context Protocol (MCP) endpoint, so the AI coding agent you already use to write your Odoo modules can also read what happened when you deployed them.
Instead of copying a traceback from the dashboard into your editor, you can ask your agent directly: "why did the last deployment of my staging branch fail?". The agent fetches the build log, the runtime log, the slow queries, or the container metrics for the exact branch it is working on, and closes the loop without you leaving your editor.
MCP access is included on every plan, including the free Sandbox.
What your agent can read
The endpoint provides seven read-only tools:
| Tool | What it returns |
|---|---|
list_projects | The projects you can access: id, name, Odoo version and edition, validity, plan state |
list_branches | A project's branches with deployment state and the latest build result per branch |
list_builds | Recent builds of one branch, newest first (default 10, max 50) |
get_build_log | Build output for a deployment (install, update, tests, and requirements phases), as a bounded excerpt |
get_runtime_log | The tail of the running instance's odoo.log (default 200 lines, max 1000), with an optional text filter |
get_slow_queries | Top slow SQL statements from pg_stat_statements, normalized, with call counts and mean/max times |
get_branch_metrics | CPU, memory, and HTTP latency for a branch's container, including the branch-type resource limits |
These are the same logs and metrics the dashboard shows you. See View Logs for the dashboard equivalent.
Create an access token
- Sign in to app.skysize.io and open Account > AI Agents.
- Give the token a name that tells you where it lives, for example
laptop-claude-code. - Choose an expiry: 1 day, 3 days, 7 days, a custom date, or never. Seven days is preselected. Custom dates can be up to one year out.
- Click Create token.
The token is shown once, immediately after creation. Copy it then, it cannot be displayed again. If you lose it, revoke it and create a new one.
An access token acts on your behalf. Treat it like a password: never commit it to a repository, and prefer a short expiry for a token you only need for one debugging session. You can revoke any token at any time from the same page.
Connect Claude Code
The token page shows a ready-to-paste command. It looks like this:
claude mcp add --transport http skysize https://app.skysize.io/mcp --header "Authorization: Bearer <your-token>"
Replace <your-token> with the token you just copied, then run the command in your terminal. Verify the connection with:
claude mcp list
Ask your agent something like "list my Skysize projects" to confirm the tools are reachable.
Connect another MCP client
Any MCP client that speaks streamable HTTP and lets you set a request header works the same way, including Cursor and Windsurf. Configure:
| Setting | Value |
|---|---|
| Transport | Streamable HTTP |
| URL | https://app.skysize.io/mcp |
| Header | Authorization: Bearer <your-token> |
Connectors that require OAuth, such as the remote connector directory on claude.ai, cannot be used yet. The endpoint authenticates with access tokens today. Use a client that can send a header.
What the agent can and cannot do
Read-only. No tool can change anything. Your agent cannot rebuild, restart, edit environment variables, trigger a backup, or delete a deployment.
Never exposes secrets. Environment variables are excluded from every tool's output, as are domains, DNS settings, and billing data.
Your permissions, exactly. The token carries your access, nothing more. Your agent sees the projects you can see and the branches you can read, following the same project roles and group access as the dashboard. See Manage Users and Groups. If your role is limited to development branches, so is your agent.
Bounded output. Logs come back as excerpts, not whole files. A large build log is truncated with both its beginning and its end preserved, so tracebacks at either end survive.
Rate limited. Each token is limited to 60 requests per minute. Agents retry eagerly, and this keeps a loop from hammering the platform. Beyond the limit, requests are rejected until the next minute.
Things to know about the data
- Development deployments are removed 24 hours after their build. If your agent reports that a development branch has no deployment, that is why. A new push rebuilds it.
- Slow queries need
pg_stat_statementson the host. When it is unavailable, the tool returnsavailable: falsewith the reason rather than an empty list. - Metrics are collected every 30 seconds and kept for 30 days. The look-back window defaults to 60 minutes and can go up to 24 hours.
- Build logs reflect the most recent run of each phase for that deployment. For older builds, use the dashboard.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
401 unauthorized | The token is wrong, revoked, or expired. Check the Expires column on the token page, then create a new one |
| The client rejects the URL | The URL must be absolute and end in /mcp. A bare /mcp is not accepted |
429 rate_limited | More than 60 requests in a minute on one token. Wait, then retry |
| A project is missing | Your account has no access to it. Ask a project admin to grant you a role |
Slow queries return false | The host's Postgres runs without pg_stat_statements. Contact support so it can be enabled |
Useful prompts
Once connected, try:
- "My staging deployment failed. Read the build log and tell me what broke."
- "Check the runtime log of my production branch for tracebacks in the last 200 lines."
- "Which SQL queries are slowest on my production database, and which of my modules generate them?"
- "Did my production container hit its memory limit in the last hour?"
- "My module fails on a missing Python library. Read the requirements log and tell me what pip did."