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/mcp | npx 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_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, … | Ответ 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