MCP
API yang sama, ditujukan kepada asisten alih-alih kepada skenario. Klien MCP memilih apa yang dipanggil saat berjalan, dari deskripsi alat — jadi jangkauannya persis sama dengan jangkauan kredensial di belakangnya, dan di bawah setiap alat ada satu panggilan API publik.
Satu endpoint saja
Semua menuju POST /v1/mcp. Tidak ada sesi untuk dibuka dan tidak ada aliran untuk dipegang: GET dan DELETE menjawab 405, dan tiap pesan adalah permintaannya sendiri.
POST https://api.mosaqo.app/v1/mcp
Authorization: Bearer $MOSAQO_KEY
MCP-Protocol-Version: 2026-07-28Revisi protokol 2025-03-26 sampai 2026-07-28 semuanya dilayani. Klien yang membuka dengan initialize mendapat jabat tangan yang ia harapkan; yang menyebut versinya pada setiap permintaan dilayani dengan cara itu.
Menghubungkan dengan kunci API
Jalur tercepat, dan yang tepat untuk alat yang Anda jalankan sendiri. Kunci apa pun bekerja sebagai token bearer, dan alat yang ditawarkan dipotong sesuai cakupan kunci itu.
Kebanyakan klien menerima blok seperti ini:
{
"mcpServers": {
"mosaqo": {
"type": "http",
"url": "https://api.mosaqo.app/v1/mcp",
"headers": { "Authorization": "Bearer $MOSAQO_KEY" }
}
}
}curl -X POST https://api.mosaqo.app/v1/mcp \
-H "Authorization: Bearer $MOSAQO_KEY" \
-H "Content-Type: application/json" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: tools/list" \
-d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'Menghubungkan lewat OAuth
Untuk konektor di direktori orang lain, di mana orang tidak pernah memegang kunci. Penemuan mengikuti RFC 9728 dan RFC 8414, klien mendaftarkan diri lewat RFC 7591, dan setiap otorisasi memakai PKCE dengan S256.
curl https://api.mosaqo.app/.well-known/oauth-protected-resource
curl https://api.mosaqo.app/.well-known/oauth-authorization-serverPanggilan tanpa otorisasi menyebut sendiri ke mana harus pergi dan apa yang diminta:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="Mosaqo MCP",
resource_metadata="https://api.mosaqo.app/.well-known/oauth-protected-resource",
scope="qr:read analytics:read reviews:read exports:read"Yang menyetujui sudah masuk ke Mosaqo, memilih ruang kerja yang berlaku, dan hanya bisa melakukannya di tempat ia pemilik atau admin — batas yang sama yang menentukan siapa boleh menerbitkan kunci API. Setelahnya bisa diputus di Bulk & API.
Apa yang bisa dilakukan asisten
Cakupan yang sudah Anda kenal, tanpa perubahan. Alat yang tidak diizinkan kredensial tidak muncul di tools/list dan tidak bisa dipanggil meski disebut namanya — jadi jawaban hidup untuk setiap koneksi adalah tools/list itu sendiri.
| Scope | Memberi hak |
|---|---|
qr:read | Menampilkan dan membaca kode QR, folder, dan templat |
qr:write | Membuat, mengubah, mengalihkan, menerbitkan, mengarsipkan, dan menghapus |
exports:read | Mengunduh kartu yang sudah dirender |
analytics:read | Analitik agregat dan pemindaian individual |
bulk:write | Membuat dan membaca pekerjaan massal |
webhooks:write | Mengelola langganan webhook |
reviews:read | Tempat, survei, dan bagaimana hasilnya — tidak pernah jawabannya sendiri |
Apa yang tidak akan pernah dijangkaunya
Apa yang orang tulis dalam survei. reviews:read membuka tempat Anda, survei Anda, dan hasilnya: jumlah, skor, sebaran jawaban tiap pertanyaan. Kalimat yang diketik pengunjung tidak dikembalikan di sini, sebagaimana tidak di mana pun kredensial menjangkau — dengan alasan yang sama mengapa peristiwa feedback.* membawa skor dan tidak pernah kata-katanya.
Menghapus kode. Rute REST meminta konfirmasi yang diketik karena menghancurkan pengalihan di balik kode tercetak tidak bisa dibatalkan, dan itu bukan konfirmasi yang diberikan asisten atas nama seseorang. Sebagai gantinya ada pengarsipan, dan itu bisa dibatalkan.
Menulis ditandai sebagai menulis. Alat yang mengubah sesuatu membawa readOnlyHint: false, dan pengarsipan membawa destructiveHint: true — itulah yang membuat klien berhenti dan bertanya kepada seseorang sebelum berjalan.