Back to MCP directory
publicPublicdnsLocal runtime

eventhorizon-mcp

EventHorizon MCP服务器是一个用于集成EventHorizon Django事件管理平台的模型上下文协议服务器,提供事件管理、注册和用户操作等功能。

article

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 | 可选值:debuginfowarnerror | | API_TIMEOUT | 否 | 30000 | 请求超时时间(毫秒) |

获取 Knox 令牌

  1. 登录到你的 EventHorizon Django 实例。
  2. 访问 Django 管理界面 > Knox Tokens > 添加令牌。
  3. 或者使用 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 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client