Connect Zapi to any AI client.
Satu endpoint MCP, semua client utama. Copy config buat client kamu, tempel API key yang udah kamu punya, dan agent kamu langsung bisa discover + jalanin scraper Zapi.
What is MCP
MCP (Model Context Protocol) ngebiarin AI client kamu — Claude, Cursor, VS Code Copilot, Gemini, Windsurf, dan lainnya — nyambung langsung ke katalog scraper Zapi. Pakai satu endpoint dan API key yang udah kamu punya, agent kamu bisa cari endpoint, baca schema, dan jalanin scraper tanpa kamu nulis kode HTTP manual.
Halaman ini kasih config copy-paste buat tiap client dengan config key yang benar — karena tiap client beda (url vs httpUrl vs serverUrl), dan key yang salah = nggak konek tanpa error jelas.
Endpoint & auth
Endpoint MCP Zapi pakai transport Streamable HTTP. Authentikasi lewat header — server nerima Authorization: Bearer zpi_xxx maupun x-api-key: zpi_xxx. Dua-duanya valid; pakai yang didukung client kamu.
API key kamu itu rahasia. Simpan di config / secret store client, jangan commit ke repo. Disarankan bikin key khusus MCP yang bisa di-revoke kapan pun — jadi kalau bocor, tinggal cabut tanpa ganggu integrasi lain.
# Endpoint MCP (Streamable HTTP)
https://mcp.zpi.web.id/mcp
# Auth via header — salah satu dari dua ini:
Authorization: Bearer zpi_xxx
x-api-key: zpi_xxxGet your API key
Belum punya key? Daftar / login dulu, terus generate satu di dashboard:
- Daftar / login di /login — gratis, tanpa kartu kredit.
- Buka Dashboard → API Keys, bikin key baru, dan salin sekali (full key nggak bisa di-recover).
- Tempel key itu ke config client kamu di bawah, ganti
zpi_xxxdengan key asli.
Per-client setup
Cari client kamu, copy config-nya, ganti zpi_xxx dengan API key kamu. Endpoint udah ke-bake di tiap snippet.
Client kamu nggak ada di list? Pakai config key yang benar:
| Config key | Clients |
|---|---|
| url | Cursor, Kiro, Cline, Zed (context_servers), JetBrains |
| httpUrl | Gemini CLI |
| serverUrl | Antigravity, Windsurf |
| servers + type: http | VS Code / Copilot |
Client di bawah kebagi dua: direct remote-HTTP (nerima header langsung) dan needs mcp-remote bridge (Claude Desktop / Claude.ai web — connector UI-nya OAuth-only, jadi nggak ada field header).
Claude Desktop / Claude.ai web
needs mcp-remote bridgeConnector UI Claude itu OAuth-only — nggak ada tempat masukin header. Jadi kamu pakai mcp-remote, sebuah stdio bridge yang nerusin request HTTP plus header auth-mu. Tempel ini ke config MCP Claude Desktop kamu:
{
"mcpServers": {
"zapi": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.zpi.web.id/mcp",
"--header",
"Authorization: Bearer zpi_xxx"
]
}
}
}Catatan: di array args di atas, --header dan value-nya ("Authorization: Bearer zpi_xxx") adalah dua elemen terpisah — itu format yang benar buat config stdio. Jangan digabung jadi satu string.
Claude Code (CLI)
claude mcp addkey: --transport httpclaude mcp add --transport http zapi https://mcp.zpi.web.id/mcp \
--header "Authorization: Bearer zpi_xxx"Cursor
.cursor/mcp.jsonkey: url{
"mcpServers": {
"zapi": {
"url": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Gemini CLI
~/.gemini/settings.jsonkey: httpUrl{
"mcpServers": {
"zapi": {
"httpUrl": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Google Antigravity
mcp_config.jsonkey: serverUrl{
"mcpServers": {
"zapi": {
"serverUrl": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Kiro
.kiro/settings/mcp.jsonkey: url{
"mcpServers": {
"zapi": {
"url": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}VS Code / GitHub Copilot
.vscode/mcp.jsonkey: servers + type: http{
"servers": {
"zapi": {
"type": "http",
"url": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.jsonkey: serverUrl{
"mcpServers": {
"zapi": {
"serverUrl": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Cline
MCP settings JSONkey: url{
"mcpServers": {
"zapi": {
"url": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Continue
config.yaml / .continue (verify: docs.continue.dev)key: mcpServers[] + type: streamable-http{
"mcpServers": [
{
"name": "zapi",
"type": "streamable-http",
"url": "https://mcp.zpi.web.id/mcp",
"requestOptions": {
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
]
}Zed
settings.jsonkey: context_servers{
"context_servers": {
"zapi": {
"url": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}JetBrains AI Assistant
mcp.jsonkey: url{
"mcpServers": {
"zapi": {
"url": "https://mcp.zpi.web.id/mcp",
"headers": {
"Authorization": "Bearer zpi_xxx"
}
}
}
}Tools available
Begitu connect, agent kamu dapat akses ke tool berikut:
| Tool | Fungsi |
|---|---|
| search_scrapers | Discover katalog scraper yang tersedia berdasarkan query. |
| get_scraper_schema | Ambil param schema untuk satu endpoint scraper. |
| run_scraper | Eksekusi sebuah scraper (billed sesuai plan kamu). |
| get_account | Lihat tier, quota, dan label key akun kamu. |
| get_usage | Statistik pemakaian (request, sukses, dll). |
| bulk_submit | Submit banyak URL sekaligus (Pro+), balik jobId buat di-poll. |
| bulk_status | Cek status + hasil per-item dari bulk job punya kamu. |
# Setelah connect, minta agent kamu jalanin tool ini:
search_scrapers query="instagram"Troubleshooting
- Konek tapi unauthorized — client kamu kemungkinan nggak punya field header (OAuth-only). Pakai
mcp-remotebridge di atas. - Client nggak lihat server-nya — biasanya config key salah buat client kamu. Cek tabel config key (url / httpUrl / serverUrl / servers).
- 403 plan_upgrade_required — endpoint butuh tier lebih tinggi. Lihat Pricing buat upgrade.
- 401 — key salah / dicabut. Cek atau rotasi key di /dashboard/keys.