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/mcp | npx 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_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(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