notifly
Agent setup / OpenCode

Set up Notifly in OpenCode.

The fastest path: copy the sentence and paste it into OpenCode — it runs every step below itself. Or follow the steps by hand.

01 — Add the MCP server

No key goes into the MCP config — the server signs OpenCode in with OAuth 2.1.

  • opencode.json or opencode.jsonc (project root)
jsonc — MCP config
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "notifly": {
      "type": "remote",
      "url": "https://api.notifly.io/mcp",
      "enabled": true
    }
  }
}
bash — then sign in
opencode mcp auth notifly
02 — Sign in

opencode mcp auth notifly opens the Notifly sign-in and consent page in the browser (OpenCode also starts it on its own when the server first answers 401).

On the consent screen you choose what OpenCode may do; it can never exceed your own role.

Checked against OpenCode’s MCP documentation.

03 — Secret key and SDK

Your code authenticates with the environment’s secret key (https://app.notifly.io → choose the environment (Development or Production) in the sidebar → API Keys → Secret Keys). Keep it in a git-ignored .env as NOTIFLY_SECRET_KEY.

MCP tools

  • trigger_workflow

    Fire a workflow for a subscriber (the one write tool; off until an admin enables it)

  • list_workflows

    Search and page through workflows

  • get_workflow

    Fetch a single workflow's details

  • list_subscribers

    Search and page through subscribers

  • get_subscriber

    Fetch a single subscriber

  • list_topics

    Search and page through topics

  • list_notifications

    Read notification history

Server SDKs

Any other language calls the REST API directly — see the API reference.

04 — Verify

Run it from the project root: the first two lines load NOTIFLY_SECRET_KEY from .env and stop if it is empty, then the request prints HTTP 200 and a body containing totalCount. A 401 with the key loaded means the key is wrong or belongs to a different environment. Inside the agent, calling the list_workflows tool proves the MCP sign-in the same way.

bash — verify
if [ -f .env ]; then set -a; . ./.env; set +a; fi
: "${NOTIFLY_SECRET_KEY:?NOTIFLY_SECRET_KEY is not set: store it in .env first (step 1)}"
curl -sS -w "\nHTTP %{http_code}\n" -H "Authorization: ApiKey $NOTIFLY_SECRET_KEY" "https://api.notifly.io/v2/workflows?limit=1"

The agent reads notifly.io/agent-setup/prompt.md — plain markdown you can read too. Optional next step: to wire a Notifly agent into Slack, Microsoft Teams or another channel, follow notifly.io/agents.md.