Issuebage MCP Server

resmi

dijital rozet verme platformu

Issuebage MCP ile neler yapabilirsiniz?

  • API anahtarını doğrula — Asistanın, validate_key kullanarak IssueBadge API anahtarınızın geçerli olup olmadığını kontrol etmesini isteyin.
  • Rozet şablonlarını listele — Asistanın, get_all_badges ile mevcut tüm rozet şablonlarınızı getirmesini sağlayın.
  • Sertifika düzenle — Asistanın, issue_badge aracılığıyla bir alıcıya ad ve e-posta ile sertifika göndermesini talep edin.
  • Yeni rozetler oluştur (yalnızca yerel) — Yerel olarak çalışırken asistanın, create_badge ile yeni bir rozet şablonu tanımlamasını yönlendirin.

Dokümantasyon

IssueBadge MCP sunucusu

Herhangi bir AI ajanından doğrulanabilir sertifikalar ve rozetler çıkarın. Bu Model Context Protocol sunucusu, Cursor, Claude, VS Code ve diğer MCP istemcilerinin IssueBadge rozet şablonlarınızı listelemesine ve bir sertifikayı ad ve e-posta ile bir alıcıya göndermesine olanak tanır.

Çalıştırmanın iki yolu:

Uzak (önerilen)Yerel (stdio)
Uç noktahttps://issuebadge-mcp.issuebadge.workers.dev/mcpnpx issuebadge-mcp-server
Kimlik doğrulamaAuthorization: Bearer <API key> başlığıISSUEBADGE_API_KEY ortam değişkeni
Araçlarvalidate_key, get_all_badges, issue_badgeaynı + create_badge
Depolamayok, durumsuzyok

Bir IssueBadge API anahtarına ihtiyacınız var: app.issuebadge.com → Geliştirici → API anahtarı (https://app.issuebadge.com/developer/index).

Kurulum

Cursor

IssueBadge'i Cursor Marketplace üzerinden kurun ve istendiğinde API anahtarınızı yapıştırın. Veya Ayarlar → MCP bölümünden elle ekleyin:

{
  "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"

Bu depo aynı zamanda bir Claude Code eklentisidir (.claude-plugin/plugin.json) ve ajana liste → onayla → çıkar iş akışını öğreten bir issuebadge becerisi içerir. Eklentinin .mcp.json anahtarı ISSUEBADGE_API_KEY ortam değişkeninden okur, bu nedenle Claude Code'u başlatmadan önce dışa aktarın.

Claude Desktop / herhangi bir stdio istemcisi

{
  "mcpServers": {
    "issuebadge": {
      "command": "npx",
      "args": ["-y", "issuebadge-mcp-server"],
      "env": { "ISSUEBADGE_API_KEY": "YOUR_ISSUEBADGE_API_KEY" }
    }
  }
}

VS Code (Copilot ajan modu)

.vscode/mcp.json:

{
  "servers": {
    "issuebadge": {
      "type": "http",
      "url": "https://issuebadge-mcp.issuebadge.workers.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_ISSUEBADGE_API_KEY" }
    }
  }
}

Araçlar

AraçGirdiDöndürür
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 (yalnızca stdio)name, description, issuing_organization_name, idempotency_key, isteğe bağlı badge_logo_path, custom_fields, …IssueBadge API yanıtı

issue_badge sertifikayı alıcıya e-postayla gönderir ve herkese açık bir doğrulama URL'si döndürür. Yeni bir idempotency_key ile yapılan her çağrı yeni bir sertifika çıkarır (atlanırsa mcp-<uuid> olarak bir tane oluşturulur). API yeniden kullanılan bir anahtarı reddeder, bu nedenle başarısız bir çağrıdan sonra yeni bir anahtarla tekrar aramadan önce sertifikanın çıkarılıp çıkarılmadığını kontrol edin.

Kurulduktan sonra örnek komut: "Jane Doe'ya, jane@example.com'a Kurs Tamamlama sertifikasını ver."

ChatGPT ve OAuth

Uzak sunucu ayrıca API anahtarı gönderemeyen ana bilgisayarlar (ChatGPT uygulamaları, Claude bağlayıcıları) için OAuth 2.1 konuşur: taşıyıcı olmayan bir istek 401 + WWW-Authenticate: Bearer resource_metadata=… alır, /.well-known/oauth-protected-resource https://app.issuebadge.com adresini işaret eder (PKCE S256, dinamik istemci kaydı) ve verilen erişim belirteci tam olarak bir API anahtarı gibi iletilir. issue_badge sertifika kartını oluşturan bir widget (ui://widget/certificate.html, MCP Uygulamaları / ChatGPT Uygulamaları SDK) taşır. CHATGPT.md bölümüne bakın.

Gizlilik ve güvenlik

  • Uzak sunucu durumsuzdur. API anahtarınız her isteğin Authorization başlığından okunur, app.issuebadge.com adresine iletilir ve asla saklanmaz veya günlüğe kaydedilmez. Anahtarı olmayan istekler 401 alır.
  • İletişim kurulan tek ana bilgisayar app.issuebadge.com adresidir. Alıcı adı, e-posta ve rozet kimliği sertifikayı oluşturmak için oraya gönderilir.
  • Gizlilik politikası: https://issuebadge.com/h/policy · Şartlar: https://issuebadge.com/h/terms · Destek: https://issuebadge.com/h/contact

Uzak sunucuyu kendi kendine barındırma

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 { ok: true } döndürür. IssueBadge'i başka bir yerde çalıştırıyorsanız stdio sunucusu için ISSUEBADGE_BASE_URL adresini farklı bir API ana bilgisayarına yönlendirin.

Geliştirme

npm install
npm test          # vitest: client, tools, worker (mocked IssueBadge API)
npm run build     # tsc → dist/ (stdio bin)
npm run dev:worker

Düzen: src/issuebadge.ts (API istemcisi), src/tools.ts (her iki ana bilgisayar tarafından paylaşılan araç kaydı), src/stdio.ts (npm bin), src/createBadge.ts (yalnızca stdio aracı), worker/index.ts (Cloudflare Worker), .cursor-plugin/ + mcp.json (Cursor eklentisi), .claude-plugin/ + .mcp.json (Claude Code eklentisi), skills/issuebadge/SKILL.md, server.json (MCP Kaydı).

Lisans

MIT