Documentation
⭐️ Announcing Sigrid IDE integrations for Visual Studio Code, JetBrains, and Mendix Studio Pro.
You can use these integrations to check Sigrid findings as you work on your code, triage findings, and export findings to your issue tracker if you're not able to fix them right away.
Have you tried them? We'd love your feedback: Share it in our short survey.

Installing Sigrid Axis

Sigrid Axis consists of the Sigrid Axis MCP server and a set of skills. Both follow open standards, so Axis works in any agentic tool that supports MCP and skills. Installing it means connecting the MCP server, installing the skills, and adding the Guardrails instruction to your repository. In Claude Code, a plugin does all three in one step.

Prerequisites

Install the Claude Code plugin

In Claude Code, one plugin installs the MCP server, the skills, and a hook that reminds the agent to run the Guardrails check. Run these commands:

/plugin marketplace add Software-Improvement-Group/agent-integrations
/plugin install axis@sigrid
/axis:setup

On first use, Claude Code asks for your Sigrid API token and stores it in your operating system’s keychain. The setup skill detects your Sigrid system and writes .sigrid/profile.md. Run it once in each repository and commit the file. For changing the token later and for the plugin options, see configuration.

We would also turn on auto-update: run /plugin, go to Marketplaces, select sigrid, and choose Enable auto-update.

To check that it works, ask for a Guardrails check. No findings means a pass:

Run the Sigrid guardrails quality check on <a file you changed recently>.

The plugin connects to sigrid-says.com only. For Sigrid On-Premise, see connecting an AI coding assistant.

Install in other agentic tools

Outside Claude Code, you set up what the plugin would install for you, in four steps. The same steps apply to Claude Code without the plugin.

1. Connect the MCP server

Every agentic tool that supports MCP can connect to the Sigrid Axis MCP server at https://sigrid-says.com/mcp. The snippets below name the server axis and send your Sigrid API token in an Authorization header.

Most tools can read the token from an environment variable, so it never ends up in a configuration file you might commit. Set SIGRID_TOKEN once, in your shell profile on macOS and Linux:

export SIGRID_TOKEN=<your_sigrid_token>

On Windows, run setx SIGRID_TOKEN <your_sigrid_token>. Restart the tool afterwards, so it picks up the variable. The change-feedback skill reads the same variable when it runs Sigrid CI. For the tools that can’t read a variable, you paste the token into the configuration. Keep that file out of version control.

Open the section for your tool:

VS Code

VS Code with GitHub Copilot doesn’t read environment variables in headers yet, so this configuration asks for the token once and stores it securely. Put it in .vscode/mcp.json in your repository, or run MCP: Open User Configuration from the command palette to add it for your user account:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "sigrid-token",
      "description": "Sigrid API token",
      "password": true
    }
  ],
  "servers": {
    "axis": {
      "type": "http",
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sigrid-token}"
      }
    }
  }
}

VS Code asks for the token the first time it starts the server. Check that axis appears in the tools list of the chat view.

Visual Studio

To connect Visual Studio with GitHub Copilot:

  1. Connect your GitHub account and open GitHub Copilot.
  2. Below the chat box, at the bottom left, select Agent mode.
  3. Click the + button to add an MCP server. Enter the name axis and the URL https://sigrid-says.com/mcp.
  4. Choose Additional headers and add Authorization: Bearer <your_sigrid_token>.
  5. Save and close the window. If the token is valid, the server appears in the tools list.
GitHub Copilot in JetBrains IDEs

In IntelliJ, PyCharm, WebStorm, and the other JetBrains IDEs, open Copilot Chat, click the tools icon, and choose Add MCP Tools. Add this configuration, which puts the header under requestInit:

{
  "servers": {
    "axis": {
      "url": "https://sigrid-says.com/mcp",
      "requestInit": {
        "headers": {
          "Authorization": "Bearer <your_sigrid_token>"
        }
      }
    }
  }
}
GitHub Copilot CLI

Add the server with this command. Your shell fills in the token, and the CLI stores it in ~/.copilot/mcp-config.json:

copilot mcp add --transport http --header "Authorization: Bearer $SIGRID_TOKEN" axis https://sigrid-says.com/mcp
Claude Code

Without the plugin, add the server with this command and restart Claude Code:

