Issuebage MCP Server

공식

디지털 배지 발급 플랫폼

문서

IssueBadge MCP 서버

npm version License: MIT TypeScript MCP

IssueBadge API와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 Claude 및 ChatGPT와 같은 AI 어시스턴트가 자연어를 사용하여 디지털 배지와 인증서를 관리할 수 있도록 지원합니다.

🌟 기능

  • 🤖 AI 기반 배지 관리: 자연어를 사용하여 배지를 생성, 발급 및 관리합니다.
  • 🔐 이중 인증: Laravel Sanctum 및 OAuth2 모두 지원
  • 🏆 완전한 배지 생애 주기: 템플릿 생성, 수신자에게 발급, 진위 확인
  • 📊 멀티 테넌트 지원: 기업용 보안 테넌트 격리
  • 🛡️ 멱등성 보호: 내장된 보호 장치로 중복 작업 방지
  • 📧 자동 알림: 확인 URL이 포함된 자동 이메일 발송
  • 🎨 사용자 정의 필드: 유연한 메타데이터 및 사용자 정의 필드 지원

🚀 빠른 시작

사전 요구 사항

  • Node.js 18+
  • npm 8+
  • API 키가 있는 IssueBadge 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.example를 기반으로 .env 파일을 생성합니다:

# 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. ChatGPT에서 새 사용자 정의 GPT를 생성합니다.
  2. IssueBadge 인스턴스에서 OpenAPI 사양을 가져옵니다.
  3. API 키로 Bearer 토큰 인증을 구성합니다.
  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 (문자열, 필수): 생성 시 배지 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. 저장소 포크
  2. 기능 브랜치 생성: git checkout -b feature/amazing-feature
  3. 변경 사항 커밋: git commit -m 'Add amazing feature'
  4. 브랜치에 푸시: git push origin feature/amazing-feature
  5. 풀 리퀘스트 열기

개발 가이드라인

  • TypeScript 모범 사례 준수
  • 포괄적인 오류 처리 추가
  • 함수에 JSDoc 주석 포함
  • 새 기능에 대한 테스트 업데이트
  • 시맨틱 버전 관리 준수

📝 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

🆘 지원

도움 받기

문제 해결

일반적인 문제

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

🔗 관련 프로젝트

📈 로드맵

버전 1.1

  • 배지 일괄 작업
  • 고급 필터링 및 검색
  • 웹훅 통합
  • 배지 템플릿 관리

버전 1.2

  • 분석 및 보고 도구
  • 사용자 정의 배지 검증 규칙
  • 학습 관리 시스템과의 통합
  • 고급 워크플로 자동화

버전 2.0

  • 블록체인 검증 지원
  • 다국어 배지 콘텐츠
  • 고급 브랜딩 사용자 정의
  • 엔터프라이즈 SSO 통합

배지 관리에 혁신을 일으킬 준비가 되셨나요? IssueBadge MCP 서버를 시작하고 대화형 배지 관리의 힘을 경험하세요!

IssueBadge 팀이 ❤️를 담아 제작