MCP Server
M

MCP Server

The IssueBadge MCP Server is a server based on the Model Context Protocol (MCP) for interacting with the IssueBadge API through natural language, enabling AI assistants to manage digital badges and certificates.
2 points
4.1K

Installation

Copy the following command to your Client for configuration
Note: Your key is sensitive information, do not share it with anyone.

๐Ÿš€ IssueBadge MCP Server

A Model Context Protocol (MCP) server for interacting with the IssueBadge API. This server enables AI assistants like Claude and ChatGPT to manage digital badges and certificates using natural language.

โœจ Features

  • ๐Ÿค– AI-Powered Badge Management: Use natural language to create, issue, and manage badges.
  • ๐Ÿ” Dual Authentication: Support for both Laravel Sanctum and OAuth2.
  • ๐Ÿ† Complete Badge Lifecycle: Create templates, issue to recipients, and verify authenticity.
  • ๐Ÿ“Š Multi-tenant Support: Secure tenant isolation for enterprise use.
  • ๐Ÿ›ก๏ธ Idempotency Protection: Prevent duplicate operations with built-in safeguards.
  • ๐Ÿ“ง Automated Notifications: Automatic email delivery with verification URLs.
  • ๐ŸŽจ Custom Fields: Flexible metadata and custom field support.

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm 8+
  • IssueBadge API account with API key

Installation

  1. Clone the repository

    git clone https://github.com/issuebadge/mcp-server.git
    cd mcp-server
    
  2. Install dependencies

    npm install
    
  3. Configure environment

    cp .env.example .env
    # Edit .env with your IssueBadge API credentials
    
  4. Build the project

    npm run build
    
  5. Test the server

    npm test
    

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js 18+
  • npm 8+
  • An IssueBadge API account with an API key

Steps

  1. Clone the repository
    git clone https://github.com/issuebadge/mcp-server.git
    cd mcp-server
    
  2. Install dependencies
    npm install
    
  3. Configure the environment
    cp .env.example .env
    # Edit .env with your IssueBadge API credentials
    
  4. Build the project
    npm run build
    
  5. Test the server
    npm test
    

โš™๏ธ Configuration

Create a .env file based on .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

๐Ÿ’ป Usage Examples

Integration with Claude Desktop

Add this server to your Claude Desktop configuration:

{
  "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"
      }
    }
  }
}

Integration with ChatGPT Actions

  1. Create a new Custom GPT in ChatGPT.
  2. Import the OpenAPI specification from your IssueBadge instance.
  3. Configure Bearer token authentication with your API key.
  4. Start managing badges through conversation!

Available Tools

1. validate_key

Validates IssueBadge API keys for authentication. Parameters:

  • api_key (string, required): The API key to validate Example:
"Validate my API key: 1|abcdef123456789..."

2. get_all_badges

Retrieves all available badges for the authenticated organization. Parameters:

  • limit (number, optional): Maximum badges to return (default: 100) Example:
"Show me all available badges"
"List the first 50 badges"

3. create_badge

Creates a new badge template with optional custom fields. Parameters:

  • name (string, required): Badge name
  • description (string, required): Badge description
  • issuing_organization_name (string, required): Organization name
  • idempotency_key (string, required): Unique identifier
  • custom_fields (array, optional): Custom field definitions
  • And more optional parameters... Example:
"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

Issues a badge to a recipient with optional metadata. Parameters:

  • badge_id (string, required): Badge ID from creation
  • name (string, required): Recipient's full name
  • idempotency_key (string, required): Unique identifier
  • email (string, optional): Recipient's email
  • metadata (object, optional): Custom field values Example:
"Issue the Web Development badge to John Doe with email john@example.com"
"Issue Python certification to Alice with completion date today and score 95%"

Natural Language Examples

Creating Badges

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)

Issuing Badges

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

Batch Operations

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]

๐Ÿ”ง Technical Details

Building from Source

# 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

Project Structure

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

Security

  • All API communications use HTTPS.
  • API keys are validated before each request.
  • Idempotency keys prevent duplicate operations.
  • Multi-tenant data isolation.
  • Request timeout protection.
  • Comprehensive error handling.

Error Handling

The MCP server provides detailed error messages for common issues:

  • Authentication Errors: Invalid API keys or expired tokens.
  • Validation Errors: Missing required parameters or invalid formats.
  • Network Errors: Connection timeouts or service unavailability.
  • Business Logic Errors: Duplicate operations or insufficient permissions.

๐ŸŒ Use Cases

Educational Institutions

  • Course Completion: Automatically issue badges when students complete courses.
  • Skill Validation: Create skill-based badges with assessment scores.
  • Graduation Certificates: Bulk issue graduation badges with academic details.

Corporate Training

  • Certification Programs: Manage professional certifications with expiration dates.
  • Compliance Training: Track and verify mandatory training completion.
  • Skill Development: Issue badges for internal skill development programs.

Event Management

  • Conference Attendance: Issue attendance badges for events and workshops.
  • Achievement Tracking: Create progressive badge systems for ongoing programs.
  • Speaker Recognition: Manage speaker and participant recognition badges.

๐Ÿค Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices.
  • Add comprehensive error handling.
  • Include JSDoc comments for functions.
  • Update tests for new features.
  • Follow semantic versioning.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support

