Connect over MCP

Connect SnowCoder to Claude Code or Codex

Connect your AI coding assistant to SnowCoder so it can answer ServiceNow questions with release-aware guidance, work with your saved ServiceNow connections, and help you through SnowCoder's governed project workflow.

Setup: about 5 minutesAuth: SnowCoder API keyOn every SnowCoder tier
What you get

What you will be able to do

Once setup is complete, you can ask your assistant to use SnowCoder for tasks such as:

Explain ServiceNow best practices

For a specific release, grounded in SnowCoder knowledge.

Query a saved ServiceNow connection

Bounded, read-only lookups against an instance you connected.

Check projects and builds

Status, readiness, and verification results, in conversation.

Guide the governed workflow

Requirements, build, and deployment, with approvals in the loop.

SnowCoder does not silently deploy changes. ServiceNow writes stay behind SnowCoder's approval and target-confirmation controls, whatever client is calling.
Before you begin

Create your SnowCoder API key

You need

  • A SnowCoder account.
  • A SnowCoder API key.
  • Claude Code or Codex installed and signed in.
  • A terminal where you can run a command.

Create the key

  1. Sign in to SnowCoder and open API Keys from the sidebar.
  2. Choose Create key and name it, for example Claude Code or Codex.
  3. Copy the complete key immediately. It is shown only once and starts with sk_live_.
Keep the key private. Do not paste it into a chat, screenshot, support ticket, or project file. If you lose it, revoke it and create another. To query your instance, first add and test that connection under ServiceNow in SnowCoder; your ServiceNow password is never pasted into Claude Code or Codex.
Choose your client

Pick where you are setting up

Path 1

Set up Claude Code

1

Install Claude Code if needed

If the claude command already works, continue to step 2.

macOS, Linux, or WSL

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell

irm https://claude.ai/install.ps1 | iex

Check with claude --version.

2

Add SnowCoder with your API key

Exit any running Claude Code session. Replace YOUR_SNOWCODER_API_KEY with the key you copied, then run:

claude mcp add --scope user --transport http \
  --header "Authorization: Bearer YOUR_SNOWCODER_API_KEY" \
  snowcoder https://yeti-api.snowcoder.ai/mcp

The user scope makes SnowCoder available in all your projects without adding the key to a project repository.

3

Check the connection

claude mcp list

You should see a server named snowcoder with a connected status.

4

Check SnowCoder inside Claude Code

Start Claude Code, enter /mcp, select snowcoder, and confirm it shows as connected with SnowCoder tools available. There is no browser Authenticate or Allow step: the API key in the authorization header authenticates the connection.

5

Ask your first SnowCoder question

Use SnowCoder to explain the best practices for creating a Business Rule in the ServiceNow Australia release.

Naming SnowCoder explicitly is useful for this first test. You should see Claude Code call a tool from the snowcoder server, then return a ServiceNow-specific answer grounded in the requested release.

Optional live test: "Use SnowCoder to list the five newest incidents from my demo6 ServiceNow connection." This needs an active saved connection. Live queries are bounded and read-only, and a deployment still requires a separate approval.
Success looks like: /mcp shows SnowCoder connected, Claude Code shows a SnowCoder tool call while answering, and the answer is grounded in the requested ServiceNow release rather than a generic reply.
Path 2

Set up Codex

The Codex CLI, IDE, and desktop experiences share the same MCP configuration. Codex reads the SnowCoder key from an environment variable, so most setup issues are a missing variable in the environment that launched Codex.

1

Install Codex if needed

If the codex command already works, continue to step 2. Otherwise follow the current Codex setup documentation, then check with codex --version.

2

Put the API key in your terminal

macOS, Linux, or WSL

export SNOWCODER_API_KEY='sk_live_...'

Windows PowerShell

$env:SNOWCODER_API_KEY='sk_live_...'

This sets the key for the current terminal session. Codex must be started from an environment where SNOWCODER_API_KEY is available. For a persistent install, store the key through your organisation's approved secret or environment-management process.

3

Add SnowCoder

codex mcp add snowcoder \
  --url https://yeti-api.snowcoder.ai/mcp \
  --bearer-token-env-var SNOWCODER_API_KEY

Then check with codex mcp list. You should see snowcoder enabled with SNOWCODER_API_KEY as its Bearer-token environment variable.

4

Allow enough time for longer tasks

Some release research and bounded live queries take longer than Codex's default MCP tool timeout. Open ~/.codex/config.toml (on Windows, %USERPROFILE%\\.codex\\config.toml), find the existing SnowCoder section, and make it look like this:

[mcp_servers.snowcoder]
url = "https://yeti-api.snowcoder.ai/mcp"
bearer_token_env_var = "SNOWCODER_API_KEY"
tool_timeout_sec = 300
required = true

Do not add a second [mcp_servers.snowcoder] section; update the existing one. tool_timeout_sec = 300 allows up to five minutes for a call, and required = true makes Codex report a connection failure at startup instead of quietly continuing without SnowCoder. Restart Codex after saving, then ask your first question with the same prompt shown for Claude Code above.

Success looks like: Codex starts without an MCP warning for SnowCoder, /mcp shows it active, and a SnowCoder tool call appears before a release-grounded answer.
First prompts

Useful things to try first

Start prompts with Use SnowCoder while you are learning the integration. It makes the intended tool path clear.

ServiceNow guidance

Use SnowCoder to explain when I should use a before, after, async, or display Business Rule in the ServiceNow Australia release.

