使用说明
@普密切尔森/艾文布莱特·麦克普
MCP(模型上下文协议)服务器,通过Eventbrite API v3提供全面的事件管理和票务功能。
注意:并非此存储库中的所有工具都经过测试。支持工单创建工作流。如果其他工具失败,请为该工具创建问题。
特性
- 事件管理:创建、更新、发布、删除、取消和复制事件
- 票务管理:创建、更新和管理票证类
- 订单管理:检索和列出订单
- 与会者管理:获取并列出与会者信息
- 组织支持:管理组织、场地和成员
- 折扣管理:创建和管理折扣码
- 媒体与内容:上传媒体并管理结构化内容
- 网络钩子:创建和管理webhooks
- 类别和格式:访问事件类别和格式
- 库存管理:管理库存层级
- 还有更多:共42个工具-请参阅
./src/tools获取完整列表
安装
使用npx(推荐)
npx @prmichaelsen/eventbrite-mcp
配置
环境变量
创建一个 .env 在项目根目录中创建文件或设置以下环境变量:
# Required
EVENTBRITE_API_TOKEN=your_eventbrite_api_token
# Optional
EVENTBRITE_API_URL=https://www.eventbriteapi.com/v3 # Default API URL
EVENTBRITE_TIMEOUT=30000 # Request timeout in ms
EVENTBRITE_RETRIES=3 # Number of retry attempts
获取Eventbrite API代币
- 首选 Eventbrite API密钥页
- 登录您的Eventbrite帐户
- 复制您的私人令牌
- 将其添加到MCP客户端配置中(见下文)
注: 如果您需要访问其他用户的数据,则必须创建自己的Eventbrite OAuth应用程序。对于个人使用,私人令牌就足够了。
MCP客户端配置
添加到您的MCP客户端配置中(例如,Claude Desktop、Kilo Code):
{
"mcpServers": {
"eventbrite": {
"command": "npx",
"args": ["-y", "@prmichaelsen/eventbrite-mcp"],
"env": {
"EVENTBRITE_API_TOKEN": "your_eventbrite_api_token"
}
}
}
}
工具示例
create_event
在Eventbrite上创建一个新活动。
参数:
name(必填):事件名称startTime(必填):ISO 8601格式的开始时间endTime(必填):ISO 8601格式的结束时间timezone(必填):时区(例如,“美洲/纽约”)currency(必填):货币代码(例如“USD”)description(可选):事件描述(支持HTML)online(可选):这是否是一个在线活动listed(可选):是否公开上市capacity(可选):最大容量organizationId(可选):组织ID
例子:
{
"name": "Tech Conference 2024",
"description": "Annual technology conference",
"startTime": "2024-12-31T09:00:00",
"endTime": "2024-12-31T17:00:00",
"timezone": "America/New_York",
"currency": "USD",
"online": false,
"listed": true,
"capacity": 500
}
update_事件
按事件ID更新现有事件。支持部分更新。
参数:
event_id(必填):事件IDname(可选):具有html属性的事件名称对象summary(可选):事件摘要start(可选):使用时区和utc开始日期时间end(可选):使用时区和utc结束日期时间currency(可选):货币代码online_event(可选):仅在线listed(可选):可公开搜索- 另外还有20+个可选字段
例子:
{
"event_id": "123456789",
"name": { "html": "Updated Conference Name" },
"summary": "New event description",
"listed": true
}
create_ticket_class
为活动创建门票类别。
参数:
eventId(必填):事件IDname(必填):票类名称quantityTotal(必填):可用门票总数free(可选):门票是否免费cost(可选):以小单位表示的门票费用(例如,美分)currency(可选):货币代码description(可选):门票描述salesStart(可选):销售开始时间(ISO 8601)salesEnd(可选):销售结束时间(ISO 8601)
例子:
{
"eventId": "123456789",
"name": "General Admission",
"quantityTotal": 100,
"free": false,
"cost": 5000,
"currency": "USD",
"description": "Standard entry ticket"
}
发布事件
发布活动以使其直播并可用于门票销售。
参数:
event_id(必填):事件ID
例子:
{
"event_id": "123456789"
}
所有可用工具
有关所有42个支持工具的完整列表,请参阅 ./src/tools 目录。
工具类别:
- 事件(9工具)
- 门票(4个工具)
- 订单(2个工具)
- 与会者(2个工具)
- 组织(3个工具)
- 场地(4个工具)
- 折扣(5工具)
- 类别和格式(6个工具)
- Webhooks(3个工具)
- 媒体和内容(4个工具)
- 库存层级(5个工具)
- 显示设置(2个工具)
- 问题(3个工具)
- 用户(1个工具)
- API文档(1个工具)
用作图书馆
选项1:MCP身份验证集成(多租户)
对于多租户应用程序,使用 @prmichaelsen/mcp认证:
import { createEventbriteServer } from '@prmichaelsen/eventbrite-mcp/factory';
import { wrapServer } from '@prmichaelsen/mcp-auth';
const wrappedServer = wrapServer({
serverFactory: (accessToken: string, userId: string) => {
return createEventbriteServer(accessToken, userId);
},
authProvider: new FirebaseAuthProvider({ projectId: 'your-project' }),
tokenResolver: new PlatformTokenResolver({
platformUrl: 'https://your-platform.com',
serviceToken: process.env.PLATFORM_SERVICE_TOKEN
}),
resourceType: 'eventbrite',
transport: { type: 'sse', port: 8080, basePath: '/mcp' }
});
await wrappedServer.start();
选项2:个人工具使用(OpenAI代理)
在您的应用程序中导入和使用单个工具:
import { CreateEventTool, EventbriteClient, EventbriteConfig } from '@prmichaelsen/eventbrite-mcp';
// Configure the Eventbrite client
const config: EventbriteConfig = {
apiToken: process.env.EVENTBRITE_API_TOKEN!, // Required
apiUrl: 'https://www.eventbriteapi.com/v3',
timeout: 30000,
retries: 3
};
const client = new EventbriteClient(config);
const createEventTool = new CreateEventTool(client);
// Use the tool
const result = await createEventTool.execute({
name: "My Event",
startTime: "2024-12-31T09:00:00",
endTime: "2024-12-31T17:00:00",
timezone: "America/New_York",
currency: "USD"
});
所需的环境变量:
EVENTBRITE_API_TOKEN:您的Eventbrite API代币(必需)
所有57个工具类和 createServer 导出工厂功能。看 src/index.ts 查看完整的出口清单。
发展
设置
# Clone the repository
git clone https://github.com/prmichaelsen/eventbrite-mcp.git
cd eventbrite-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode with watch
npm run watch
项目结构
eventbrite-mcp/
├── src/
│ ├── server.ts # Main MCP server
│ ├── eventbrite/
│ │ └── client.ts # Eventbrite API client
│ ├── tools/ # MCP tool implementations (42 tools)
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── agent/ # Development documentation
├── package.json
├── tsconfig.json
└── README.md
测试
npm test
建筑
npm run build
许可证
麻省理工学院
作者
帕特里克·迈克尔森