claude mcp add --transport http --scope user axis https://sigrid-says.com/mcp --header "Authorization: Bearer $SIGRID_TOKEN"

This gives you the MCP tools only. The skills and the Guardrails hook come with the plugin.

Cursor

Put this in .cursor/mcp.json in your repository, or in ~/.cursor/mcp.json for your user account. The Cursor CLI reads the same files:

{
  "mcpServers": {
    "axis": {
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:SIGRID_TOKEN}"
      }
    }
  }
}
OpenAI Codex

The Codex CLI, IDE extension, and app share one configuration. Add the server with this command:

codex mcp add axis --url https://sigrid-says.com/mcp --bearer-token-env-var SIGRID_TOKEN

The command writes this to ~/.codex/config.toml, which you can also edit by hand:

[mcp_servers.axis]
url = "https://sigrid-says.com/mcp"
bearer_token_env_var = "SIGRID_TOKEN"
Gemini CLI

Add the server for your user account with this command. Gemini Code Assist’s agent mode reads the same configuration:

gemini mcp add --transport http --scope user --header "Authorization: Bearer $SIGRID_TOKEN" axis https://sigrid-says.com/mcp

To write it in ~/.gemini/settings.json or .gemini/settings.json by hand, use httpUrl. With url, Gemini CLI connects over the older SSE transport:

{
  "mcpServers": {
    "axis": {
      "httpUrl": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer $SIGRID_TOKEN"
      }
    }
  }
}
JetBrains AI Assistant

Go to Settings > Tools > AI Assistant > Model Context Protocol (MCP) and add this configuration. It runs the mcp-remote proxy, so install Node first:

{
  "mcpServers": {
    "axis": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://sigrid-says.com/mcp",
        "--header",
        "Authorization: Bearer <your_sigrid_token>"
      ]
    }
  }
}

If npx can’t find the proxy, install it globally first with npm install -g mcp-remote.

Junie

The Junie plugin and the Junie CLI share one configuration. Put this in ~/.junie/mcp/mcp.json for your user account:

{
  "mcpServers": {
    "axis": {
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer <your_sigrid_token>"
      }
    }
  }
}
Google Antigravity

The Antigravity editor and CLI share one configuration. Put this in ~/.gemini/config/mcp_config.json. Antigravity only accepts the serverUrl key, not url:

{
  "mcpServers": {
    "axis": {
      "serverUrl": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer <your_sigrid_token>"
      }
    }
  }
}
OpenCode

Put this in opencode.json in your repository, or in ~/.config/opencode/opencode.json for your user account, then restart OpenCode. OpenCode writes variables as {env:NAME}, without a dollar sign:

{
  "mcp": {
    "axis": {
      "type": "remote",
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer {env:SIGRID_TOKEN}"
      }
    }
  }
}
Devin Desktop

Devin Desktop, formerly Windsurf, shares its configuration with the Devin CLI. Put this in ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json on Windows), or in .devin/mcp_config.json in your repository, and restart Devin Desktop:

{
  "mcpServers": {
    "axis": {
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:SIGRID_TOKEN}"
      }
    }
  }
}

If you still use the older Cascade agent, the URL key has to be serverUrl.

Kiro

Put this in .kiro/settings/mcp.json in your repository, or in ~/.kiro/settings/mcp.json for your user account:

{
  "mcpServers": {
    "axis": {
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer ${SIGRID_TOKEN}"
      }
    }
  }
}

Kiro only fills in variables you approved. Add SIGRID_TOKEN to the Mcp Approved Env Vars setting, or approve it when Kiro asks.

Zed

Run zed: open settings file and add the server under context_servers:

{
  "context_servers": {
    "axis": {
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer <your_sigrid_token>"
      }
    }
  }
}
Cline

Open the MCP servers panel in Cline, choose Configure MCP Servers, and add:

{
  "mcpServers": {
    "axis": {
      "type": "streamableHttp",
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer <your_sigrid_token>"
      }
    }
  }
}
IBM Bob

Open the settings with the cogwheel icon in the Bob chat window and go to MCP. Configure a global server, stored in ~/.bob/settings/mcp.json, or a project server, stored in .bob/mcp.json:

