Issuebage MCP Server
ทางการแพลตฟอร์มออกใบประกาศดิจิทัล
คุณทำอะไรได้บ้างด้วย Issuebage MCP?
- ตรวจสอบคีย์ API — ขอให้ผู้ช่วยตรวจสอบว่าคีย์ IssueBadge API ของคุณถูกต้องหรือไม่ โดยใช้
validate_key - รายการเทมเพลตป้าย — ให้ผู้ช่วยดึงเทมเพลตป้ายทั้งหมดที่มีอยู่ของคุณด้วย
get_all_badges - ออกใบรับรอง — ขอให้ผู้ช่วยส่งใบรับรองไปยังผู้รับตามชื่อและอีเมลผ่าน
issue_badge - สร้างป้ายใหม่ (เฉพาะในเครื่อง) — สั่งให้ผู้ช่วยกำหนดเทมเพลตป้ายใหม่ด้วย
create_badgeเมื่อรันในเครื่อง
เอกสาร
เซิร์ฟเวอร์ MCP ของ IssueBadge
ออกใบรับรองและป้ายที่ตรวจสอบได้จากเอเจนต์ AI ใดก็ได้ เซิร์ฟเวอร์ Model Context Protocol นี้ช่วยให้ Cursor, Claude, VS Code และไคลเอนต์ MCP อื่นๆ แสดงรายการเทมเพลตป้าย 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 → นักพัฒนา → คีย์ API (https://app.issuebadge.com/developer/index)
การติดตั้ง
Cursor
ติดตั้ง IssueBadge จาก Cursor Marketplace และวางคีย์ 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, … | การตอบสนอง API ของ IssueBadge |
issue_badge ส่งอีเมลใบรับรองไปยังผู้รับและส่งคืน URL การตรวจสอบสาธารณะ ทุกการเรียกด้วย idempotency_key ใหม่จะออกใบรับรองใหม่ (สร้างขึ้นเป็น mcp-<uuid> หากคุณละเว้น) API ปฏิเสธคีย์ที่ใช้ซ้ำ ดังนั้นหลังจากการเรียกที่ล้มเหลว ให้ตรวจสอบว่าใบรับรองถูกออกก่อนที่จะเรียกอีกครั้งด้วยคีย์ใหม่
ตัวอย่างพรอมต์เมื่อติดตั้งแล้ว: "ออกใบรับรองการสำเร็จหลักสูตรให้ Jane Doe, 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