Happenings Page CLI
social.happeningsPublished by happenings.socialOfficial publisherv1.1.0Updated Oct 24, 2026
Every page-admin command of the Happenings CLI for your AI, limited to the pages you choose.
Overview
Remote MCP connector that gives an AI assistant the Happenings page-admin CLI for the event pages an organiser runs, limited by their role.
- What you can do
- Run page-admin commands on the Happenings pages the signed-in organiser chooses, through a single run tool.
- Read page data and get help on available commands with read-only tools.
- Keep every command scoped to the person's role on each page.
- Pair with a bundled skill and slash commands (this week, sales, new event, members) in supported clients.
- When to use it
- For organisers who run Happenings event pages and want an AI assistant to read page data and carry out page-admin tasks without leaving the chat. Useful when the assistant should be limited to specific pages and to the user's existing role.
- Requirements
- A remote streamable HTTP endpoint; no local package or runtime. OAuth 2.1 sign-in with PKCE and dynamic client registration, done from Happenings Connect under Settings, then AI. Signing in selects which pages the connector can access. Network access to the Happenings API.
Installation
In SourceWeft
- Open Happenings Page CLI in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/social.happenings%2Fpage-cli/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"happenings-page-cli": {
"type": "http",
"url": "https://api.happenings.social/page/mcp"
}
}
}README
Happenings for your AI
Connects any MCP-capable AI to the Happenings pages an organiser runs, and
teaches it how to run a page well (HAP-4513). Organisers set it up from Connect,
under Settings, then AI (/beta/settings/ai).
The two parts
- The connector:
https://api.happenings.social/mcp. The page-level Happenings CLI as a remote MCP server (streamable HTTP), behind OAuth 2.1 with PKCE, dynamic client registration and RFC 9207iss. Adding it takes only the URL; signing in picks the pages, and every command stays limited by the person's role on each page. Tools:hap_helpandhap_read(read-only) andhap_run. - The skill:
skill/happenings.mdis the single source.node build.mjsgenerates every client's copy from it; a backoffice test fails when one is stale.
Per client
Every client above uses the remote URL with OAuth; none needs a local stdio
fallback. OAuth callbacks allowlisted for them: Claude
(https://claude.ai/api/mcp/auth_callback), ChatGPT
(https://chatgpt.com/connector_platform_oauth_redirect and
/connector/oauth/{id}), VS Code (https://vscode.dev/redirect,
https://insiders.vscode.dev/redirect), Cursor's fallback
(cursor://anysphere.cursor-mcp/oauth/callback) and loopback
(http://localhost:*, 127.0.0.1) for Cursor, Claude Code, Gemini CLI, Codex
and Windsurf.
Bundles (one step for both)
This folder is laid out to be published as its own public repository, which serves two bundles at once:
-
Claude Code plugin marketplace:
.claude-plugin/marketplace.jsonandplugins/happenings(the.mcp.jsonconnector, the skill and four commands:/happenings:this-week,:sales,:new-event,:members).claude plugin marketplace add <owner>/<repo> && claude plugin install happenings@happenings -
Gemini CLI extension:
gemini-extension.jsonandGEMINI.md.gemini extensions install https://github.com/<owner>/<repo> -
Claude plugin as a file:
happenings-plugin.zip, built bybuild.mjsfromplugins/happeningsand served by Connect at/downloads/ai/happenings-plugin.zip. One download holds the connector (.mcp.json), the skill and the four commands, for adding in Claude without a terminal. It is hosted on our own site and does not depend on the public repository. Connect shows it as "Both in one step" when Claude is picked. The public site serves the same bytes at/skills/happenings-plugin.zip(web/apps/user-web/scripts/sync-skills.mjscopies it at build time) and links it from/mcpand/guide/mcp.
The monorepo is private, so the first two work only from the published copy of
this folder. Set
HAPPENINGS_AI_REPO=<owner>/<repo> on the backoffice Worker and Connect shows
both commands; until then it shows the separate connector and skill steps.
A Claude Desktop extension (.mcpb) is not built: Desktop already takes the
remote connector by URL, and .mcpb targets local servers.
MCP Registry
Happenings Connect is listed in the official MCP Registry
(registry.modelcontextprotocol.io) as social.happenings/connect
(https://api.happenings.social/mcp); the entry is registry/connect.server.json.
Directories that read the registry pick it up from there. The earlier entries
social.happenings/page-tools and social.happenings/page-cli are deprecated:
/mcp became Happenings Connect on 2026-10-14 and /page/mcp is its former
address. The operator connector is not listed.
The social.happenings namespace is proven by a TXT record on
happenings.social (v=MCPv1; k=ed25519; p=…). The private key was not kept.
To publish a change, bump version in the entry, then:
Editing the skill
- Edit
skill/happenings.md. node integrations/ai/build.mjs- Commit the regenerated files (here and in
web/apps/backoffice/public/downloads/ai/).
The same applies after editing a plugin command or manifest, since the plugin
zip is built from them. A new command file must be added to
PLUGIN_SOURCE_FILES in variants.mjs; a test fails if it is not. Bump
version in plugins/happenings/.claude-plugin/plugin.json and
.claude-plugin/marketplace.json together when the plugin changes.
Source: README.md at commit e498045
Tools
0Version history
1- v1.1.0LatestOct 14, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
Other Happenings integrations
Happenings Connect
social.happeningsOfficial publisher
A remote MCP server that lets an AI run an organiser's Happenings pages — events, tickets, sales and members — within the user's page role.
Happenings
social.happenings
Remote MCP connector that lets an AI assistant read and run a Happenings organiser page: events, tickets, sales, members, posts and articles.