SDK と MCP
SDK と MCP
8 つの公式言語 SDK(Node、Python、Go、Rust、Ruby、PHP、Swift、Kotlin)に加えて AI エージェント用の MCP サーバー — インストールパス、パッケージマネージャーへのリンク、スタックごとのクイックスタートスニペット。
最終更新:
FloopFloop SDKs & MCP
FloopFloop は8 つの公式言語 SDK と AI エージェント向けのMCP サーバーを提供しています。すべての API は同じ/api/v1/*バックエンドを対象としています — Node SDK で 作成したプロジェクトは、MCP 経由で動作する LLM が見るものと完全に同じです。
スタックに合ったものを選んでください:
- アプリやバックエンドを構築する場合: お使いの言語の SDK を使用してください。
- AI エージェントやチャットボットを構築する場合: Claude Desktop、Cursor、Zed、Copilot CLI、またはその他の MCP 対応ホストで
@floopfloop/mcpサーバーを使用してください。 - ターミナルから操作する場合: FloopFloop CLI を使用してください。
MCP サーバー — AI エージェント向け
@floopfloop/mcp— Model Context Protocol サーバー。FloopFloop API を 23 のツールとしてラップし、 MCP 対応の LLM ホストから呼び出せます。
ツールはプロジェクトのライフサイクル全体をカバーしています:create_project、 refine_project、upload_from_path(添付ファイル)、cancel_project、 reactivate_project、wait_for_live、 list_secrets / set_secret / remove_secret、list_library_projects / clone_library_project、 current_subscription、usage_summary、さらに サブドメイン確認と API キー管理。各ツールは読み取り専用かdestructiveHint でマークされており、状態を変更する前にホストが ユーザーに確認を促せます。
Claude Desktop 設定スニペット
{
"mcpServers": {
"floopfloop": {
"command": "npx",
"args": ["-y", "@floopfloop/mcp"],
"env": { "FLOOP_API_KEY": "flp_..." }
}
}
}~/Library/Application Support/Claude/claude_desktop_config.json (macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に 追加し、Claude Desktop を再起動して、“FloopFloop で <X> のサイトを作って” と尋ねてください。
プレイブックのために floop-skills と組み合わせる
MCP は機能を公開します。floop-skills は Anthropic スタイルのマークダウンスキルを提供し、ワークフロー — どのツールをどの順番で、どの引数で呼ぶか — を説明します。 最良のエージェント体験のために両方をインストールしてください:
mkdir -p ~/.claude/skills
git clone https://github.com/FloopFloopAI/floop-skills.git /tmp/floop-skills
cp -r /tmp/floop-skills/skills/* ~/.claude/skills/リンク: npm · GitHub · floop-skills
言語 SDK
8 つすべてで同じ API を提供:client.projects.create()、 refine、waitForLive / ストリーミング、 secrets、uploads、library、 apiKeys、subscriptions.current、 usage.summary、subdomains、 user.me。各 SDK は言語固有のイディオム(Python では同期 + 非同期、 Kotlin では Flow、Swift では AsyncThrowingStreamなど)で提供されますが、ワイヤーコントラクト — エラーコード、レスポンスエンベロープ、終端状態のセマンティクス — はすべて同一です。
Node / TypeScript — @floopfloop/sdk
Node 20 以上。ネイティブ fetch、完全な TypeScript 型、 ストリーミング用 AsyncIterator。標準 SDK であり、 MCP サーバーはこれを直接ラップしています。
npm install @floopfloop/sdk
import { FloopClient } from "@floopfloop/sdk";
const floop = new FloopClient({ apiKey: process.env.FLOOP_API_KEY! });
const { project } = await floop.projects.create({
prompt: "a cat-cafe blog with three sample posts",
});
const live = await floop.projects.waitForLive(project.id);
console.log(live.url);
Python — floopfloop
Python 3.10 以上。httpx.Client 上の同期 FloopClient と httpx.AsyncClient 上の非同期 AsyncFloopClient— 同じ 9 つのリソースアクセサー、projects.stream 上の async for。
pip install floopfloop
from floopfloop import FloopClient
floop = FloopClient(api_key=os.environ["FLOOP_API_KEY"])
created = floop.projects.create(prompt="a cat cafe landing page")
live = floop.projects.wait_for_live(created["project"]["id"])
print(live["url"])
Go — github.com/FloopFloopAI/floop-go-sdk
Go 1.22 以上。慣用的な context.Context を第 1 引数に取り、 型付きコードフィールドを持つ *Error、チャネルフレンドリーな ストリーミング。
go get github.com/FloopFloopAI/floop-go-sdk@latest
client := floop.NewClient(os.Getenv("FLOOP_API_KEY"))
res, err := client.Projects.Create(ctx, floop.CreateProjectInput{
Prompt: "a cat cafe landing page",
})
if err != nil { log.Fatal(err) }
live, err := client.Projects.WaitForLive(ctx, res.Project.ID, nil)
fmt.Println(live.URL)リンク: pkg.go.dev · GitHub · クックブック
Rust — floopfloop
Rust 2021 / 1.75 以上。tokio ベースの非同期、クライアントの ビルダーパターン、型付き FloopErrorCode 列挙型、 すべてのメソッドで Result<T, FloopError>。
# Cargo.toml
floopfloop = "0.1.0-alpha.4"
use floopfloop::{Client, CreateProjectInput};
let client = Client::new(std::env::var("FLOOP_API_KEY")?)?;
let res = client.projects().create(CreateProjectInput {
prompt: "a cat cafe landing page".into(),
..Default::default()
}).await?;
let live = client.projects().wait_for_live(&res.project.id, None).await?;
println!("{}", live.url.unwrap_or_default());リンク: crates.io · docs.rs · GitHub · クックブック
Ruby — floopfloop
Ruby 3.0 以上。Net::HTTP トランスポート、ハッシュベースのレスポンス (意見的な型付きラッパーなし)、ストリーミング用のブロック渡し。
gem install floopfloop
require "floopfloop"
client = FloopFloop::Client.new(api_key: ENV.fetch("FLOOP_API_KEY"))
res = client.projects.create(prompt: "a cat cafe landing page")
live = client.projects.wait_for_live(res["project"]["id"])
puts live["url"]リンク: RubyGems · GitHub · クックブック
PHP — floopfloop/sdk
PHP 8.1 以上。純粋な stdlib トランスポート(ext-curl 不要)、 名前付き引数フレンドリーなコンストラクタ、型付きコードを持つFloopFloop\Error 例外クラス。
composer require floopfloop/sdk
$client = new FloopFloop\Client(apiKey: getenv('FLOOP_API_KEY'));
$res = $client->projects()->create(prompt: 'a cat cafe landing page');
$live = $client->projects()->waitForLive($res['project']['id']);
echo $live['url'];リンク: Packagist · GitHub · クックブック
Swift — FloopFloop (SPM)
Swift 5.9 以上。全体を通じた async/await、Codable 型、ストリーミング用 AsyncThrowingStream。 iOS 17+ / macOS 14+ / tvOS 17+ / watchOS 10+ / visionOS 1+ 対応。 サーバーサイド・デスクトップは現在対応済み。モバイルアプリ配布は バックエンドで異なる認証フローが必要です(ロードマップ)。
// Package.swift
.package(url: "https://github.com/FloopFloopAI/floop-swift-sdk.git", from: "0.1.0-alpha.2")
import FloopFloop
let client = FloopFloop(apiKey: ProcessInfo.processInfo.environment["FLOOP_API_KEY"]!)
let res = try await client.projects.create(.init(prompt: "a cat cafe landing page"))
let live = try await client.projects.waitForLive(res.project.id)
print(live.url ?? "")
Kotlin / JVM — floop-kotlin-sdk
Kotlin 2.0 以上 / JVM 11 以上。OkHttp + kotlinx-serialization + kotlinx-coroutines。全体を通じた suspend 関数、 コールド Flow<StatusEvent> によるストリーミング。 JitPack 配布(Maven Central は予定)。
// build.gradle.kts
repositories {
maven("https://jitpack.io")
}
dependencies {
implementation("com.github.FloopFloopAI:floop-kotlin-sdk:0.1.0-alpha.3")
}
import com.floopfloop.sdk.FloopFloop
import com.floopfloop.sdk.resources.CreateProjectInput
val client = FloopFloop(apiKey = System.getenv("FLOOP_API_KEY"))
val res = client.projects.create(CreateProjectInput(prompt = "a cat cafe landing page"))
val live = client.projects.waitForLive(res.project.id)
println(live.url)API キー
すべての SDK は認証にプログラマティックな flp_… API キーを使用します。 これはインタラクティブなログインに使用する CLI のデバイストークンとは異なります。 API キーの発行には Business プランが必要です。アカウント → API キー からキーを 発行し、シークレットマネージャーや環境変数に保存して、SDK コンストラクタに渡してください。
キーモデル(スコープ、レート制限、ローテーションパターン)の詳細は API 認証をご覧ください。
ソース & リリース
8 つの SDK リポジトリすべてと MCP、スキルは github.com/FloopFloopAI に MIT ライセンスでオープンソース公開されています。 各リリースはタグプッシュ時に言語固有の標準レジストリ(npm、PyPI、crates.io、 RubyGems、Packagist、Go modules、JitPack、SPM タグ)に公開されます。 各 SDK の CHANGELOG は各リポジトリに、クロス SDK のリリース調整は モノレポで管理されています。