Issuebage MCP Server

resmi

platform 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_badge saat 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)
Endpointhttps://issuebadge-mcp.issuebadge.workers.dev/mcpnpx issuebadge-mcp-server
Autentikasiheader Authorization: Bearer <API key>variabel env ISSUEBADGE_API_KEY
Alatvalidate_key, get_all_badges, issue_badgesama + create_badge
Penyimpanantidak ada, tanpa statustidak 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

AlatInputMengembalikan
validate_key–{ valid, message }
get_all_badgeslimit?{ badges: [{ id, name, description?, created_at? }] }
issue_badgebadge_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 Authorization setiap permintaan, diteruskan ke app.issuebadge.com, dan tidak pernah disimpan atau dicatat. Permintaan tanpa kunci mendapatkan 401.
  • 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