Open the Snowplow Assistant or connect the MCP server
Both routes end in the same place: a conversation that can read and change your Signals configuration on your behalf. Pick the one that fits where you want to work.
Use the Snowplow Assistant
The Snowplow Assistant is built into Snowplow Console as a chat interface, so there's nothing to install and no credentials to configure. It authenticates with your current Console session and operates with your existing Console permissions, and it asks you to confirm any action that changes your configuration before it proceeds.
Log in to Console, open the assistant, and you're ready to start prompting. If the chat interface doesn't appear, an administrator can enable the assistant for your organization from the Settings section of Console: see Snowplow Assistant for what it covers and how it handles your data.

On this route you can skip straight to defining attributes. The rest of this page connects the MCP server to your own assistant instead.
Install the Snowplow plugin
The Snowplow MCP server is a remote server, hosted by Snowplow: there's no server for you to deploy or maintain. Connecting your assistant to it means pointing your MCP client at the server URL and authenticating with your Snowplow Console account.
The Snowplow plugin bundles the MCP server with six skills, including the signals skill that guides the assistant through Signals workflows like the one in this tutorial. The skills are loaded on demand: when you ask about attribute groups, the assistant automatically engages the signals skill, so there's no slash command to run. The plugin source lives in the snowplow/skills repository.
Install in any assistant
Whichever assistant you use, the recommended way to install is the vendor-neutral open-plugin CLI, which installs the MCP server and the skills together:
npx plugins add snowplow/skills
The CLI detects which agent tools you have on your machine and installs the plugin to all of them. To install for a single one, name it with --target:
npx plugins add snowplow/skills --target claude-code
Install in Claude Code
Claude Code also has a native plugin marketplace, which reads the plugin definition straight from the repository and updates it automatically when the repository changes. Run these two commands inside Claude Code:
/plugin marketplace add snowplow/skills
/plugin install snowplow@snowplow
Other MCP clients
Any MCP-capable client can connect to the server directly. For example, using mcp-remote in a JSON-based client configuration such as Claude Desktop or Cursor:
{
"mcpServers": {
"snowplow-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://console.snowplowanalytics.com/api/agent/mcp",
"3334",
"--static-oauth-client-info",
"{\"client_id\":\"NxCcdyu13Cr4umnIYw70evvUyRXRvyWf\"}"
]
}
}
}
See Snowplow MCP server for tested configurations for Claude.ai, Claude Desktop, Claude Code, Codex, and Cursor. You won't get the bundled skills this way, but all the Signals tools work the same.
Authenticate with your Console account
Use OAuth. It's the simpler path and the one to start with: there's nothing to configure, because every installation route above is already set up for it. The first time your assistant calls a Snowplow tool, a browser window opens for you to log in to Snowplow Console. The assistant then operates with the same permissions as your user account, and can only access your organization's resources.
For most people that's the whole of authentication, and you can go straight to checking the connection.
Optional: authenticate with API keys
OAuth tokens expire, which means occasional re-authentication prompts. If you'd rather have a connection that keeps working without a browser, authenticate with a Console API key instead. You'll need three values:
- Your organization ID, from the Manage organization page in Console settings
- An API key ID, which you get when you create an API key in Console
- The API key itself, which Console shows only once, at creation
Then pass them as headers in your MCP client configuration:
{
"mcpServers": {
"snowplow-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://console.snowplowanalytics.com/api/agent/mcp",
"--header",
"X-Org-Id:<ORGANIZATION_ID>",
"--header",
"X-Api-Key-Id:<API_KEY_ID>",
"--header",
"X-Api-Key:<API_KEY>"
]
}
}
}
By default, API keys are created with all permissions, which may be broader than you intend for an assistant. If you want the assistant to operate with your user account's more limited permissions, stay with OAuth. Store the key securely, and never paste credentials into the assistant's chat.
See Connect to Snowplow Signals for the full list of connection credentials and where to find each one.
Check the connection
Start a new session in your assistant and ask it something that requires a Snowplow tool call:
Which Snowplow organization am I connected to?
The assistant should call the get_organization tool and reply with your organization's name and ID. With OAuth, this first call is what triggers the browser login. Confirm the organization ID matches the one in Console before continuing: it's worth being certain the assistant is pointed at the right account before you start creating resources.