Issuebage MCP Server
공식디지털 배지 발급 플랫폼
문서
IssueBadge MCP 서버
IssueBadge API와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 Claude 및 ChatGPT와 같은 AI 어시스턴트가 자연어를 사용하여 디지털 배지와 인증서를 관리할 수 있도록 지원합니다.
🌟 기능
- 🤖 AI 기반 배지 관리: 자연어를 사용하여 배지를 생성, 발급 및 관리합니다.
- 🔐 이중 인증: Laravel Sanctum 및 OAuth2 모두 지원
- 🏆 완전한 배지 생애 주기: 템플릿 생성, 수신자에게 발급, 진위 확인
- 📊 멀티 테넌트 지원: 기업용 보안 테넌트 격리
- 🛡️ 멱등성 보호: 내장된 보호 장치로 중복 작업 방지
- 📧 자동 알림: 확인 URL이 포함된 자동 이메일 발송
- 🎨 사용자 정의 필드: 유연한 메타데이터 및 사용자 정의 필드 지원
🚀 빠른 시작
사전 요구 사항
- Node.js 18+
- npm 8+
- API 키가 있는 IssueBadge 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.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
- ChatGPT에서 새 사용자 정의 GPT를 생성합니다.
- IssueBadge 인스턴스에서 OpenAPI 사양을 가져옵니다.
- API 키로 Bearer 토큰 인증을 구성합니다.
- 대화를 통해 배지 관리를 시작하세요!
🛠️ 사용 가능한 도구
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(문자열, 필수): 생성 시 배지 IDname(문자열, 필수): 수신자 전체 이름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 키 또는 만료된 토큰
- 유효성 검사 오류: 필수 매개변수 누락 또는 잘못된 형식
- 네트워크 오류: 연결 시간 초과 또는 서비스 이용 불가
- 비즈니스 로직 오류: 중복 작업 또는 권한 부족
🌍 사용 사례
교육 기관
- 과정 수료: 학생들이 과정을 완료하면 자동으로 배지 발급
- 기술 검증: 평가 점수가 포함된 기술 기반 배지 생성
- 졸업 증명서: 학업 세부 정보가 포함된 졸업 배지 일괄 발급
기업 교육
- 인증 프로그램: 만료일이 있는 전문 인증 관리
- 규정 준수 교육: 필수 교육 수료 추적 및 확인
- 기술 개발: 내부 기술 개발 프로그램용 배지 발급
이벤트 관리
- 컨퍼런스 참석: 이벤트 및 워크숍 참석 배지 발급
- 성과 추적: 진행 중인 프로그램을 위한 점진적 배지 시스템 생성
- 발표자 인정: 발표자 및 참가자 인정 배지 관리
🤝 기여
기여를 환영합니다! 기여 가이드라인을 확인하세요:
- 저장소 포크
- 기능 브랜치 생성:
git checkout -b feature/amazing-feature - 변경 사항 커밋:
git commit -m 'Add amazing feature' - 브랜치에 푸시:
git push origin feature/amazing-feature - 풀 리퀘스트 열기
개발 가이드라인
- TypeScript 모범 사례 준수
- 포괄적인 오류 처리 추가
- 함수에 JSDoc 주석 포함
- 새 기능에 대한 테스트 업데이트
- 시맨틱 버전 관리 준수
📝 라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
🆘 지원
도움 받기
- 📖 문서: 이 README 및 인라인 코드 주석 확인
- 🐛 버그 보고: 이슈 열기
- 💬 토론: GitHub 토론
- 📧 이메일: [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: 핵심 배지 관리 플랫폼
- 모델 컨텍스트 프로토콜: MCP 사양 및 도구
- Claude Desktop: MCP 지원 AI 어시스턴트
📈 로드맵
버전 1.1
- 배지 일괄 작업
- 고급 필터링 및 검색
- 웹훅 통합
- 배지 템플릿 관리
버전 1.2
- 분석 및 보고 도구
- 사용자 정의 배지 검증 규칙
- 학습 관리 시스템과의 통합
- 고급 워크플로 자동화
버전 2.0
- 블록체인 검증 지원
- 다국어 배지 콘텐츠
- 고급 브랜딩 사용자 정의
- 엔터프라이즈 SSO 통합
배지 관리에 혁신을 일으킬 준비가 되셨나요? IssueBadge MCP 서버를 시작하고 대화형 배지 관리의 힘을 경험하세요!
IssueBadge 팀이 ❤️를 담아 제작