mcpField
H
Happenings Page CLI

Happenings Page CLI

远程服务
happenings.social商业与营销02 周前更新

关于 Happenings Page CLI

Happenings Page CLI 为活动组织者提供页面管理命令,供支持 MCP 的 AI 客户端调用。登录后可选择可访问的页面,命令权限受用户在各页面上的角色限制。

主要功能

  1. 01基于 Streamable HTTP 的远程 MCP 服务
  2. 02OAuth 2.1 登录并选择页面
  3. 03受角色限制的页面命令访问
  4. 04只读工具 hap_help 和 hap_read
  5. 05用于页面管理的 hap_run

适用场景

  1. 01通过 AI 客户端查看 Happenings 页面信息
  2. 02在选定页面运行管理命令
  3. 03确保 AI 操作遵循页面角色权限

MCP 相关

将页面级 Happenings CLI 作为远程 MCP 服务提供。它公开 hap_help、只读的 hap_read,以及用于执行命令的 hap_run;访问由用户在各页面上的角色控制。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.happenings.social/page/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

为你的 AI 提供 Happenings

将任何支持 MCP 的 AI 连接到组织者运营的 Happenings 页面,并教会它如何妥善管理页面(HAP-4513)。组织者可在 Connect 中的 Settings 下,进入 AI(/beta/settings/ai)进行设置。

两个部分

  • 连接器:https://api.happenings.social/mcp。页面级 Happenings CLI,作为远程 MCP 服务(可流式传输的 HTTP),通过 OAuth 2.1、PKCE、动态客户端注册和 RFC 9207 iss 提供保护。添加时只需填写 URL;登录后即可选择页面,每条命令的权限都受用户在相应页面上的角色限制。工具:hap_help 和 hap_read(只读),以及 hap_run。
  • 技能:skill/happenings.md 是唯一的来源。运行 node build.mjs 即可据此生成每个客户端的副本;如果有副本过期,后台测试会失败。

各客户端

客户端连接器技能
Claude(Web、Desktop、应用)URL:Customize、Connectors、Add custom connector。Team/Enterprise:由所有者在 Organization settings、Connectors 下添加下载 happenings-skill.zip,在 Customize、Skills 下上传
ChatGPTURL:Settings、Apps and connectors、Advanced settings、Developer mode、Create(付费套餐)将 chatgpt-instructions.txt 复制到项目或自定义 GPT 中
Claude Codeclaude mcp add --transport http happenings https://api.happenings.social/mcpmkdir -p ~/.claude/skills/happenings && curl -fsSL https://connect.happenings.social/downloads/ai/SKILL.md -o ~/.claude/skills/happenings/SKILL.md,或通过下方插件一次完成两项设置
Cursor安装链接 cursor://anysphere.cursor-deeplink/mcp/install?name=happenings&config=…,或编辑 ~/.cursor/mcp.json.cursor/rules/happenings.mdc
VS Code(Copilot)安装链接 vscode:mcp/install?…,或在 .vscode/mcp.json 中设置 "type": "http"追加到 AGENTS.md
Windsurf在 ~/.codeium/windsurf/mcp_config.json 中设置 serverUrl追加到 AGENTS.md
Gemini CLIgemini mcp add --transport http happenings https://api.happenings.social/mcp将 GEMINI.md 追加到 ~/.gemini/GEMINI.md,或通过下方扩展一次完成两项设置
Codex CLIcodex mcp add happenings --url https://api.happenings.social/mcp,然后运行 codex mcp login happenings将 AGENTS.md 追加到 ~/.codex/AGENTS.md

以上所有客户端都使用 OAuth 远程 URL,无需本地 stdio 后备方案。为这些客户端加入允许列表的 OAuth 回调:Claude(https://claude.ai/api/mcp/auth_callback)、ChatGPT(https://chatgpt.com/connector_platform_oauth_redirect 和 /connector/oauth/{id})、VS Code(https://vscode.dev/redirect、https://insiders.vscode.dev/redirect)、Cursor 的后备回调(cursor://anysphere.cursor-mcp/oauth/callback),以及供 Cursor、Claude Code、Gemini CLI、Codex 和 Windsurf 使用的环回地址(http://localhost:*、127.0.0.1)。

Bundles(一步完成两项配置)

此文件夹的布局旨在作为独立的公开仓库发布,可同时提供两种配置包:

  • Claude Code 插件市场:.claude-plugin/marketplace.json 和 plugins/happenings(.mcp.json 连接器、技能和四个 命令:/happenings:this-week、:sales、:new-event、:members)。 claude plugin marketplace add <owner>/<repo> && claude plugin install happenings@happenings

  • Gemini CLI 扩展:gemini-extension.json 和 GEMINI.md。 gemini extensions install https://github.com/<owner>/<repo>

  • Claude 插件文件:happenings-plugin.zip,由 build.mjs 根据 plugins/happenings 构建,并由 Connect 托管在 /downloads/ai/happenings-plugin.zip。一次下载即可获得连接器 (.mcp.json)、技能和四个命令,无需使用终端即可在 Claude 中添加。它托管在我们自己的网站上,不依赖公开 仓库。选择 Claude 后,Connect 会将其显示为“Both in one step”。公开网站会在 /skills/happenings-plugin.zip 提供相同文件 (web/apps/user-web/scripts/sync-skills.mjs 会在构建时复制该文件),并从 /mcp 和 /guide/mcp 链接到它。

此 monorepo 为私有,因此前两种配置只能通过此文件夹的已发布副本使用。在 backoffice Worker 上设置 HAPPENINGS_AI_REPO=<owner>/<repo> 后,Connect 会显示这两种命令;在此之前,它会分别显示连接器和技能的配置步骤。

不构建 Claude Desktop 扩展(.mcpb):Desktop 已可通过 URL 使用远程连接器,而 .mcpb 面向本地服务。

MCP Registry

Happenings Connect 已列入官方 MCP Registry (registry.modelcontextprotocol.io),名称为 social.happenings/connect (https://api.happenings.social/mcp);对应条目为 registry/connect.server.json。 读取该 Registry 的目录会从中获取此条目。较早的条目 social.happenings/page-tools 和 social.happenings/page-cli 已弃用: /mcp 于 2026-10-14 成为 Happenings Connect,/page/mcp 是其先前地址。运营方连接器未列出。

social.happenings 命名空间由 happenings.social 上的 TXT 记录证明 (v=MCPv1; k=ed25519; p=…)。私钥未予保留。 要发布更改,请递增条目中的 version,然后:

openssl genpkey -algorithm Ed25519 -out key.pem   # OpenSSL 3, not LibreSSL
openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64
# replace the p= value of the MCPv1 TXT record in Cloudflare with that output
mcp-publisher login dns --domain happenings.social \
  --private-key "$(openssl pkey -in key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n')"
mcp-publisher publish registry/connect.server.json
rm key.pem

编辑技能

  1. 编辑 skill/happenings.md。
  2. node integrations/ai/build.mjs
  3. 提交重新生成的文件(此处以及 web/apps/backoffice/public/downloads/ai/ 中的文件)。

编辑插件命令或清单后也适用相同步骤,因为插件 zip 是根据这些文件构建的。新增命令文件必须添加到 variants.mjs 中的 PLUGIN_SOURCE_FILES;否则测试会失败。插件有更改时,同时递增 plugins/happenings/.claude-plugin/plugin.json 和 .claude-plugin/marketplace.json 中的 version。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。