CursorGateway — CursorをOpenAI/Anthropic互換APIに変換するゲートウェイ

AI/ML

概要

CursorGatewayは、Cursorエディタが利用する独自のプロトコルを「通訳」して、一般的なOpenAI / Anthropic互換APIとして振る舞うローカルプロキシです。内部ではCursorクライアントのProtobufベースの通信(HTTP/2)を再現し、外部クライアントからの標準APIリクエストをCursorのAPIへ変換して中継します。結果的に、Cursorのサブスクライブ模型をOpenAI SDK、Anthropic SDK、あるいはその他の互換クライアントから透過的に利用できるようにします。Dockerでの起動やアーキテクチャ文書も用意されており、Cursor 2.3.41+に適合する逆向き実装がベースです。

GitHub

リポジトリの統計情報

  • スター数: 15
  • フォーク数: 0
  • ウォッチャー数: 15
  • コミット数: 30
  • ファイル数: 15
  • メインの言語: JavaScript

主な特徴

  • 多プロトコル互換:OpenAI / Anthropic互換APIを同時にサポートし、既存のクライアントをそのまま利用可能にする。
  • Cursorプロトコルの再現:Protobuf + HTTP/2ベースのCursorクライアント通信を逆向実装し、Cursor 2.3.41+に対応。
  • Agent(ツール呼び出し)モードのサポート:ツール連携や外部エンドポイント呼び出しを含むエージェント機能を透過的に扱える。
  • ローカル/コンテナで実行可能:DockerfileやARCHITECTURE.mdがあり、開発環境やデプロイが容易。

技術的なポイント

CursorGatewayの核心は「API翻訳層」にあります。外部からのOpenAI/Anthropic互換リクエストを受け取り、それをCursorが理解するProtobufメッセージへマッピングしてHTTP/2で送信し、モデルの応答を再び標準APIのレスポンス形式に戻します。実装はJavaScript(Node.js)ベースで、http2やprotobuf関連のライブラリを用いてCursorのバイナリプロトコルを組み立て/解析します。

ストリーミング応答やイベントベースの出力にも対応するため、双方向ストリーミング(gRPC風/HTTP/2ストリーム)や逐次パケット処理を考慮した設計になっています。Agentモードをサポートすることで、ツール呼び出し(外部APIやローカルツールの実行)をプロキシ経由で連携可能にし、OpenAIの”functions”やAnthropicの類似機能にマッピングできます。認証面ではCursorアカウントの資格情報を用いる必要があり、トークン管理やセキュアな保存・転送が重要です。

ARCHITECTURE.mdに設計の概要や主要フローが纏められており、Dockerfileでコンテナ化して環境依存を軽減できます。注意点としては、リポジトリは逆向き実装に依存するためCursorクライアント側のプロトコル変更(バージョン差分)に弱く、Cursorの利用規約やサービス政策を遵守する必要があります。パフォーマンス面ではHTTP/2接続の持続、同時接続数、プロトコル変換のオーバーヘッドを監視すると良いでしょう。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .claude: dir(Claude向け変換や設定を格納する想定のディレクトリ)
  • .github: dir(CI/CDやIssueテンプレートなどのワークフロー)
  • .gitignore: file(無視対象ファイル)
  • ARCHITECTURE.md: file(設計図・通信フローの解説)
  • Dockerfile: file(コンテナ化の定義)
  • README.md: file(プロジェクト概要と利用方法)
  • package.json: file(依存関係とスクリプト)
  • src/: dir(プロキシ本体のソースコード、APIマッピング、Protobuf処理)
  • scripts/: dir(起動や開発用スクリプト)
  • LICENSE: file(ライセンス情報) …他 10 ファイル

各ファイルは、Cursorプロトコルのパース/シリアライズ、APIエンドポイントのルーティング、認証トークンの橋渡し、そしてエージェント用のツール呼び出しハンドラを実装する構成を想定しています。DockerfileとARCHITECTURE.mdは運用や検証を始める際に重要です。

まとめ

Cursorのモデルを既存のAIクライアントから使えるようにする便利なプロキシ実装。運用時は互換性と利用規約に注意。

リポジトリ情報: