Issuebage MCP Server
resmiplatform penerbitan lencana digital
Apa yang bisa Anda lakukan dengan Issuebage MCP?
- Validasi kunci API — Minta asisten untuk memeriksa apakah kunci API IssueBadge Anda valid menggunakan
validate_key. - Daftar templat lencana — Minta asisten untuk mengambil semua templat lencana yang tersedia dengan
get_all_badges. - Terbitkan sertifikat — Minta asisten untuk mengirim sertifikat kepada penerima berdasarkan nama dan email melalui
issue_badge. - Buat lencana baru (khusus lokal) — Instruksikan asisten untuk mendefinisikan templat lencana baru dengan
create_badgesaat dijalankan secara lokal.
Dokumentasi
Server MCP IssueBadge
Terbitkan sertifikat dan lencana yang dapat diverifikasi dari agen AI mana pun. Server Model Context Protocol ini memungkinkan Cursor, Claude, VS Code, dan klien MCP lainnya untuk mencantumkan template lencana IssueBadge Anda dan mengirim sertifikat kepada penerima berdasarkan nama dan email.
Dua cara untuk menjalankannya:
| Jarak Jauh (disarankan) | Lokal (stdio) | |
|---|---|---|
| Endpoint | https://issuebadge-mcp.issuebadge.workers.dev/mcp | npx issuebadge-mcp-server |
| Autentikasi | header Authorization: Bearer <API key> | variabel env ISSUEBADGE_API_KEY |
| Alat | validate_key, get_all_badges, issue_badge | sama + create_badge |
| Penyimpanan | tidak ada, tanpa status | tidak ada |
Anda memerlukan kunci API IssueBadge: app.issuebadge.com → Developer → API key (https://app.issuebadge.com/developer/index).
Instalasi
Cursor
Instal IssueBadge dari Cursor Marketplace dan tempel kunci API Anda saat diminta. Atau tambahkan secara manual di Settings → MCP:
{
"mcpServers": {
"issuebadge": {
"type": "streamable-http",
"url": "https://issuebadge-mcp.issuebadge.workers.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_ISSUEBADGE_API_KEY" }
}
}
}
Claude Code
claude mcp add --transport http issuebadge https://issuebadge-mcp.issuebadge.workers.dev/mcp \
--header "Authorization: Bearer YOUR_ISSUEBADGE_API_KEY"
Repositori ini juga merupakan plugin Claude Code (.claude-plugin/plugin.json) dan menyertakan skill issuebadge yang mengajarkan agen alur kerja daftar → konfirmasi → terbitkan. File .mcp.json plugin membaca kunci dari variabel lingkungan ISSUEBADGE_API_KEY, jadi ekspor kunci tersebut sebelum memulai Claude Code.
Claude Desktop / klien stdio lainnya
{
"mcpServers": {
"issuebadge": {
"command": "npx",
"args": ["-y", "issuebadge-mcp-server"],
"env": { "ISSUEBADGE_API_KEY": "YOUR_ISSUEBADGE_API_KEY" }
}
}
}
VS Code (mode agen Copilot)
.vscode/mcp.json:
{
"servers": {
"issuebadge": {
"type": "http",
"url": "https://issuebadge-mcp.issuebadge.workers.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_ISSUEBADGE_API_KEY" }
}
}
}
Alat
| Alat | Input | Mengembalikan |
|---|---|---|
validate_key | – | { valid, message } |
get_all_badges | limit? | { badges: [{ id, name, description?, created_at? }] } |
issue_badge | badge_id, name, email?, phone?, idempotency_key?, metadata? | { issue_id, certificate_url, idempotency_key } |
create_badge (khusus stdio) | name, description, issuing_organization_name, idempotency_key, opsional badge_logo_path, custom_fields, … | Respons API IssueBadge |
issue_badge mengirimkan sertifikat melalui email kepada penerima dan mengembalikan URL verifikasi publik. Setiap panggilan dengan idempotency_key baru menerbitkan sertifikat baru (satu dibuat sebagai mcp-<uuid> jika Anda menghilangkannya). API menolak kunci yang digunakan ulang, jadi setelah panggilan gagal, periksa apakah sertifikat telah diterbitkan sebelum memanggil lagi dengan kunci baru.
Contoh prompt setelah terinstal: "Terbitkan sertifikat Penyelesaian Kursus kepada Jane Doe, jane@example.com."
ChatGPT dan OAuth
Server jarak jauh juga mendukung OAuth 2.1 untuk host yang tidak dapat mengirim kunci API (aplikasi ChatGPT, konektor Claude): permintaan tanpa bearer mendapatkan 401 + WWW-Authenticate: Bearer resource_metadata=…, /.well-known/oauth-protected-resource menunjuk ke https://app.issuebadge.com (PKCE S256, pendaftaran klien dinamis), dan token akses yang diterbitkan diteruskan persis seperti kunci API. issue_badge membawa widget (ui://widget/certificate.html, MCP Apps / ChatGPT Apps SDK) yang merender kartu sertifikat. Lihat CHATGPT.md.
Privasi dan keamanan
- Server jarak jauh tanpa status. Kunci API Anda dibaca dari header
Authorizationsetiap permintaan, diteruskan keapp.issuebadge.com, dan tidak pernah disimpan atau dicatat. Permintaan tanpa kunci mendapatkan401. - Satu-satunya host yang dihubungi adalah
app.issuebadge.com. Nama penerima, email, dan id lencana dikirim ke sana untuk membuat sertifikat. - Kebijakan privasi: https://issuebadge.com/h/policy · Ketentuan: https://issuebadge.com/h/terms · Dukungan: https://issuebadge.com/h/contact
Hosting mandiri server jarak jauh
git clone https://github.com/issuebadge/mcp-server && cd mcp-server
npm install
npm test
npx wrangler deploy --config worker/wrangler.toml # needs a Cloudflare account
GET /health mengembalikan { ok: true }. Arahkan ISSUEBADGE_BASE_URL ke host API yang berbeda untuk server stdio jika Anda menjalankan IssueBadge di tempat lain.
Pengembangan
npm install
npm test # vitest: client, tools, worker (mocked IssueBadge API)
npm run build # tsc → dist/ (stdio bin)
npm run dev:worker
Tata letak: src/issuebadge.ts (klien API), src/tools.ts (registri alat yang dibagikan oleh kedua host), src/stdio.ts (bin npm), src/createBadge.ts (alat khusus stdio), worker/index.ts (Cloudflare Worker), .cursor-plugin/ + mcp.json (plugin Cursor), .claude-plugin/ + .mcp.json (plugin Claude Code), skills/issuebadge/SKILL.md, server.json (MCP Registry).
Lisensi
MIT