Live, read-only instance query

Use SnowCoder to list the five newest priority 1 incidents from my demo6 connection, including number, state, assignment group, and opened time.

Projects and builds

Use SnowCoder to show my active projects and tell me the next required action for each one.

Project status

Use SnowCoder to check the readiness and latest build status for project <project ID>.

SnowCoder may ask for a project, target instance, approval, or exact instance address when those details are required. That is part of its safety model.

Troubleshooting

If something is not connecting

"A server named snowcoder already exists"

Remove the old entry, then add it again. Claude Code: claude mcp remove snowcoder --scope user, then re-run step 2. Codex: codex mcp remove snowcoder, set SNOWCODER_API_KEY again, then re-add.

The server says "Needs authentication"

Confirm the key is complete, active, and begins with sk_live_. In Claude Code, remove and re-add with the Authorization: Bearer ... header. In Codex, set SNOWCODER_API_KEY in the launching environment, then restart Codex.

Codex says SNOWCODER_API_KEY is not set

Codex did not receive the variable named by its config. Set it before starting Codex from the same session (export SNOWCODER_API_KEY='sk_live_...' then codex). The configuration is fine; only the variable was missing.

The assistant says SnowCoder is unavailable

Check claude mcp list or codex mcp list, confirm the key is active, restart the client after any config change, and test with a prompt beginning Use SnowCoder to. For Codex, keep required = true so a missing connection is visible.

A request times out

In Codex, confirm tool_timeout_sec = 300 is present. Retry once. If it repeatedly stops, record the prompt, time, client, and any conversation or project ID for support.

SnowCoder cannot find my ServiceNow data

MCP being connected does not grant instance access. In SnowCoder, open ServiceNow, confirm the connection is active and its test succeeds, then name it in your prompt. SnowCoder only uses connections owned by or shared with your account.

I used the documentation URL as the server URL

This page (https://snowcoder.ai/mcp/api) and the MCP server (https://yeti-api.snowcoder.ai/mcp) are different addresses. Point your client at the server URL.

Too many requests

Wait for the retry period shown in the error. Rapid reconnecting or polling can extend the disruption. Never include a ServiceNow password, token, or full API key in a support message.

Reference

Technical details for developers

Reference material for servers, CI jobs, and custom MCP clients. Most people do not need it to complete the quickstart above. MCP uses JSON-RPC tool discovery and invocation; it is not an OpenAI-compatible /chat/completions endpoint, and there is no local stdio server to install.

Connection details

Server namesnowcoder
MCP endpointhttps://yeti-api.snowcoder.ai/mcp
TransportStreamable HTTP
AuthenticationSnowCoder API key sent as a Bearer token
Recommended tool timeout300 seconds
Maximum request body10 MB
General rate limit200 requests per minute per authenticated principal

Authentication

Create a key under API Keys in SnowCoder and send it in the HTTP Authorization header as a Bearer token. Claude Code saves that header in its personal, user-scoped configuration. Codex reads the token from the environment variable named by bearer_token_env_var. The API key authenticates the user but never bypasses project approvals or deployment target confirmation. OAuth 2.1 with PKCE is also available for shipped integrations that need scope-limited tokens.

Client configuration files

Codex (~/.codex/config.toml)

The launching environment must provide SNOWCODER_API_KEY. Never put the plaintext key in config.toml or a repository.

[mcp_servers.snowcoder]
url = "https://yeti-api.snowcoder.ai/mcp"
bearer_token_env_var = "SNOWCODER_API_KEY"
tool_timeout_sec = 300
required = true

Claude Code (server definition)

The CLI command in the quickstart is preferred; it creates the correct user-scoped entry. The equivalent definition is below. Never check credentials or Bearer headers into source control.

{
  "mcpServers": {
    "snowcoder": {
      "type": "http",
      "url": "https://yeti-api.snowcoder.ai/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

Tools and capabilities

Clients discover the currently available tool list from the server. The categories include:

  • Yeti knowledge and bounded live-instance assistance
  • Saved ServiceNow targets
  • Projects V5 requirements, settings, approvals, readiness, and events
  • Builds, artifacts, deployment approval, deployment, and verification
  • Governed Data Loader preparation, validation, runs, and rollback

The server evolves, so this page does not promise a fixed tool count. Use your client's MCP tools view, or call tools/list, to inspect the current list and each tool's input schema.

Safety model

  • Knowledge questions do not change ServiceNow.
  • Yeti live queries are bounded and read-only.
  • A saved ServiceNow connection limits SnowCoder to that connection's instance and permissions.
  • Project build and deployment are separate stages.
  • Deployment requires an explicit approval and exact target confirmation.
  • Deployment receipts and verification results are recorded for audit.
  • An MCP client cannot use a prompt to bypass these controls.

Polling and long-running work

The MCP path is non-streaming: each call returns one complete payload. Builds and deployments may continue after the initial tool response. Poll status no more often than every 5 to 15 seconds, use the returned job or project identifiers, and stop polling after a terminal state. Avoid repeatedly submitting the same start action while an existing job is active.

API key handling

The full key is displayed once. Store it in a managed secret store where possible, and rotate or revoke it when access changes. Send it as Authorization: Bearer sk_live_.... Do not place keys in screenshots, prompts, logs, support tickets, source code, shell history, or committed environment files.

Need a hand with your first call?

Contact SnowCoder support and we'll help you get connected, including a short screen-share if useful. Never include a ServiceNow password, token, or full API key in a support message.

Contact us