Issuebage MCP Server

ทางการ

แพลตฟอร์มออกใบประกาศดิจิทัล

เอกสาร

IssueBadge MCP Server

npm version License: MIT TypeScript MCP

เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับการโต้ตอบกับ IssueBadge API เซิร์ฟเวอร์นี้ช่วยให้ผู้ช่วย AI อย่าง Claude และ ChatGPT สามารถจัดการตราสัญลักษณ์ดิจิทัลและใบรับรองโดยใช้ภาษาธรรมชาติ

🌟 คุณสมบัติ

  • 🤖 การจัดการตราสัญลักษณ์ด้วย AI: ใช้ภาษาธรรมชาติเพื่อสร้าง ออก และจัดการตราสัญลักษณ์
  • 🔐 การยืนยันตัวตนแบบคู่: รองรับทั้ง Laravel Sanctum และ OAuth2
  • 🏆 วงจรชีวิตตราสัญลักษณ์ที่สมบูรณ์: สร้างเทมเพลต ออกให้ผู้รับ และตรวจสอบความถูกต้อง
  • 📊 การสนับสนุนหลายผู้เช่า: การแยกข้อมูลผู้เช่าอย่างปลอดภัยสำหรับการใช้งานระดับองค์กร
  • 🛡️ การป้องกันการทำซ้ำ: ป้องกันการดำเนินการซ้ำด้วยระบบป้องกันในตัว
  • 📧 การแจ้งเตือนอัตโนมัติ: การส่งอีเมลอัตโนมัติพร้อม URL สำหรับการตรวจสอบ
  • 🎨 ฟิลด์ที่กำหนดเอง: รองรับเมตาดาต้าและฟิลด์ที่กำหนดเองที่ยืดหยุ่น

🚀 เริ่มต้นอย่างรวดเร็ว

ข้อกำหนดเบื้องต้น

  • Node.js 18+
  • npm 8+
  • บัญชี IssueBadge API พร้อมคีย์ API

การติดตั้ง

  1. โคลนที่เก็บโค้ด

    git clone https://github.com/issuebadge/mcp-server.git
    cd mcp-server
    
  2. ติดตั้งการพึ่งพา

    npm install
    
  3. กำหนดค่าสภาพแวดล้อม

    cp .env.example .env
    # Edit .env with your IssueBadge API credentials
    
  4. สร้างโปรเจกต์

    npm run build
    
  5. ทดสอบเซิร์ฟเวอร์

    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

  1. สร้าง Custom GPT ใหม่ใน ChatGPT
  2. นำเข้าข้อกำหนด OpenAPI จากอินสแตนซ์ IssueBadge ของคุณ
  3. กำหนดค่าการยืนยันตัวตนด้วย Bearer token โดยใช้คีย์ API ของคุณ
  4. เริ่มจัดการตราสัญลักษณ์ผ่านการสนทนา!

🛠️ เครื่องมือที่พร้อมใช้งาน

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 ไม่ถูกต้องหรือโทเค็นหมดอายุ
  • ข้อผิดพลาดการตรวจสอบ: พารามิเตอร์ที่จำเป็นหายไปหรือรูปแบบไม่ถูกต้อง
  • ข้อผิดพลาดเครือข่าย: การเชื่อมต่อหมดเวลาหรือบริการไม่พร้อมใช้งาน
  • ข้อผิดพลาดตรรกะทางธุรกิจ: การดำเนินการซ้ำหรือสิทธิ์ไม่เพียงพอ

🌍 กรณีการใช้งาน

สถาบันการศึกษา

  • การจบหลักสูตร: ออกตราสัญลักษณ์โดยอัตโนมัติเมื่อนักเรียนจบหลักสูตร
  • การตรวจสอบทักษะ: สร้างตราสัญลักษณ์ตามทักษะพร้อมคะแนนการประเมิน
  • ใบรับรองการสำเร็จการศึกษา: ออกตราสัญลักษณ์การสำเร็จการศึกษาแบบกลุ่มพร้อมรายละเอียดทางวิชาการ

การฝึกอบรมองค์กร

  • โปรแกรมการรับรอง: จัดการการรับรองทางวิชาชีพพร้อมวันหมดอายุ
  • การฝึกอบรมการปฏิบัติตามข้อกำหนด: ติดตามและตรวจสอบการเสร็จสิ้นการฝึกอบรมที่จำเป็น
  • การพัฒนาทักษะ: ออกตราสัญลักษณ์สำหรับโปรแกรมการพัฒนาทักษะภายใน

การจัดการกิจกรรม

  • การเข้าร่วมประชุม: ออกตราสัญลักษณ์การเข้าร่วมสำหรับกิจกรรมและเวิร์กช็อป
  • การติดตามความสำเร็จ: สร้างระบบตราสัญลักษณ์แบบก้าวหน้าสำหรับโปรแกรมต่อเนื่อง
  • การยอมรับวิทยากร: จัดการตราสัญลักษณ์การยอมรับวิทยากรและผู้เข้าร่วม

🤝 การมีส่วนร่วม

เรายินดีต้อนรับการมีส่วนร่วม! โปรดดูแนวทางการมีส่วนร่วมของเรา:

  1. Fork ที่เก็บโค้ด
  2. สร้างสาขาคุณสมบัติ: git checkout -b feature/amazing-feature
  3. คอมมิตการเปลี่ยนแปลงของคุณ: git commit -m 'Add amazing feature'
  4. พุชไปยังสาขา: git push origin feature/amazing-feature
  5. เปิด 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