这是一个用于与 IssueBadge API 交互的模型上下文协议(MCP)服务器。该服务器使 Claude 和 ChatGPT 等 AI 助手能够使用自然语言管理数字徽章和证书。
克隆仓库
git clone https://github.com/issuebadge/mcp-server.git
cd mcp-server
安装依赖
npm install
配置环境
cp .env.example .env
# 使用你的 IssueBadge API 凭证编辑 .env
构建项目
npm run build
测试服务器
npm test
参考“快速开始”部分的安装步骤。
以下是一些使用自然语言与服务器交互的示例:
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]
以下是使用可用工具的高级示例:
validate_key验证用于认证的 IssueBadge API 密钥。 参数:
api_key(字符串,必需):要验证的 API 密钥
示例:"Validate my API key: 1|abcdef123456789..."
get_all_badges检索经过认证的组织的所有可用徽章。 参数:
limit(数字,可选):返回的最大徽章数量(默认值:100)
示例:"Show me all available badges"
"List the first 50 badges"
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"
issue_badge向接收者颁发带有可选元数据的徽章。 参数:
badge_id(字符串,必需):创建徽章时的徽章 IDname(字符串,必需):接收者的全名idempotency_key(字符串,必需):唯一标识符email(字符串,可选):接收者的电子邮件metadata(对象,可选):自定义字段值
示例:"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%"
基于 .env.example 创建一个 .env 文件:
# API 配置
ISSUEBADGE_BASE_URL=https://app.issuebadge.com/api/v1
ISSUEBADGE_API_KEY=
# OAuth2 配置(可选)
ISSUEBADGE_OAUTH_URL=https://app.issuebadge.com/api/v1/oauth
ISSUEBADGE_OAUTH_TOKEN=your_oauth_token_here
# 认证方法(sanctum 或 oauth2)
AUTH_METHOD=sanctum
# 服务器配置
MCP_SERVER_NAME=IssueBadge MCP Server
MCP_SERVER_VERSION=1.0.0
# 可选设置
REQUEST_TIMEOUT=30000
DEBUG=false
MAX_RETRIES=3
RETRY_DELAY=1000
将此服务器添加到你的 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"
}
}
}
}
参考“使用示例”部分的工具说明。
# 克隆仓库
git clone https://github.com/issuebadge/mcp-server.git
cd mcp-server
# 安装依赖
npm install
# 构建 TypeScript
npm run build
# 在开发模式下运行
npm run dev
# 代码检查
npm run lint
# 代码格式化
npm run format
mcp-server/
├── src/
│ └── index.ts # 主要的 MCP 服务器实现
├── dist/ # 编译后的 JavaScript(自动生成)
├── .env.example # 环境配置模板
├── package.json # Node.js 依赖和脚本
├── tsconfig.json # TypeScript 配置
└── README.md # 本文件
MCP 服务器为常见问题提供详细的错误消息:
我们欢迎贡献!请参阅我们的贡献指南:
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-feature1. API 密钥验证失败
# 检查 API 密钥格式(应以数字|开头)
# 验证密钥未过期
# 确保基本 URL 正确
2. 连接超时
# 检查网络连接
# 验证 IssueBadge 服务状态
# 在 .env 中增加 REQUEST_TIMEOUT
3. 徽章创建错误
# 验证是否提供了必需字段
# 检查幂等性密钥的唯一性
# 验证组织权限
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
准备好彻底改变你的徽章管理方式了吗? 立即开始使用 IssueBadge MCP 服务器,体验对话式徽章管理的强大功能!
由 IssueBadge 团队用心打造