Issuebage MCP Server

официальный

платформа для выдачи цифровых значков

Что можно делать с Issuebage MCP?

  • Проверка API-ключа — Попросите ассистента проверить, действителен ли ваш API-ключ IssueBadge, с помощью validate_key.
  • Список шаблонов бейджей — Попросите ассистента получить все доступные шаблоны бейджей с помощью get_all_badges.
  • Выдача сертификата — Запросите у ассистента отправку сертификата получателю по имени и электронной почте через issue_badge.
  • Создание новых бейджей (только локально) — Укажите ассистенту определить новый шаблон бейджа с помощью create_badge при локальном запуске.

Документация

MCP-сервер IssueBadge

Выпускайте проверяемые сертификаты и бейджи из любого ИИ-агента. Этот сервер Model Context Protocol позволяет клиентам MCP, таким как Cursor, Claude, VS Code и другим, просматривать ваши шаблоны бейджей 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
Хранилищенет, без сохранения состояниянет

Вам понадобится ключ API IssueBadge: app.issuebadge.com → Developer → API key (https://app.issuebadge.com/developer/index).

Установка

Cursor

Установите IssueBadge из Cursor Marketplace и вставьте ваш ключ 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, …Ответ API IssueBadge

issue_badge отправляет сертификат получателю по электронной почте и возвращает публичный URL для проверки. Каждый вызов с новым idempotency_key выпускает новый сертификат (один генерируется как mcp-<uuid>, если вы его опускаете). API отклоняет повторно использованный ключ, поэтому после неудачного вызова проверьте, был ли сертификат выпущен, прежде чем вызывать снова с новым ключом.

Пример запроса после установки: "Выпусти сертификат о завершении курса для Джейн Доу, jane@example.com."

ChatGPT и OAuth

Удалённый сервер также поддерживает OAuth 2.1 для хостов, которые не могут отправлять ключ API (приложения ChatGPT, коннекторы Claude): запрос без bearer-токена получает 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. Имя получателя, адрес электронной почты и идентификатор бейджа отправляются туда для создания сертификата.
  • Политика конфиденциальности: 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_BASE_URL на другой хост API для stdio-сервера, если вы запускаете IssueBadge в другом месте.

Разработка

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