Cloudlayer MCP server
26 operations0 webhooks
Generate PDFs and images from HTML, URLs, and templates, and manage Cloudlayer jobs, assets, and storage.
Try Cloudlayer with your agent
Connect Cloudlayer, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in Cloudlayer on my account, then run one read-only example and show me the result.
Cloudlayer tools and triggers
Tools are what your agent can do in Cloudlayer through Corsair's MCP server. Triggers are the Cloudlayer events a routine can start from.
Url
- To ImageDestructive
Screenshot a live web page with full viewport, cookie and auth control; v2 returns a job, including a completed job with async:false. Docs: https://cloudlayer.io/docs/url-to-image/
url.toImage
- To Image QuickDestructive
GET convenience route that creates a JSON job for one URL image with only url and timeout. Docs: https://cloudlayer.io/docs/url-to-image/
url.toImageQuick
- To Image Quick V1Destructive
GET v1 shortcut that screenshots one URL and returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/url-to-image/
url.toImageQuickV1
- To Image V1Destructive
Screenshot a URL using the v1 POST route; returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/url-to-image/
url.toImageV1
- To PdfDestructive
Capture a live web page (or a batch of URLs) as a PDF; v2 returns a job, including a completed job with async:false. Docs: https://cloudlayer.io/docs/url-to-pdf/
url.toPdf
- To Pdf QuickDestructive
GET convenience route that captures a single URL as a PDF with only url and timeout. Docs: https://cloudlayer.io/docs/url-to-pdf/
url.toPdfQuick
- To Pdf Quick V1Destructive
GET v1 shortcut that captures one URL as a PDF and returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/url-to-pdf/
url.toPdfQuickV1
- To Pdf V1Destructive
Capture a URL (or batch) as a PDF using the v1 route; returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/url-to-pdf/
url.toPdfV1
Html
- To ImageDestructive
Render base64 HTML to a PNG, JPG, WebP or SVG image; v2 returns a job, including a completed job with async:false. Docs: https://cloudlayer.io/docs/html-to-image/
html.toImage
- To Image V1Destructive
Render base64 HTML to an image using the v1 route; returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/html-to-image/
html.toImageV1
- To PdfDestructive
Render base64 HTML to a PDF; v2 returns a job, including a completed job with async:false. Docs: https://cloudlayer.io/docs/html-to-pdf/
html.toPdf
- To Pdf V1Destructive
Render base64 HTML to a PDF using the v1 route; returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/html-to-pdf/
html.toPdfV1
Storage
- CreateWrite
Create an S3-compatible storage configuration for direct file delivery. Docs: https://cloudlayer.io/docs/storage/
storage.create
- GetRead-only
Read one storage configuration by ID with secrets masked. Docs: https://cloudlayer.io/docs/storage/
storage.get
- Get CurrentRead-only
Read the current storage configuration with secrets masked. Docs: https://cloudlayer.io/docs/storage/
storage.getCurrent
- RemoveDestructive
Delete a storage configuration and revert to cloudlayer.io cloud storage. Docs: https://cloudlayer.io/docs/storage/
storage.remove
Template
- To ImageDestructive
Render a gallery or base64 Nunjucks template with caller data to an image using JSON or multipart upload; v2 async:false returns a completed JSON job. Docs: https://cloudlayer.io/docs/template-to-image/
template.toImage
- To Image V1Destructive
Render a gallery or base64 Nunjucks template to an image using the v1 route; returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/template-to-image/
template.toImageV1
- To PdfDestructive
Render a gallery or base64 Nunjucks template with caller data to a PDF using JSON or multipart upload; v2 async:false returns a completed JSON job. Docs: https://cloudlayer.io/docs/template-to-pdf/
template.toPdf
- To Pdf V1Destructive
Render a gallery or base64 Nunjucks template to a PDF using the v1 route; returns a base64-encoded binary artifact. Docs: https://cloudlayer.io/docs/template-to-pdf/
template.toPdfV1
Assets
- GetRead-only
Get one generated asset including its pre-authenticated download URL. Docs: https://cloudlayer.io/docs/assets/
assets.get
- ListRead-only
List the most recent generated assets with cursor pagination. Docs: https://cloudlayer.io/docs/assets/
assets.list
Account
- GetRead-only
Read account usage, plan limits, storage use and (on usage plans) the credit balance. Docs: https://cloudlayer.io/docs/account/
account.get
Jobs
- GetRead-only
Get one job to poll an async generation, including status, size and cost. Docs: https://cloudlayer.io/docs/jobs/
jobs.get
- ListRead-only
List recent jobs using the documented v1 jobs endpoint with optional cursor parameters. Docs: https://cloudlayer.io/docs/jobs/
jobs.list
- List V2Read-only
List recent jobs using the v2 jobs endpoint with optional cursor parameters. Docs: https://cloudlayer.io/docs/jobs/
jobs.listV2
Connect Cloudlayer to Claude, ChatGPT or Cursor
- 1
Connect Cloudlayer in Corsair
Add your Cloudlayer API key once in Corsair. Corsair stores the credential encrypted and makes the Cloudlayer API calls for your agent, so it never goes into a prompt or a config file. Connect Cloudlayer
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs Cloudlayer. On a ChatGPT personal plan, connect Cloudlayer here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, Cloudlayer's read and write operations run right away and its 17 destructive operations wait for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/cloudlayer, add the Cloudlayer plugin, and connect with an API key. Then call methods like corsair.cloudlayer.api.account.get() from your app. Corsair keeps each tenant isolated.
Yes. Cloudlayer requires an API key from your Cloudlayer account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit Cloudlayer, GitHub, Notion, Stripe, and the rest. Trigger Cloudlayer from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for generate PDFs and images from HTML, URLs, and templates, and manage Cloudlayer jobs, assets, and storage. Common builds include sync jobs, admin tooling, and agents that call Cloudlayer APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per Cloudlayer API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/cloudlayer in the open repo. When Cloudlayer ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your Cloudlayer data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store Cloudlayer data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put Cloudlayer on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 17 destructive Cloudlayer operations. You can change a link's mode at hub.corsair.dev/me.