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 배지 템플릿을 나열하고 이름과 이메일로 수신자에게 인증서를 보낼 수 있게 합니다.

실행 방법은 두 가지입니다:

원격 (권장)로컬 (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 마켓플레이스에서 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 앱 / ChatGPT 앱 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