README
🚀 EventHorizon MCP 服务器
EventHorizon MCP 服务器是一个模型上下文协议(MCP)服务器,用于与 EventHorizon Django 事件管理平台集成。
🚀 快速开始
本项目是用于与 EventHorizon Django 事件管理平台集成的 MCP 服务器,下面将详细介绍其安装、配置等操作。
📦 安装指南
从 GitHub 安装(推荐)
无需克隆仓库,直接使用 npx 运行:
npx github:NotoriousArnav/EventHorizon-MCP
从源码安装
git clone https://github.com/NotoriousArnav/EventHorizon-MCP.git
cd EventHorizon-MCP
npm install
npm run build
🛠️ 配置说明
环境变量
| 变量 | 是否必需 | 默认值 | 描述 |
|------|----------|---------|-------------|
| EVENTHORIZON_BASE_URL | 是 | http://localhost:8000 | EventHorizon API 的 URL |
| EVENTHORIZON_API_TOKEN | 是 | - | Knox 认证令牌 |
| LOG_LEVEL | 否 | info | 可选值:debug、info、warn、error |
| API_TIMEOUT | 否 | 30000 | 请求超时时间(毫秒) |
获取 Knox 令牌
- 登录到你的 EventHorizon Django 实例。
- 访问 Django 管理界面 > Knox Tokens > 添加令牌。
- 或者使用 API:使用凭证发送
POST /api/auth/login/请求。
💻 MCP 客户端设置
Claude Desktop
在 Linux 系统中,将以下内容添加到 ~/.config/claude/claude_desktop_config.json 文件;在 macOS 系统中,添加到 ~/Library/Application Support/Claude/claude_desktop_config.json 文件:
{
"mcpServers": {
"eventhorizon": {
"command": "npx",
"args": ["-y", "github:NotoriousArnav/EventHorizon-MCP"],
"env": {
"EVENTHORIZON_BASE_URL": "http://localhost:8000",
"EVENTHORIZON_API_TOKEN": "your_knox_token_here"
}
}
}
}
OpenCode
将以下内容添加到你的 OpenCode MCP 配置文件(~/.config/opencode/config.json)中:
{
"mcp": {
"servers": {
"eventhorizon": {
"type": "local",
"command": ["npx", "-y", "github:NotoriousArnav/EventHorizon-MCP"],
"env": {
"EVENTHORIZON_BASE_URL": "http://localhost:8000",
"EVENTHORIZON_API_TOKEN": "your_knox_token_here"
}
}
}
}
}
Cursor
将以下内容添加到 Cursor 的 MCP 设置中:
{
"mcpServers": {
"eventhorizon": {
"command": "npx",
"args": ["-y", "github:NotoriousArnav/EventHorizon-MCP"],
"env": {
"EVENTHORIZON_BASE_URL": "http://localhost:8000",
"EVENTHORIZON_API_TOKEN": "your_knox_token_here"
}
}
}
}
本地开发
如果从源码运行,使用以下配置:
{
"mcpServers": {
"eventhorizon": {
"command": "node",
"args": ["/absolute/path/to/EventHorizon-MCP/dist/index.js"],
"env": {
"EVENTHORIZON_BASE_URL": "http://localhost:8000",
"EVENTHORIZON_API_TOKEN": "your_knox_token_here"
}
}
}
}
✨ 可用工具
事件管理
| 工具 | 描述 |
|------|-------------|
| list_events | 列出事件,可使用搜索或位置过滤器 |
| get_event | 根据 ID 获取详细的事件信息 |
| create_event | 创建新事件 |
| update_event | 更新现有事件 |
| delete_event | 删除事件(仅限组织者) |
注册管理
| 工具 | 描述 |
|------|-------------|
| register_for_event | 注册参加活动 |
| unregister_from_event | 取消注册 |
| get_event_registrations | 查看注册信息(仅限组织者) |
| manage_registration | 批准/加入等待列表/取消注册 |
用户管理
| 工具 | 描述 |
|------|-------------|
| get_my_profile | 获取当前用户的个人资料 |
| get_my_registrations | 列出你的活动注册信息 |
| get_my_hosted_events | 列出你组织的活动 |
实用工具
| 工具 | 描述 |
|------|-------------|
| health_check | 测试 API 连接和认证 |
💻 开发说明
# 安装依赖
npm install
# 以开发模式运行(热重载)
npm run dev
# 构建生产版本
npm run build
# 运行生产版本
npm start
# 运行测试
npm test
💡 无 MCP 客户端测试方法
使用 MCP 检查器
npx @modelcontextprotocol/inspector node dist/index.js
发送原始 JSON-RPC 请求
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | node dist/index.js
📋 要求
- Node.js 18 及以上版本
- 启用 Knox 认证的 EventHorizon Django 实例
📄 许可证
本项目采用 MIT 许可证。
Scan to join WeChat group