Cursor SDK でプログラム可能なエージェントを構築する
Cursor を支えるものと同じランタイム、ハーネス、モデルを使ってエージェントを構築できるよう、Cursor SDK を紹介します。
Cursor のデスクトップアプリ、CLI、ウェブアプリで動作するエージェントを、数行の TypeScript で利用できるようになりました。お使いのマシンでも、専用 VM を使った Cursor のクラウド上でも、任意の最先端モデルで実行できます。
コーディング エージェントは、個人開発者向けの対話型ツールから、組織向けのプログラム可能なインフラストラクチャへと進化しています。Cursor SDK を使えば、エージェント スタック全体を自前で構築・運用するオーバーヘッドなしに、エージェントをデプロイできます。すでに多くのチームが CI/CD パイプラインからエージェントを直接呼び出し、エンドツーエンドのワークフローを自動化し、エージェントを中核製品に組み込んでいます。
Cursor SDK は現在、すべてのユーザーにパブリックベータ版として提供されています。まずは npm install @cursor/sdk を実行してください。
import { Agent } from "@cursor/sdk";
const agent = await Agent.create({
apiKey: process.env.CURSOR_API_KEY!,
model: { id: "composer-2" },
local: { cwd: process.cwd() },
});
const run = await agent.send("Summarize what this repository does");
for await (const event of run.stream()) {
console.log(event);
}エージェントをすばやく本番環境にデプロイ
データを安全に扱いながら動作する、高速で信頼性が高く高機能なコーディングエージェントを構築するには、相応のエンジニアリング工数がかかります。たとえば、安全なサンドボックス化、永続的な状態管理やセッション管理、環境設定、コンテキスト管理などです。さらに、新しいモデルがリリースされるたびに、その性能を活かすためにチームがエージェントループを組み直さなければならないことも少なくありません。
Cursor SDK はこうした複雑さを解消し、役に立つエージェントの構築に集中できるようにします。


本番対応のクラウドインフラストラクチャを活用
SDK から開始するクラウドセッションは、Cloud Agents で使われているものと同じ最適化済みランタイム上で実行されます。各エージェントには、強力なサンドボックス化、リポジトリのクローン、必要な設定が整った開発環境を備えた専用 VM が割り当てられます。
ノート PC がスリープしても、ネットワークが切断されても、エージェントは動き続けます。会話をストリーミングで確認し、あとから再接続することもできます。エージェントの処理が完了すると、PR を作成したり、ブランチをプッシュしたり、デモやスクリーンショットを添付したりできます。
// クラウドエージェントを起動してタスクを開始する...:
const agent = await Agent.create({
apiKey: process.env.CURSOR_API_KEY!,
model: { id: "gpt-5.5" },
cloud: {
repos: [{ url: "https://github.com/cursor/cookbook", startingRef: "main" }],
autoCreatePR: true,
},
});
const run = await agent.send("Fix the auth token expiry bug");
console.log(`Started ${run.id}`);
// ...後でどこからでも状況を確認する:
const result = await (
await Agent.getRun(run.id, { runtime: "cloud", agentId: run.agentId })
).wait();
console.log(result.git?.branches[0]?.prUrl);SDK は更新版の Cloud Agents API を使用しており、これによりクラウドエージェントの実行が Cursor のエージェントウィンドウとウェブアプリに表示されます。タスクをプログラムから開始し、その後 Cursor で進捗を確認したり、作業を引き継いだりできます。
別のランタイムが必要な場合は、同じ SDK で セルフホスト型ワーカー 上でエージェントを実行でき、コードとツール実行をネットワーク内に留められます。また、すばやく反復するために手元のマシンでローカル実行することもできます。
Cursor のハーネスをフル活用
SDK 経由で起動したエージェントは、Cursor のデスクトップアプリ、CLI、ウェブアプリを支えるのと同じハーネスを利用できます。
- インテリジェントなコンテキスト管理: コードベースのインデックス化、セマンティック検索、Instant Grep により、エージェントはより速く、より効率的に適切な結果へたどり着けます。
- MCP サーバー: エージェントは、
.cursor/mcp.json設定ファイルを使うか、呼び出し時にインラインで渡すことで、stdio または HTTP 経由で外部ツールやデータソースに接続できます。 - スキル: エージェントは、リポジトリの
.cursor/skills/ディレクトリからスキルを自動的に読み込みます。 - Hooks:
.cursor/hooks.jsonファイルを使って、クラウド、セルフホスト、ローカルにまたがるエージェントループを監視、制御、拡張できます。 - サブエージェント: メインエージェントは
Agentツールを通じて、それぞれ独自のプロンプトとモデルを持つ名前付きサブエージェントを起動し、サブタスクを委任できます。
あらゆるモデルを活用
Cursor SDK を使うと、Cursor で対応しているすべてのモデルを利用できます。フィールドを 1 つ変更するだけで、コストと機能の希望するバランスに合わせて、そのタスクに最適なモデルへエージェントを振り分けられます。
さらに、Composer 2 は、汎用モデルの数分の一のコストで最先端レベルのパフォーマンスを実現するコーディング特化型モデルです。これにより、ほとんどのコーディングエージェントタスクで、知能と効率の最適な組み合わせを得られます。
開発者が構築しているもの
チームは Cursor SDK を使って、カスタムエージェントをこれまで以上にすばやくリリースしています。たとえば、CI/CD から直接起動するプログラム可能なエージェントで変更内容を要約したり、CI 失敗の根本原因を特定したり、修正を加えた PR に更新したりしています。また、GTM チームがコードを書かずにプロダクトデータを照会できる社内アプリケーションのような、カスタムエージェントプラットフォームを構築している企業もあります。
さらに、Cursor を顧客向けプロダクトに直接組み込んでいるお客様もおり、エンドユーザーはホストアプリケーションを離れることなくエージェント体験を利用できるようになっています。
Cursor SDK を基盤に構築しているお客様の声をいくつかご紹介します。
Cursor は、エディタや CLI から多数のエージェントを並行して実行できる優れたクラウド体験を提供してくれます。同じクラウドランタイム上で、VM を管理したりメモリ制限を回避したりすることなく、自社のプログラム可能なエージェントを動かせるようになる手段として、SDK に大きな期待を寄せています。これにより、開発者が絶えず介入しなくても、コードベースを健全に保てます。
サンプルプロジェクトから始める
フォークして独自のユースケース向けに拡張できるスタータープロジェクトをいくつか、公開 GitHub リポジトリで公開しています。
- Quickstart: ローカルのエージェントを作成し、1 つのプロンプトを送信して、応答をストリーミングする最小構成の Node.js の例です。
- Prototyping tool: サンドボックス化されたクラウド環境でエージェントを立ち上げ、新しいプロジェクトのひな形を作成し、アイデアを素早く試せるウェブアプリです。
- Kanban board: エンジニアがカードをドラッグすると、エージェントがプログラムから作業を引き受け、PR を作成し、結果を添付ファイルとして返す、エージェント駆動のカンバンツールです。
- Coding agent CLI: ターミナルから Cursor エージェントを起動できる軽量なコマンドラインインターフェースです。
次のステップ
Cursor SDK はすべてのユーザーにご利用いただけ、料金は標準のトークンベース従量課金に基づいて請求されます。
私たちは Cursor SDK への投資を継続しており、より多くの言語、ワークフロー、デプロイパターンにわたって、チームがプログラム可能なエージェントをさらに簡単に構築できるようにすることに注力しています。
詳しくは、ドキュメント をご覧ください。構築を始める際には、Cursor SDK プラグイン とあわせて Cursor を使うこともできます。