{
  "mcpServers": {
    "axis": {
      "type": "streamable-http",
      "url": "https://sigrid-says.com/mcp",
      "headers": {
        "Authorization": "Bearer <your_sigrid_token>"
      }
    }
  }
}

Save it and check the connection on the settings page. Bob Shell has its own file, ~/.bob/mcp_settings.json, where the URL key is httpURL.

2. Install the skills

The skills command line tool installs them from GitHub, and it needs Node. Run this in the root of your repository:

npx skills add Software-Improvement-Group/agent-integrations --skill '*'

It asks which of your agentic tools to install the skills for, and --skill '*' installs every skill. Keep them together, because they hand work to one another: autofix, for example, reads the plan that diagnose writes. Run npx skills update to get new versions.

3. Set up your repository

Run the setup skill once in each repository. It records your Sigrid system in .sigrid/profile.md, which you commit. You can also write that file yourself, and edit it to change how the skills behave in your repository. See the Sigrid profile.

4. Add the Guardrails instruction

The agent only calls the Guardrails check when something tells it to. In Claude Code, the plugin’s hook does that. Everywhere else, including Claude Code without the plugin, this instruction does.

Put this text in AGENTS.md at the root of your repository, which Cursor, GitHub Copilot, Devin, and most other agentic tools read at the start of every session. It is the same text the Claude Code hook adds:

Principles: single responsibility, self-documenting code, simple control flow.
Before reporting done:
1. Run Sigrid guardrails_quality_check on changed production code (skip tests, docs, generated).
2. Fix all maintainability findings judged against the principles — skip only if the code already honors them; say which and why.
3. Security findings: fix if contained, otherwise flag to user.

In Claude Code without the plugin, put it in CLAUDE.md. To adjust the instruction to your codebase, see set up the quality gate.

Upgrade from the Sigrid AI Toolkit

The Claude Code plugin used to be called sigrid, installed from the sigrid-ai-toolkit marketplace. It is now axis, installed from the sigrid marketplace, and a few things changed along with the name.

1. Replace the plugin

Remove the old plugin and its marketplace:

/plugin uninstall sigrid@sigrid-ai-toolkit
/plugin marketplace remove sigrid-ai-toolkit

Then install the new plugin. If you had turned off one of the hook options, turn it off again, because they have new names: Nudge to run guardrails and Nudge to use architecture-explorer. See plugin options.

2. Update your permission allowlists

The MCP tools from the plugin have a new prefix, mcp__plugin_axis_axis__ instead of mcp__plugin_sigrid_sigrid__. If you pre-allowed the Sigrid tools in .claude/settings.json, .claude/settings.local.json, or your user settings, replace the old prefix with the new one:

{
  "permissions": {
    "allow": ["mcp__plugin_axis_axis__*"]
  }
}

Without this change nothing breaks, but the agent quietly starts asking for permission before every Sigrid tool call again.

3. Move your profile into the repository

The old plugin kept one profile per user, in ~/.claude/plugins/data/sigrid-sigrid-ai-toolkit/CLAUDE.md. Sigrid Axis keeps one per repository instead, in .sigrid/profile.md, committed so your team shares it. Run /setup in each repository. When it finds your old profile, it offers to copy the system that matches the repository, and it leaves the old file in place.

4. Learn the new skill names

The skills are now one skill per job, and an argument picks the model. They also stop earlier than before: they commit locally and write statuses to Sigrid, but they never push, open merge requests or pull requests, or open issues. See the skills reference for what each one does.

Old skill New skill
change-feedback change-feedback
architecture-drift change-feedback architecture
explore-codebase (agent) architecture-explorer (agent) and explore-architecture
sigrid-diagnose diagnose maintainability
architecture-diagnose diagnose architecture
sigrid-improve autofix maintainability
architecture-improve autofix architecture
resolve-security-findings triage-findings security, then autofix security
fix-osh-risk triage-findings open-source, then autofix open-source
setup setup, now per repository
osh-researcher (agent) osh-researcher (agent)

Reliability findings are new: triage-findings reliability and autofix reliability. The old architecture-drift still works for now, as an alias of change-feedback architecture.

Manual MCP configurations

If you connected the MCP server by hand, it keeps working as it is. The server name in your configuration is your own choice, so renaming it from Sigrid to axis is optional.

On this page