From 38a3aee1b9ad137c78a6e23f761a603e065a13af Mon Sep 17 00:00:00 2001 From: Shay Howe <513413+shayhowe@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:21:04 -0500 Subject: [PATCH] Add portable mcp.json using ActiveCampaign's shared MCP endpoint The shared endpoint https://mcp.app-us1.com/http removes the per-account-URL blocker that kept mcp.json out of the initial Agent Plugins adoption: OAuth links the connection to the user's account, so a fixed URL now works for every install. - Add root mcp.json (Agent Plugins v1.0.0 MCP config, streamable-http), validated against the published schema; endpoint verified live (returns 401 challenge, as expected for OAuth-protected MCP). - README: mark the MCP connection portable in the compatibility matrix, add an Agent Plugins-client setup path (zero manual MCP config), and switch the Cursor/Codex manual snippets to the shared endpoint. - CHANGELOG: record the portable mcp.json under 0.3.0 and drop the now-obsolete "no portable mcp.json" note. Claude Code is unchanged and keeps its per-account URL via userConfig. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 4 ++-- README.md | 22 ++++++++++++---------- mcp.json | 9 +++++++++ 3 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 mcp.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 40b3717..9328d9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ This project follows [Semantic Versioning](https://semver.org/). ### Added - **Portable `plugin.json` manifest** at the repo root, conforming to the open [Agent Plugins specification v1.0.0](https://agent-plugins.org/), so the plugin is recognizable by any compliant client — not just Claude. +- **Portable `mcp.json`** at the repo root (Agent Plugins v1.0.0 MCP config) connecting compliant clients to ActiveCampaign's shared MCP endpoint, `https://mcp.app-us1.com/http`, via streamable HTTP; OAuth links the connection to your account on first use. - `license` and `compatibility` frontmatter on all six skills per the [Agent Skills specification](https://agentskills.io/), flagging the ActiveCampaign MCP server requirement for clients installing the skills standalone. - README: compatibility matrix (portable vs. Claude Code-specific components) and setup instructions for Codex, Cursor, and other Agent Skills / MCP clients. @@ -14,8 +15,7 @@ This project follows [Semantic Versioning](https://semver.org/). - README reframed from Claude-only to the cross-client Agent Plugins format. ### Notes -- No portable `mcp.json` is shipped: the Agent Plugins v1 MCP format requires a fixed server URL, and ActiveCampaign MCP Server URLs are per-account. Claude Code continues to collect the URL via `userConfig`; other clients configure the MCP server directly (see README Setup). -- Claude Code behavior is unchanged — `.claude-plugin/plugin.json`, `.mcp.json`, commands, agents, and skills all work exactly as in 0.2.0. +- Claude Code behavior is unchanged — `.claude-plugin/plugin.json`, `.mcp.json` (per-account URL via `userConfig`), commands, agents, and skills all work exactly as in 0.2.0. The portable `mcp.json` is used by Agent Plugins-compatible clients; Agent Skills-only clients configure the MCP server manually (see README Setup). ## [0.2.0] — launch preparation diff --git a/README.md b/README.md index 10189fa..fed0d95 100644 --- a/README.md +++ b/README.md @@ -64,12 +64,12 @@ This repository follows the [Agent Plugins specification v1.0.0](https://agent-p |-----------|-------------|-------| | `plugin.json` | Portable ([Agent Plugins](https://agent-plugins.org/) manifest) | Identifies the plugin for any compliant client | | `skills/` | Portable ([Agent Skills](https://agentskills.io/)) | The six skills work in any skills-capable client — Claude, Codex, Cursor, and others | -| MCP connection | Per-client setup | Your MCP server URL is unique to your account, so each client configures it directly (see [Setup](#setup)) | +| `mcp.json` | Portable ([Agent Plugins](https://agent-plugins.org/) MCP config) | Connects compliant clients to ActiveCampaign's shared MCP endpoint; OAuth links it to your account | | `commands/` | Claude Code only | Slash commands aren't part of the portable standard yet | | `agents/` | Claude Code only | Subagents aren't part of the portable standard yet | | `.claude-plugin/`, `.mcp.json` | Claude Code only | Claude Code's native plugin manifest and MCP config | -The plugin intentionally ships no portable `mcp.json`: the Agent Plugins v1 MCP format requires a fixed server URL, and your ActiveCampaign MCP Server URL is per-account. Claude Code collects the URL at install time; other clients add the server through their own MCP configuration. +The portable `mcp.json` points at ActiveCampaign's shared MCP endpoint (`https://mcp.app-us1.com/http`); OAuth authorization links the connection to your account on first use. Claude Code uses its own `.mcp.json` and collects your account-specific MCP Server URL at install time. Clients that support Agent Skills but not the full plugin format can add the server manually (see [Setup](#setup)). --- @@ -95,27 +95,29 @@ Every change follows a **read → preview → confirm → execute → verify** f ## Setup -Every setup path needs your **ActiveCampaign MCP Server URL**. Find it in your ActiveCampaign account under **Settings > Developer > MCP**. It looks like `https://yoursubdomain.activehosted.com/api/agents/mcp/http`. - ### Claude Code / Claude Co-Work 1. **Install** the ActiveCampaign plugin. -2. **Enter your ActiveCampaign MCP Server URL** when prompted. +2. **Enter your ActiveCampaign MCP Server URL** when prompted. Find it in your ActiveCampaign account under **Settings > Developer > MCP**. It looks like `https://yoursubdomain.activehosted.com/api/agents/mcp/http`. 3. **Authorize** Claude to access your ActiveCampaign account (OAuth). 4. **Start using it** — ask a question, run a command, or ask Claude to set something up. +### Agent Plugins-compatible clients + +If your client supports the [Agent Plugins](https://agent-plugins.org/) format, install the plugin and you're set: the bundled `mcp.json` connects to ActiveCampaign's shared MCP endpoint (`https://mcp.app-us1.com/http`), and OAuth links it to your account on first use. + ### Codex, Cursor, and other Agent Skills clients -The portable pieces are the six skills and the MCP connection: +If your client supports skills but not the full plugin format, the portable pieces are the six skills and the MCP connection: 1. **Install the skills.** Each folder under `skills/` is a self-contained [Agent Skill](https://agentskills.io/). Copy the folders into your client's skills directory (for example `~/.codex/skills/` for Codex — check your client's documentation for the exact location). -2. **Connect the MCP server** through your client's MCP configuration, using your account's URL. For example, in Cursor's `mcp.json`: +2. **Connect the MCP server** through your client's MCP configuration, using the shared endpoint. For example, in Cursor's `mcp.json`: ```json { "mcpServers": { "activecampaign": { - "url": "https://yoursubdomain.activehosted.com/api/agents/mcp/http" + "url": "https://mcp.app-us1.com/http" } } } @@ -125,10 +127,10 @@ The portable pieces are the six skills and the MCP connection: ```toml [mcp_servers.activecampaign] - url = "https://yoursubdomain.activehosted.com/api/agents/mcp/http" + url = "https://mcp.app-us1.com/http" ``` - Syntax varies by client and version — see your client's MCP documentation. + Syntax varies by client and version — see your client's MCP documentation. Your account-specific MCP URL (**Settings > Developer > MCP** in ActiveCampaign) works here too. 3. **Authorize** access (OAuth) when your client first connects to the server. > The `/activecampaign:*` commands and the two agents are Claude Code features and won't appear in other clients; the skills carry the core expertise everywhere. diff --git a/mcp.json b/mcp.json new file mode 100644 index 0000000..842db57 --- /dev/null +++ b/mcp.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", + "mcpServers": { + "activecampaign": { + "type": "streamable-http", + "url": "https://mcp.app-us1.com/http" + } + } +}