Issuebage MCP Server

公式

デジタルバッジ発行プラットフォーム

Issuebage MCPで何ができますか?

  • APIキーの検証 — アシスタントに、validate_key を使用してIssueBadge APIキーが有効かどうかを確認してもらいます。
  • バッジテンプレートの一覧表示 — アシスタントに、get_all_badges を使用して利用可能なすべてのバッジテンプレートを取得してもらいます。
  • 証明書の発行 — アシスタントに、issue_badge を使用して受信者の名前とメールアドレスで証明書を送信するよう依頼します。
  • 新しいバッジの作成(ローカルのみ) — ローカルで実行する場合、アシスタントに create_badge を使用して新しいバッジテンプレートを定義するよう指示します。

ドキュメント

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同じ + create_badge
ストレージなし、ステートレスなし

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

インストール

Cursor

Cursor MarketplaceからIssueBadgeをインストールし、プロンプトが表示されたらAPIキーを貼り付けます。または、設定 → 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(jane@example.com)にコース修了証明書を発行してください。」

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を参照してください。

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

  • リモートサーバーはステートレスです。APIキーは各リクエストのAuthorizationヘッダーから読み取られ、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レジストリ)。

ライセンス

MIT