Issuebage MCP Server
resmidijital rozet verme platformu
Issuebage MCP ile neler yapabilirsiniz?
- API anahtarını doğrula — Asistanın,
validate_keykullanarak IssueBadge API anahtarınızın geçerli olup olmadığını kontrol etmesini isteyin. - Rozet şablonlarını listele — Asistanın,
get_all_badgesile mevcut tüm rozet şablonlarınızı getirmesini sağlayın. - Sertifika düzenle — Asistanın,
issue_badgearacı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_badgeile 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ç nokta | https://issuebadge-mcp.issuebadge.workers.dev/mcp | npx issuebadge-mcp-server |
| Kimlik doğrulama | Authorization: Bearer <API key> başlığı | ISSUEBADGE_API_KEY ortam değişkeni |
| Araçlar | validate_key, get_all_badges, issue_badge | aynı + create_badge |
| Depolama | yok, durumsuz | yok |
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ç | Girdi | Döndürür |
|---|---|---|
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 (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
Authorizationbaşlığından okunur,app.issuebadge.comadresine iletilir ve asla saklanmaz veya günlüğe kaydedilmez. Anahtarı olmayan istekler401alır. - İletişim kurulan tek ana bilgisayar
app.issuebadge.comadresidir. 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