Dribba について
Dribba は公開サービス、事例、見積もり、サイト情報にアクセスするための API、SDK、CLI、MCP サーバーを提供します。API キーやアカウントは不要で、HTTP 接続に対応しない MCP クライアント向けの stdio ブリッジも含みます。
主な機能
- 01サービスと事例の検索
- 02プロジェクト予算の見積もり
- 03自然言語での質問
- 04ページの Markdown 取得と一括エクスポート
- 05JavaScript、TypeScript、Python SDK
- 06サンドボックスデータと CLI
活用シーン
- 01モバイルアプリのサービスや事例の比較
- 02iOS・Android プロジェクトの予算見積もり
- 03コマンドラインからのサイト情報検索
- 04stdio のみ対応するクライアントからの MCP 接続
MCP 対応
Dribba は製品操作用とドキュメント用の、認証不要なリモート MCP サーバーを提供します。パッケージにはリクエストを転送し、リモート側のツールとリソースを公開する stdio ブリッジも含まれます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://dribba.com/mcpclaude mcp add --transport http com-dribba-dribba https://dribba.com/mcp{"mcpServers":{"com-dribba-dribba":{"type":"http","url":"https://dribba.com/mcp"}}}Cursor で開く{"servers":{"com-dribba-dribba":{"type":"http","url":"https://dribba.com/mcp"}}}VS Code で開く{"mcpServers":{"com-dribba-dribba":{"type":"http","url":"https://dribba.com/mcp"}}}{"mcpServers":{"com-dribba-dribba":{"serverUrl":"https://dribba.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
5| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返すサービスの最大数。省略するとすべて返します。 |
詳細
dribba
Dribba 公開 API 用の公式 SDK と CLI です。
API キーも OAuth もアカウントも不要です。 すべての読み取りエンドポイントは公開されています。認証情報のページをお探しの場合、そのようなページはありません。dribba.com/auth.md をご覧ください。
- リファレンス:https://dribba.com/docs
- コントラクト:https://dribba.com/openapi.json(OpenAPI 3.1)
- 開発者ポータル:https://dribba.com/developers
CLI
インストールは不要です。
npx dribba services --table
npx dribba cases --limit 3 | jq -r '.items[].slug'
npx dribba estimate --platforms ios,android --complexity complex
npx dribba ask "flutter migration"
npx dribba markdown /servicios
npx dribba --help
--sandbox を追加すると、本番環境の代わりに固定されたフィクスチャにアクセスします。
MCP サーバー(stdio ブリッジ)
Dribba の MCP サーバーはリモートで、https://dribba.com/mcp の Streamable HTTP を使用します。stdio のみを話すクライアント向けに、このパッケージにはブリッジが含まれています。
{
"mcpServers": {
"dribba": { "command": "npx", "args": ["-y", "dribba-mcp"] }
}
}
npx dribba-mcp # product surface: 5 tools + llms.txt resources
npx dribba-mcp --docs # documentation surface: 4 tools
JSON-RPC だけを転送するため、ツール、リソース、プロトコルバージョンはサーバーが宣言したものがそのまま使われ、別実装との乖離は起こりません。クライアントが Streamable HTTP に対応している場合は、ブリッジを使わず、URL に直接接続してください。
stdio 経由で公式の @modelcontextprotocol/sdk を使い、接続、tools/list、tools/call、resources/list、resources/read を検証済みです。
SDK
npm i dribba # JavaScript / TypeScript
pip install dribba # Python 3.9+, same methods, also dependency-free
Python クライアントは python/ にあり、PyPI では dribba として公開されています。
import { Dribba } from "dribba";
const dribba = new Dribba();
const { items, total, next_cursor } = await dribba.services({ limit: 5 });
const study = await dribba.case("cityxerpa");
const budget = await dribba.estimate({ platforms: ["ios", "android"] });
// Whole collections, following the cursor for you
for await (const job of dribba.paginate("/api/v1/jobs")) {
console.log(job.title);
}
エラー
すべての 4xx/5xx で DribbaError がスローされます。code に基づいて分岐してください。これは安定しています。title と detail は文章であり、表現が変わる場合があります。
import { DribbaError } from "dribba";
try {
await dribba.service("nope");
} catch (error) {
if (error instanceof DribbaError && error.code === "resource_not_found") {
console.log(error.resolution); // what to do next, from the server
}
}
レート制限
IP あたり 60 秒間に 120 リクエストです。呼び出し後は dribba.rateLimit に直近のレスポンスで通知された値が保持されるため、429 を引き起こすことなく、自分でリクエストを制限できます。
await dribba.company();
console.log(dribba.rateLimit); // { limit: 120, remaining: 118, reset: 47 }
サンドボックス
本番環境と同じ形式の固定フィクスチャです。「サービスは 9 つある」とアサートするテストは、10 個目を公開した日に失敗しますが、サンドボックスではそのようなことは起きません。
const sandbox = new Dribba({ sandbox: true });
const services = await sandbox.services(); // services.sandbox === true
冪等性
任意の POST に Idempotency-Key を指定できます。同じキーと同じ本文の場合は保存済みのレスポンスが再生され、同じキーで本文が異なる場合は 400 が返されます。
await dribba.estimate(input, { idempotencyKey: crypto.randomUUID() });
Markdown と非同期エクスポート
任意のページを Markdown として取得でき、多数のページを 1 回のリクエストでエクスポートできます。
const page = await dribba.markdown("/servicios");
const job = await dribba.startExport(["/", "/precios", "/servicios"]);
await dribba.waitForExport(job.id);
const everything = await dribba.exportResult(job.id);
エクスポートジョブは単一サーバーインスタンスのメモリ上に保存され、15 分後に期限切れになります。ポーリング中に 404 が返された場合、作業が失われたのではなく、リクエストが別のインスタンスに届いたことを意味します。
REST API 以外の機能
- MCP — Streamable HTTP を使う 2 つのリモートサーバーで、認証は不要です。
https://dribba.com/mcp(アクション)とhttps://dribba.com/docs/mcp(ドキュメント)です。 https://dribba.com/developers/mcp をご覧ください。 - 任意のページの Markdown —
Accept: text/markdownを指定するか、.mdを追加します。 - OKF バンドルとしてのサイト全体。
/ask— NLWeb:自然言語の質問に対して、該当箇所をそのまま返します。
スキルと Agent Plugins マニフェスト
このリポジトリは、ポータブルな Agent Plugin としても機能します。
plugin.json the manifest
mcp.json the two remote MCP servers
skills/ seven SKILL.md files describing what dribba.com exposes
スキルをエージェントにインストールします。
npx skills add dribbaengineering/dribba
skills/ は、サイトで提供されている https://dribba.com/.well-known/agent-skills/ の内容から生成されています。コピーではなくサイトを編集してください。コピーは内容が古くなるためです。
要件
Node 20 以上。依存関係はありません。
ライセンス
MIT。API の基盤となるデータは CC BY 4.0 です。「Dribba」と記載し、ソース URL にリンクしてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。