Build and deploy Cursor agents to your AWS or GCP cloud

Write your agent with the Cursor SDK and deploy it with Encore. It runs as a service in your own cloud account, with its database, queues, schedules and secrets provisioned for it. Start from a working on-call agent in one click.

One stack,
from agent to cloud

Write the agent with the Cursor SDK. Encore runs it and everything it needs in your AWS or GCP account.

Agent

Cursor SDK

The agent loop runs inside your service with Agent.create. Its tools are your own typed APIs, and its conversations are stored in your database.

Custom toolsStreamingResume
Orchestration

Encore

Runs the agent as a service, wires up its Postgres, Pub/Sub, cron and secrets, and deploys it on every push. Each tool call shows up in tracing.

DeploymentsInfrastructureTracing
Your cloud

AWS and Google Cloud

The agent, its data and its secrets live in your own account. Only model calls leave it, to Cursor.

AWSGoogle Cloud

From your editor to your cloud

Build the agent like any other backend service, deploy it to your own account, and let your systems put it to work.

BUILD

Write the agent
with the Cursor SDK

The agent loop runs inside an Encore service. Its tools are typed calls to your other services, so it can do what your APIs do and nothing else. Run it locally with encore run, with a real database and Pub/Sub, before you deploy anything.

agent/runtime.ts
// Encore provisions these in your cloud.
const db = new SQLDatabase("agent", { migrations: "./migrations" });
const cursorApiKey = secret("CursorApiKey");
const agent = await Agent.create({
apiKey: cursorApiKey(),
model: { id: "composer-2.5" },
// Only your tools: no shell, no filesystem.
tools: ["mcp"],
local: {
cwd: WORKSPACE,
// Conversations stored in that database.
store: postgresAgentStore,
customTools: {
recent_deploys: {
description: "List recent deploys for a service.",
execute: ({ service }) =>
incidents.deploys({ service }),
},
},
},
});
DEPLOY

Deploy to your AWS or GCP
in one click

Connect your AWS or GCP account and Encore provisions everything the agent declares in code, from its databases and Pub/Sub topics to its secrets. Nothing to configure by hand, and every git push redeploys it.

RUN

It picks up work
on its own

An agent doesn't have to wait for a prompt. Subscribe it to a Pub/Sub topic and it runs when an event lands, or give it a cron job and it runs on a schedule. Every run is stored in your database and streamed to your UI, and each tool call shows up in tracing.

Incident #4 openedincident-openedtriage started
get_incidentid: 4
recent_deploysservice: "checkout"
service_metricssplit_at: "a41f9c2"
set_status"investigating"
post_updateincident_id: 4
on-call agent · update on #4
Latency rose after deploy a41f9c2 to checkout. Recommend rolling it back.

Deploy agents to your/