Knock MCP Server

Knock's hosted MCP server for building workflows and managing notification data in a Knock account

Official · knock.app Remote (hosted) · Streamable HTTP CommunicationDeveloper tools

40 popularity score

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude Codeterminal; then run /mcp in Claude Code to sign in
claude mcp add --transport http knock https://mcp.knock.app/mcp
Claude (desktop and web)Community connector in Claude's connectors directory
https://mcp.knock.app/mcp
Cursormcp.json, under the mcpServers key
{
  "knock": {
    "url": "https://mcp.knock.app/mcp",
    "name": "Knock MCP Server"
  }
}
fxinside an interactive fx session; then run /mcp auth knock --open
/mcp add --transport http knock https://mcp.knock.app/mcp

Settings 1

KNOCK_SERVICE_TOKEN Optional: Optional Knock service token sent as 'Authorization: Bearer' for headless clients; skips OAuth and enables all capabilities.

What it does

Knock is a notification platform: you define workflows that send email, SMS, push, chat and in-app messages to your users. This is Knock's own MCP server, run by Knock at mcp.knock.app/mcp, so there is nothing to install. An assistant connected to it can list and inspect workflows, templates, layouts, partials, guides and environments, build or edit workflows and their steps, trigger a workflow to test an integration, manage users, tenants and objects, read message delivery logs, and search Knock's documentation.

Access is split into capabilities chosen on the OAuth consent screen. Read resources, Manage resources and the Knock agent (the same conversational agent found in the Knock dashboard) are on by default; Debug (environments and message logs), Manage data (users, tenants, objects) and Documentation are off until you tick them. Signing in with a service token instead skips that screen and turns every capability on.

The server is built on the Knock Agent Toolkit, and its docs point to the toolkit's tools reference for the tool list. Its protected-resource metadata names mcp.knock.app itself as the authorization server and accepts bearer tokens in the Authorization header only (https://mcp.knock.app/.well-known/oauth-protected-resource).

What it needs

A Knock account. Interactive clients sign in to it through OAuth in the browser. Headless use (CI, unattended agents) needs a Knock service token (knock_st_...) created under Settings > Service tokens in the dashboard. In Claude Code, run /mcp after adding the server to complete sign-in; in Cursor, sign in when prompted.

Limits

No tool deletes anything; Knock says this is on purpose. Workflows are not exposed as their own tools unless you opt in through Knock or your client. With every capability on the tool list can pass 50, which some clients warn about. It works only against the Knock API: local scaffolding, validation before push and offline work need the Knock CLI. Its docs note Cursor errors when the model is left on automatic selection; pick a model such as claude-sonnet-4.

Who it suits

Suits teams already on Knock who want an assistant to draft workflows, seed test users and tenants, trigger test sends or look into why a message did not arrive, without running anything locally. Because it is hosted and acts on your live account through the Management API, writes are real changes; keep the default capabilities narrow for exploration. For work on a checked-in repository of Knock resources, or offline, Knock points to its CLI instead. It is of no use without a Knock account.

Tools 46

listChannels
Lists the channels set up in the account
listCommits
Lists commits in one environment
commitAllChanges
Commits all pending changes in an environment
promoteAllCommits
Promotes commits from one environment to another
searchDocumentation
Searches the Knock documentation
listEmailLayouts
Lists email layouts in an environment
getEmailLayout
Fetches one email layout by key
createOrUpdateEmailLayout
Creates or changes an email layout
listEnvironments
Lists the environments in the account
listGuides
Lists in-app guides in an environment
getGuide
Fetches one guide by key
createOrUpdateGuide
Creates or changes a guide
listMessageTypes
Lists message types in an environment
createOrUpdateMessageType
Creates or changes a message type
getMessage
Fetches one sent message by ID
getMessageContent
Returns the rendered content of a sent message
getMessageDeliveryLogs
Returns provider delivery logs for a message
getMessageEvents
Returns the event timeline of a message
listObjects
Lists objects in a collection
getObject
Fetches one object from a collection
createOrUpdateObject
Creates or changes an object in a collection
subscribeUsersToObject
Adds users as subscribers to an object
unsubscribeUsersFromObject
Removes user subscriptions from an object
listPartials
Lists template partials in an environment
getPartial
Fetches one partial by key
createOrUpdatePartial
Creates or changes a partial
listTenants
Lists tenants in an environment
getTenant
Fetches one tenant by key
createOrUpdateTenant
Creates or changes a tenant
getUser
Fetches one user by ID
createOrUpdateUser
Creates or changes a user (identify)
getUserPreferences
Reads a user's notification preferences
setUserPreferences
Sets a user's notification preferences
getUserMessages
Lists messages sent to a user
listWorkflows
Lists workflows in an environment
getWorkflow
Fetches one workflow by key
triggerWorkflow
Runs a workflow for given recipients and data
createWorkflow
Creates a new workflow
createOneOffWorkflowSchedule
Schedules a single future workflow run for a user
createOrUpdateEmailStepInWorkflow
Adds or edits an email step in a workflow
createOrUpdateDelayStepInWorkflow
Adds or edits a delay step
createOrUpdateBatchStepInWorkflow
Adds or edits a batch step
createOrUpdateInAppFeedStepInWorkflow
Adds or edits an in-app feed step
createOrUpdatePushStepInWorkflow
Adds or edits a push step
createOrUpdateSmsStepInWorkflow
Adds or edits an SMS step
createOrUpdateChatStepInWorkflow
Adds or edits a chat step

Similar servers