Getting Help

  • ๐Ÿ“– Documentation: Check this README and inline code comments.
  • ๐Ÿ› Bug Reports: Open an issue.
  • ๐Ÿ’ฌ Discussions: GitHub Discussions.
  • ๐Ÿ“ง Email: support@issuebadge.com

Troubleshooting

Common Issues

1. API Key Validation Failed

# Check API key format (should start with number|)
# Verify the key hasn't expired
# Ensure correct base URL

2. Connection Timeout

# Check network connectivity
# Verify IssueBadge service status
# Increase REQUEST_TIMEOUT in .env

3. Badge Creation Errors

# Verify required fields are provided
# Check idempotency key uniqueness
# Validate organization permissions

๐Ÿ”— Related Projects

๐Ÿ“ˆ Roadmap

Version 1.1

  • [ ] Batch badge operations
  • [ ] Advanced filtering and search
  • [ ] Webhook integration
  • [ ] Badge template management

Version 1.2

  • [ ] Analytics and reporting tools
  • [ ] Custom badge validation rules
  • [ ] Integration with learning management systems
  • [ ] Advanced workflow automation

Version 2.0

  • [ ] Blockchain verification support
  • [ ] Multi-language badge content
  • [ ] Advanced branding customization
  • [ ] Enterprise SSO integration

Ready to revolutionize your badge management? Get started with IssueBadge MCP Server and experience the power of conversational badge administration!

Built with โค๏ธ by the IssueBadge team

Alternatives

B
Blueprint MCP
Blueprint MCP is a chart generation tool based on the Arcade ecosystem. It uses technologies such as Nano Banana Pro to automatically generate visual charts such as architecture diagrams and flowcharts by analyzing codebases and system architectures, helping developers understand complex systems.
Python
8.0K
4 points
K
Klavis
Klavis AI is an open-source project that provides a simple and easy-to-use MCP (Model Context Protocol) service on Slack, Discord, and Web platforms. It includes various functions such as report generation, YouTube tools, and document conversion, supporting non-technical users and developers to use AI workflows.
TypeScript
14.3K
5 points
D
Devtools Debugger MCP
The Node.js Debugger MCP server provides complete debugging capabilities based on the Chrome DevTools protocol, including breakpoint setting, stepping execution, variable inspection, and expression evaluation.
TypeScript
10.4K
4 points
M
Mcpjungle
MCPJungle is a self-hosted MCP gateway used to centrally manage and proxy multiple MCP servers, providing a unified tool access interface for AI agents.
Go
0
4.5 points
N
Nexus
Nexus is an AI tool aggregation gateway that supports connecting multiple MCP servers and LLM providers, providing tool search, execution, and model routing functions through a unified endpoint, and supporting security authentication and rate limiting.
Rust
0
4 points
S
Shadcn Ui MCP Server
An MCP server that provides shadcn/ui component integration for AI workflows, supporting React, Svelte, and Vue frameworks. It includes functions for accessing component source code, examples, and metadata.
TypeScript
13.3K
5 points
Z
Zen MCP Server
Zen MCP is a multi-model AI collaborative development server that provides enhanced workflow tools and cross-model context management for AI coding assistants such as Claude and Gemini CLI. It supports seamless collaboration of multiple AI models to complete development tasks such as code review, debugging, and refactoring, and can maintain the continuation of conversation context between different workflows.
Python
18.8K
5 points
O
Opendia
OpenDia is an open - source browser extension tool that allows AI models to directly control the user's browser, perform automated operations using existing login status, bookmarks and other data, support multiple browsers and AI models, and focus on privacy protection.
JavaScript
15.7K
5 points
N
Notion Api MCP
Certified
A Python-based MCP Server that provides advanced to-do list management and content organization functions through the Notion API, enabling seamless integration between AI models and Notion.
Python
17.1K
4.5 points
M
Markdownify MCP
Markdownify is a multi-functional file conversion service that supports converting multiple formats such as PDFs, images, audio, and web page content into Markdown format.
TypeScript
28.8K
5 points
G
Gitlab MCP Server
Certified
The GitLab MCP server is a project based on the Model Context Protocol that provides a comprehensive toolset for interacting with GitLab accounts, including code review, merge request management, CI/CD configuration, and other functions.
TypeScript
19.6K
4.3 points
D
Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
56.2K
4.3 points
U
Unity
Certified
UnityMCP is a Unity editor plugin that implements the Model Context Protocol (MCP), providing seamless integration between Unity and AI assistants, including real - time state monitoring, remote command execution, and log functions.
C#
24.1K
5 points
F
Figma Context MCP
Framelink Figma MCP Server is a server that provides access to Figma design data for AI programming tools (such as Cursor). By simplifying the Figma API response, it helps AI more accurately achieve one - click conversion from design to code.
TypeScript
53.4K
4.5 points
M
Minimax MCP Server
The MiniMax Model Context Protocol (MCP) is an official server that supports interaction with powerful text-to-speech, video/image generation APIs, and is suitable for various client tools such as Claude Desktop and Cursor.
Python
37.7K
4.8 points
G
Gmail MCP Server
A Gmail automatic authentication MCP server designed for Claude Desktop, supporting Gmail management through natural language interaction, including complete functions such as sending emails, label management, and batch operations.
TypeScript
19.3K
4.5 points