Issuebage MCP Server
ทางการแพลตฟอร์มออกใบประกาศดิจิทัล
เอกสาร
IssueBadge MCP Server
เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับการโต้ตอบกับ IssueBadge API เซิร์ฟเวอร์นี้ช่วยให้ผู้ช่วย AI อย่าง Claude และ ChatGPT สามารถจัดการตราสัญลักษณ์ดิจิทัลและใบรับรองโดยใช้ภาษาธรรมชาติ
🌟 คุณสมบัติ
- 🤖 การจัดการตราสัญลักษณ์ด้วย AI: ใช้ภาษาธรรมชาติเพื่อสร้าง ออก และจัดการตราสัญลักษณ์
- 🔐 การยืนยันตัวตนแบบคู่: รองรับทั้ง Laravel Sanctum และ OAuth2
- 🏆 วงจรชีวิตตราสัญลักษณ์ที่สมบูรณ์: สร้างเทมเพลต ออกให้ผู้รับ และตรวจสอบความถูกต้อง
- 📊 การสนับสนุนหลายผู้เช่า: การแยกข้อมูลผู้เช่าอย่างปลอดภัยสำหรับการใช้งานระดับองค์กร
- 🛡️ การป้องกันการทำซ้ำ: ป้องกันการดำเนินการซ้ำด้วยระบบป้องกันในตัว
- 📧 การแจ้งเตือนอัตโนมัติ: การส่งอีเมลอัตโนมัติพร้อม URL สำหรับการตรวจสอบ
- 🎨 ฟิลด์ที่กำหนดเอง: รองรับเมตาดาต้าและฟิลด์ที่กำหนดเองที่ยืดหยุ่น
🚀 เริ่มต้นอย่างรวดเร็ว
ข้อกำหนดเบื้องต้น
- Node.js 18+
- npm 8+
- บัญชี IssueBadge API พร้อมคีย์ API
การติดตั้ง
-
โคลนที่เก็บโค้ด
git clone https://github.com/issuebadge/mcp-server.git cd mcp-server -
ติดตั้งการพึ่งพา
npm install -
กำหนดค่าสภาพแวดล้อม
cp .env.example .env # Edit .env with your IssueBadge API credentials -
สร้างโปรเจกต์
npm run build -
ทดสอบเซิร์ฟเวอร์
npm test
⚙️ การกำหนดค่า
สร้างไฟล์ .env โดยอิงจาก .env.example:
# API Configuration
ISSUEBADGE_BASE_URL=https://app.issuebadge.com/api/v1
ISSUEBADGE_API_KEY=
# OAuth2 Configuration (Alternative)
ISSUEBADGE_OAUTH_URL=https://app.issuebadge.com/api/v1/oauth
ISSUEBADGE_OAUTH_TOKEN=your_oauth_token_here
# Authentication Method (sanctum or oauth2)
AUTH_METHOD=sanctum
# Server Configuration
MCP_SERVER_NAME=IssueBadge MCP Server
MCP_SERVER_VERSION=1.0.0
# Optional Settings
REQUEST_TIMEOUT=30000
DEBUG=false
MAX_RETRIES=3
RETRY_DELAY=1000
🔧 การผสานรวม
Claude Desktop
เพิ่มเซิร์ฟเวอร์นี้ในการกำหนดค่า Claude Desktop ของคุณ:
{
"mcpServers": {
"issuebadge": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": {
"ISSUEBADGE_BASE_URL": "https://app.issuebadge.com
/api/v1",
"ISSUEBADGE_API_KEY": "",
"AUTH_METHOD": "sanctum"
}
}
}
}
ChatGPT Actions
- สร้าง Custom GPT ใหม่ใน ChatGPT
- นำเข้าข้อกำหนด OpenAPI จากอินสแตนซ์ IssueBadge ของคุณ
- กำหนดค่าการยืนยันตัวตนด้วย Bearer token โดยใช้คีย์ API ของคุณ
- เริ่มจัดการตราสัญลักษณ์ผ่านการสนทนา!
🛠️ เครื่องมือที่พร้อมใช้งาน
1. validate_key
ตรวจสอบคีย์ IssueBadge API สำหรับการยืนยันตัวตน
พารามิเตอร์:
api_key(สตริง, จำเป็น): คีย์ API ที่ต้องการตรวจสอบ
ตัวอย่าง:
"Validate my API key: 1|abcdef123456789..."
2. get_all_badges
ดึงข้อมูลตราสัญลักษณ์ทั้งหมดที่มีสำหรับองค์กรที่ยืนยันตัวตนแล้ว
พารามิเตอร์:
limit(ตัวเลข, ไม่บังคับ): จำนวนตราสัญลักษณ์สูงสุดที่จะส่งคืน (ค่าเริ่มต้น: 100)
ตัวอย่าง:
"Show me all available badges"
"List the first 50 badges"
3. create_badge
สร้างเทมเพลตตราสัญลักษณ์ใหม่พร้อมฟิลด์ที่กำหนดเองเพิ่มเติมได้
พารามิเตอร์:
name(สตริง, จำเป็น): ชื่อตราสัญลักษณ์description(สตริง, จำเป็น): คำอธิบายตราสัญลักษณ์issuing_organization_name(สตริง, จำเป็น): ชื่อองค์กรidempotency_key(สตริง, จำเป็น): ตัวระบุที่ไม่ซ้ำกันcustom_fields(อาร์เรย์, ไม่บังคับ): คำจำกัดความของฟิลด์ที่กำหนดเอง- และพารามิเตอร์เพิ่มเติมอื่นๆ...
ตัวอย่าง:
"Create a badge called 'Web Development Certificate' for completing our full-stack course"
"Create a Python certification badge with custom fields for completion date and final score"
4. issue_badge
ออกตราสัญลักษณ์ให้กับผู้รับพร้อมเมตาดาต้าเพิ่มเติมได้
พารามิเตอร์:
badge_id(สตริง, จำเป็น): รหัสตราสัญลักษณ์จากการสร้างname(สตริง, จำเป็น): ชื่อเต็มของผู้รับidempotency_key(สตริง, จำเป็น): ตัวระบุที่ไม่ซ้ำกันemail(สตริง, ไม่บังคับ): อีเมลของผู้รับmetadata(ออบเจกต์, ไม่บังคับ): ค่าฟิลด์ที่กำหนดเอง
ตัวอย่าง:
"Issue the Web Development badge to John Doe with email [email protected]"
"Issue Python certification to Alice with completion date today and score 95%"
💬 ตัวอย่างภาษาธรรมชาติ
การสร้างตราสัญลักษณ์
Human: "Create a badge for JavaScript mastery with fields for completion date and project count"
AI: I'll create a JavaScript mastery badge with the custom fields you specified.
✨ Badge Created Successfully!
🏷️ Badge Name: JavaScript Mastery Certificate
🆔 Badge ID: js_mastery_2024_001
📋 Custom fields: completion_date (date), project_count (number)
การออกตราสัญลักษณ์
Human: "Issue the JavaScript badge to Sarah Chen with completion date December 1st and 5 projects completed"
AI: I'll issue the JavaScript mastery badge to Sarah Chen with the specified details.
🎉 Badge Issued Successfully!
📧 Recipient: Sarah Chen
🔗 Verification URL: https://yourdomain.com/verify/xyz123
📅 Completion Date: 2024-12-01
📊 Projects: 5
การดำเนินการแบบกลุ่ม
Human: "Create completion badges for all students in my Python course who scored above 85%"
AI: I'll help you create and issue completion badges for high-performing students. First, let me create a Python Course Completion badge, then we can issue it to qualified students.
[Creates badge and processes student list]
🏗️ การพัฒนา
การสร้างจากซอร์สโค้ด
# Clone the repository
git clone https://github.com/issuebadge/mcp-server.git
cd mcp-server
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode
npm run dev
# Lint code
npm run lint
# Format code
npm run format
โครงสร้างโปรเจกต์
mcp-server/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (generated)
├── .env.example # Environment configuration template
├── package.json # Node.js dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
🔒 ความปลอดภัย
- การสื่อสาร API ทั้งหมดใช้ HTTPS
- คีย์ API ถูกตรวจสอบก่อนทุกคำขอ
- คีย์การทำซ้ำป้องกันการดำเนินการซ้ำ
- การแยกข้อมูลหลายผู้เช่า
- การป้องกันการหมดเวลาของคำขอ
- การจัดการข้อผิดพลาดที่ครอบคลุม
📊 การจัดการข้อผิดพลาด
เซิร์ฟเวอร์ MCP ให้ข้อความแสดงข้อผิดพลาดโดยละเอียดสำหรับปัญหาทั่วไป:
- ข้อผิดพลาดการยืนยันตัวตน: คีย์ API ไม่ถูกต้องหรือโทเค็นหมดอายุ
- ข้อผิดพลาดการตรวจสอบ: พารามิเตอร์ที่จำเป็นหายไปหรือรูปแบบไม่ถูกต้อง
- ข้อผิดพลาดเครือข่าย: การเชื่อมต่อหมดเวลาหรือบริการไม่พร้อมใช้งาน
- ข้อผิดพลาดตรรกะทางธุรกิจ: การดำเนินการซ้ำหรือสิทธิ์ไม่เพียงพอ
🌍 กรณีการใช้งาน
สถาบันการศึกษา
- การจบหลักสูตร: ออกตราสัญลักษณ์โดยอัตโนมัติเมื่อนักเรียนจบหลักสูตร
- การตรวจสอบทักษะ: สร้างตราสัญลักษณ์ตามทักษะพร้อมคะแนนการประเมิน
- ใบรับรองการสำเร็จการศึกษา: ออกตราสัญลักษณ์การสำเร็จการศึกษาแบบกลุ่มพร้อมรายละเอียดทางวิชาการ
การฝึกอบรมองค์กร
- โปรแกรมการรับรอง: จัดการการรับรองทางวิชาชีพพร้อมวันหมดอายุ
- การฝึกอบรมการปฏิบัติตามข้อกำหนด: ติดตามและตรวจสอบการเสร็จสิ้นการฝึกอบรมที่จำเป็น
- การพัฒนาทักษะ: ออกตราสัญลักษณ์สำหรับโปรแกรมการพัฒนาทักษะภายใน
การจัดการกิจกรรม
- การเข้าร่วมประชุม: ออกตราสัญลักษณ์การเข้าร่วมสำหรับกิจกรรมและเวิร์กช็อป
- การติดตามความสำเร็จ: สร้างระบบตราสัญลักษณ์แบบก้าวหน้าสำหรับโปรแกรมต่อเนื่อง
- การยอมรับวิทยากร: จัดการตราสัญลักษณ์การยอมรับวิทยากรและผู้เข้าร่วม
🤝 การมีส่วนร่วม
เรายินดีต้อนรับการมีส่วนร่วม! โปรดดูแนวทางการมีส่วนร่วมของเรา:
- Fork ที่เก็บโค้ด
- สร้างสาขาคุณสมบัติ:
git checkout -b feature/amazing-feature - คอมมิตการเปลี่ยนแปลงของคุณ:
git commit -m 'Add amazing feature' - พุชไปยังสาขา:
git push origin feature/amazing-feature - เปิด Pull Request
แนวทางการพัฒนา
- ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของ TypeScript
- เพิ่มการจัดการข้อผิดพลาดที่ครอบคลุม
- รวมความคิดเห็น JSDoc สำหรับฟังก์ชัน
- อัปเดตการทดสอบสำหรับคุณสมบัติใหม่
- ปฏิบัติตามการกำหนดเวอร์ชันเชิงความหมาย
📝 ใบอนุญาต
โปรเจกต์นี้ได้รับอนุญาตภายใต้ MIT License - ดูรายละเอียดได้ที่ไฟล์ LICENSE
🆘 การสนับสนุน
การขอความช่วยเหลือ
- 📖 เอกสารประกอบ: ตรวจสอบ README นี้และความคิดเห็นในโค้ด
- 🐛 รายงานข้อบกพร่อง: เปิด issue
- 💬 การสนทนา: GitHub Discussions
- 📧 อีเมล: [email protected]
การแก้ไขปัญหา
ปัญหาทั่วไป
1. การตรวจสอบคีย์ API ล้มเหลว
# Check API key format (should start with number|)
# Verify the key hasn't expired
# Ensure correct base URL
2. การเชื่อมต่อหมดเวลา
# Check network connectivity
# Verify IssueBadge service status
# Increase REQUEST_TIMEOUT in .env
3. ข้อผิดพลาดในการสร้างตราสัญลักษณ์
# Verify required fields are provided
# Check idempotency key uniqueness
# Validate organization permissions
🔗 โปรเจกต์ที่เกี่ยวข้อง
- IssueBadge API: แพลตฟอร์มการจัดการตราสัญลักษณ์หลัก
- Model Context Protocol: ข้อกำหนดและเครื่องมือ MCP
- Claude Desktop: ผู้ช่วย AI ที่รองรับ MCP
📈 แผนงาน
เวอร์ชัน 1.1
- การดำเนินการตราสัญลักษณ์แบบกลุ่ม
- การกรองและการค้นหาขั้นสูง
- การผสานรวม Webhook
- การจัดการเทมเพลตตราสัญลักษณ์
เวอร์ชัน 1.2
- เครื่องมือวิเคราะห์และรายงาน
- กฎการตรวจสอบตราสัญลักษณ์ที่กำหนดเอง
- การผสานรวมกับระบบจัดการการเรียนรู้
- ระบบอัตโนมัติของเวิร์กโฟลว์ขั้นสูง
เวอร์ชัน 2.0
- การสนับสนุนการตรวจสอบด้วยบล็อกเชน
- เนื้อหาตราสัญลักษณ์หลายภาษา
- การปรับแต่งแบรนด์ขั้นสูง
- การผสานรวม SSO ระดับองค์กร
พร้อมที่จะปฏิวัติการจัดการตราสัญลักษณ์ของคุณหรือยัง? เริ่มต้นกับ IssueBadge MCP Server และสัมผัสพลังของการบริหารตราสัญลักษณ์ผ่านการสนทนา!
สร้างด้วย ❤️ โดยทีม IssueBadge