mcpField
I
Issuebage

Issuebage

github.com/issuebadgeその他01 週間前に更新

Issuebage について

IssueBadge MCPサーバーは、AIエージェントからバッジテンプレートの確認、証明書の発行、動的QRコードの管理を可能にします。リモートHTTPとローカルstdioに対応し、APIキー認証のほか、対応ホストではOAuthを利用できます。

主な機能

  1. 01バッジテンプレートの一覧表示
  2. 02受取人への証明書発行
  3. 03stdio経由でのバッジ作成
  4. 04QRコードの一覧と詳細確認
  5. 05QRコードのスキャン情報確認
  6. 06QRコードの削除

活用シーン

  1. 01受講者に修了証を送る
  2. 02利用可能なバッジテンプレートを確認
  3. 03QRコードのスキャン履歴を確認
  4. 04ローカルstdio環境でバッジを作成

MCP 対応

このサーバーはIssueBadgeのバッジ発行とQRコード操作をツールとしてMCPクライアントに公開します。リモートエンドポイントとローカルstdioに対応し、対応ホストではOAuth認証も利用できます。

詳細

IssueBadge MCP サーバー

あらゆる AI エージェントから、検証可能な証明書やバッジを発行できます。この Model Context Protocol サーバーを使うと、Cursor、Claude、VS Code、その他の MCP クライアントから IssueBadge のバッジテンプレートを一覧表示し、受取人の名前とメールアドレスを指定して証明書を送信できます。

実行方法は 2 通りあります。

リモート(推奨)ローカル(stdio)
エンドポイントhttps://issuebadge-mcp.issuebadge.workers.dev/mcpnpx issuebadge-mcp-server
認証Authorization: Bearer <API key> ヘッダーISSUEBADGE_API_KEY 環境変数
ツールvalidate_key、get_all_badges、issue_badge、list_qr_codes、get_qr_code、get_qr_code_scans、delete_qr_code同じツール + create_badge
ストレージなし、ステートレスなし

IssueBadge API キーが必要です。app.issuebadge.com → Developer → API key(https://app.issuebadge.com/developer/index)

インストール

Cursor

Cursor Marketplace から IssueBadge をインストールし、プロンプトが表示されたら API キーを貼り付けます。または、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"

このリポジトリは Claude Code プラグイン(.claude-plugin/plugin.json)でもあり、エージェントに「一覧表示 → 確認 → 発行」のワークフローを教える issuebadge スキルが含まれています。プラグインの .mcp.json は ISSUEBADGE_API_KEY 環境変数からキーを読み込むため、Claude Code を起動する前にエクスポートしてください。

Claude Desktop / 任意の stdio クライアント
{
  "mcpServers": {
    "issuebadge": {
      "command": "npx",
      "args": ["-y", "issuebadge-mcp-server"],
      "env": { "ISSUEBADGE_API_KEY": "YOUR_ISSUEBADGE_API_KEY" }
    }
  }
}
VS Code(Copilot エージェントモード)

.vscode/mcp.json:

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

ツール

ツール入力戻り値
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(stdio のみ)name、description、issuing_organization_name、idempotency_key、省略可能な badge_logo_path、custom_fields、…IssueBadge API のレスポンス

issue_badge は受取人に証明書をメールで送信し、公開検証 URL を返します。新しい idempotency_key を使う呼び出しごとに、新しい証明書が発行されます(省略した場合は mcp-<uuid> が生成されます)。API は再利用されたキーを拒否するため、呼び出しが失敗した後に新しいキーで再試行する前に、証明書が発行済みかどうか確認してください。

インストール後のプロンプト例:「Jane Doe([email protected])に Course Completion 証明書を発行してください。」

動的 QR コード
ツール入力戻り値
list_qr_codestype?、limit?{ qr_codes: [...], total }
get_qr_codecodeQR コード + PNG 画像ブロック
get_qr_code_scanscode、limit?{ code, scan_count, scans: [{ scanned_at, referer }], total }
delete_qr_codecode{ deleted: true, code }

タイプ:url、vcard、paypal、wifi、email、phone、sms、maps、event、facebook、twitter、youtube、text、mecard。コードは IssueBadge ダッシュボードで作成および転送先を変更できます。画像には IssueBadge のリダイレクト先(scan_url)がエンコードされているため、転送先を変更しても印刷済みのコードは引き続き機能します。

プロンプト例:「Menu という名前の QR コードを作成して、https://example.com/menu を開くようにし、表示してください。」

ChatGPT と OAuth

リモートサーバーは、API キーを送信できないホスト(ChatGPT アプリ、Claude コネクター)向けに OAuth 2.1 にも対応しています。ベアラーなしのリクエストには 401 と WWW-Authenticate: Bearer resource_metadata=… が返され、/.well-known/oauth-protected-resource は https://app.issuebadge.com を指します(PKCE S256、動的クライアント登録)。発行されたアクセストークンは API キーとまったく同様に転送されます。issue_badge には証明書カードを表示するウィジェット(ui://widget/certificate.html、MCP Apps / ChatGPT Apps SDK)が含まれています。CHATGPT.md を参照してください。

プライバシーとセキュリティ

  • リモートサーバーはステートレスです。各リクエストの Authorization ヘッダーから API キーを読み取り、app.issuebadge.com に転送します。保存やログへの記録は一切行いません。キーのないリクエストには 401 を返します。
  • 接続するホストは app.issuebadge.com のみです。証明書の作成のため、受取人の名前、メールアドレス、バッジ ID を送信します。
  • プライバシーポリシー:https://issuebadge.com/h/policy · 利用規約:https://issuebadge.com/h/terms · サポート:https://issuebadge.com/h/contact

リモートサーバーをセルフホストする

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 } を返します。IssueBadge を別の場所で実行する場合は、stdio サーバーの ISSUEBADGE_BASE_URL に別の API ホストを指定します。

開発

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

構成:src/issuebadge.ts(API クライアント)、src/tools.ts(両ホストで共有されるツールレジストリ)、src/stdio.ts(npm bin)、src/createBadge.ts(stdio 専用ツール)、worker/index.ts(Cloudflare Worker)、.cursor-plugin/ + mcp.json(Cursor プラグイン)、.claude-plugin/ + .mcp.json(Claude Code プラグイン)、skills/issuebadge/SKILL.md、server.json(MCP Registry)。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。