Connecting AI assistants
Notifly ships a remote MCP server at api.notifly.io/mcp with OAuth 2.1 sign-in and eight operations, served through Code Mode and scoped to your account's permissions. Works with Claude, ChatGPT, Cursor, VS Code, Gemini and any MCP client.
Notifly runs a remote MCP (Model Context Protocol) server so Claude and other AI clients can operate your Notifly account directly — list workflows, look up subscribers, read notification history, and trigger workflows.
- Endpoint:
https://api.notifly.io/mcp(Streamable HTTP transport) - Auth: OAuth 2.1, built into the platform — clients sign in with a standard OAuth flow (including dynamic client registration), so there is no API-key pasting.
Let your coding agent set it up
Copy the sentence and paste it into Claude Code, Codex, Cursor, OpenCode or any other coding agent. It fetches notifly.io/agent-setup/prompt.md and runs it: adds the MCP server, stores your secret key in a git-ignored .env, installs the SDK and verifies the connection. Step-by-step guides for Claude Code, Codex, Cursor, OpenCode, Windsurf and VS Code + GitHub Copilot are at notifly.io/agent-setup.
Connect from any MCP client
Buttons for Claude and ChatGPT open the directory listing; the others install directly or jump to the instructions.
Notifly's MCP server is a hosted Streamable HTTP endpoint with OAuth 2.1 sign-in. There is nothing to install or run: point the client at the URL below and sign in to Notifly when the browser opens. Every client that supports remote MCP servers with OAuth works; the ones below are the common ones.
https://api.notifly.io/mcpOn first use, the client walks through OAuth sign-in and a consent screen; the scopes it is granted are drawn from — and can never exceed — your own live role permissions in Notifly.
Claude (claude.ai, Claude Desktop, Claude Code)
- Fastest: Add to Claude opens Notifly's listing in Claude's connector directory: click Connect, then sign in. The connector syncs to Claude Desktop and mobile.
- Manual (claude.ai / Claude Desktop): add as a custom connector (Customize → Connectors → Add custom connector with the URL pre-filled), then sign in.
- Claude Code:
claude mcp add --transport http notifly https://api.notifly.io/mcpthen/mcpto sign in.
ChatGPT and Codex
- ChatGPT: Settings → Apps & Connectors → Create (developer mode), name it Notifly, paste the URL, authentication OAuth. If Notifly is in the ChatGPT plugins directory, enable it from there.
- Codex CLI: add to
~/.codex/config.toml:
[mcp_servers.notifly]
url = "https://api.notifly.io/mcp"Cursor
One click: Add to Cursor. Or in .cursor/mcp.json:
{ "mcpServers": { "notifly": { "url": "https://api.notifly.io/mcp" } } }VS Code and GitHub Copilot
One click: Add to VS Code. Or run MCP: Add Server → HTTP and paste the URL, which writes to .vscode/mcp.json:
{ "servers": { "notifly": { "type": "http", "url": "https://api.notifly.io/mcp" } } }GitHub Copilot CLI can install Notifly as a plugin instead: copilot plugin install DevinoSolutions/mcp-servers:copilot-plugins/notifly.
Google Antigravity
Install the plugin from the repository (or from the Antigravity Marketplace once listed):
agy plugin install https://github.com/DevinoSolutions/mcp-servers/antigravity-plugins/notiflyOr add the server by hand in ~/.gemini/config/mcp_config.json (Antigravity requires the serverUrl key):
{ "mcpServers": { "notifly": { "serverUrl": "https://api.notifly.io/mcp" } } }Gemini
- Gemini app: Settings → Connected apps → Custom apps → Add a custom app, paste the URL, then mention
@Notiflyin a chat. (Custom apps are currently limited to personal Google accounts in the US.) - Gemini CLI:
gemini extensions install https://github.com/DevinoSolutions/mcp-serversthen/mcp auth notifly, or add{ "mcpServers": { "notifly": { "httpUrl": "https://api.notifly.io/mcp" } } }to~/.gemini/settings.json.
Kiro
One click: Add to Kiro. Or in .kiro/settings/mcp.json:
{ "mcpServers": { "notifly": { "url": "https://api.notifly.io/mcp" } } }Perplexity, Mistral Le Chat, Grok
- Perplexity (Pro, Max, Enterprise): Settings → Connectors → Custom connector, paste the URL, authentication OAuth.
- Mistral Le Chat (all plans): Intelligence → Connectors → Add Connector → Custom MCP Connector, paste the URL.
- Grok: grok.com → Connectors → New connector → Custom, paste the URL.
Other clients
- Replit: Add to Replit, or Integrations → Add MCP server.
- Devin, Windsurf, Zed, JetBrains Junie, Cline, OpenCode: add a remote (HTTP) MCP server with the URL above; each prompts for the OAuth sign-in on first use. Cline can also install it from the Cline marketplace entry using its
llms-install.md.
Tokens are scoped to what you approve on the consent screen; a tool you did not grant is never shown to the assistant. Revoke access at any time under Settings → Connected AI apps — see Revoking access.
Tools
The server exposes two MCP tools, search_tools and execute_typescript (Code Mode). search_tools lists the operations your connection can reach as typed functions. execute_typescript runs a short program that calls them, so a client can run several operations in one round trip. Each call goes through the same checks as a direct tool call.
These are the eight operations behind them:
| Operation | What it does |
|---|---|
list_organizations | List the organizations this connection can act in. Call it first when the connection covers more than one |
trigger_workflow | Fire a workflow for a subscriber (the one write operation) |
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 |
Operations are scope-filtered per request: if your token lacks the permission behind an operation, search_tools does not list it and calling it fails.
Safety rails around writes
trigger_workflow is the only write operation, and it is deliberately guarded:
- It is disabled by default — an organization must explicitly opt its OAuth/MCP tokens into "dangerous" write operations before it can run, under Settings → Connected AI apps → Dangerous operations in the dashboard.
- Even when enabled, execution requires a short-lived confirmation token bound to the exact call arguments, so an assistant must confirm the specific trigger before it fires.
- Every operation that reads or writes organization data goes through the same REST layer as any other API client, so permissions, rate limits, and the audit log apply unchanged.
Revoking access
To disconnect an assistant, open Settings → Connected AI apps in the dashboard (app.notifly.io/settings/connected-apps) and choose Revoke next to the connection. Revoking disconnects the client at once. It has to sign in again to reconnect.
Onboarding a coding agent
For coding agents (Claude Code, Cursor, and similar), Notifly publishes step-by-step machine-readable instructions at notifly.io/agents.md. Paste this prompt into your agent:
Add an agent to my app following instructions from https://notifly.io/agents.mdThe agent follows those instructions to wire a Notifly integration into your application.
Python SDK
notifly-sdk — the official, fully typed Python SDK covering the full Notifly REST surface, sync and async.
Plans and limits
What each Notifly plan includes — monthly event allowance, workflow and team-member caps, activity-feed retention, and which features (RBAC, translations, custom environments, SSO) unlock at which tier.