.vscode/mcp.json and.cursor/mcp.json to your .gitignore. Claude Code's .claude/settings.local.json is gitignored by default.Connect Elixium to your AI coding assistant. Access your backlog, update stories, and get AI guidance without leaving your IDE.
Elixium uses the Model Context Protocol (MCP) — the universal standard adopted by GitHub Copilot, Claude, Cursor, Gemini, and more. Configure once, use everywhere.
Install our VS Code extension and run the Setup Wizard— it configures Copilot, Cursor, Claude Code, Codex, and Windsurf automatically. No JSON editing required.
.vsix for air-gapped environments)Ctrl+Shift+P / Cmd+Shift+P) and run "Elixium: Setup Wizard"What the wizard handles for you: correct config format per agent (servers vs mcpServers), safe merge with your existing configs, OS keychain credential storage, .gitignore protection for secret-containing files, multi-board support, and optional Claude slash command scaffolding.
Air-gapped / offline? The extension works fully offline. Your deployment package includes the .vsixfile — sideload it in VS Code and the wizard configures everything against your internal Elixium instance.
Elixium is available in the VS Code MCP Server Gallery — the same place you find GitHub, Notion, Playwright, and other MCP servers. This is the easiest way to get started with GitHub Copilot or any VS Code AI agent.
Ctrl+Shift+P / Cmd+Shift+P)ELIXIUM_API_KEY — Your API key from Profile > your workspace card > Generate KeyELIXIUM_API_URL — Your workspace URL, e.g. https://your-team.elixium.ai/apiELIXIUM_BOARD_SLUG — (optional) The board to connect to, defaults to auto-detectELIXIUM_USER_EMAIL — (optional) Your email for story attributionWhy use the gallery? No npx, no JSON editing, no stdout issues. VS Code handles installation and lifecycle management for you. Updates are picked up automatically when new versions are published.
Once connected, the Elixium AI Companion adds these capabilities to your IDE:
A dedicated sidebar showing Current and Backlog stories with points, state, and objectives. Warm-starts from cache so your board is visible instantly. Click any story to open in the board or create a git branch.
Create stories, move between lanes, set states, start story flows, and copy implementation briefs — all from the Command Palette. Guardrails prevent accidental story advancement.
Background polling detects story changes every 60 seconds. Get notified when stories move lanes or change state without checking the board.
One setup wizard configures Copilot, Cursor, Claude Code, Codex, and Windsurf simultaneously. Each gets the correct config format with your credentials stored securely.
If you prefer editing JSON directly, or for environments where you can't install the extension:
ELIXIUM_API_KEY. To rotate, clickGenerate Key again on the same workspace card — the old key is invalidated as soon as the new one is created.my-project from elixium.ai/tenant/myteam/board/my-project).The Elixium MCP server runs via npx (included with Node.js). No separate installation is required — it downloads automatically on first use.
# Check if Node.js is installed
node --version
# If not installed, get it from nodejs.org or use:
brew install node # macOS
While npx auto-downloads on first run, you can pre-install globally for faster startup:
npm install -g @elixium.ai/mcp-server
If globally installed, change "command": "npx" to "command": "elixium-mcp" in your config.
💡 Tip: The configs below use npx -y @elixium.ai/mcp-server@latest which always fetches the latest version. This is the recommended approach.
Using the Elixium AI Companion extension? The Setup Wizard configures all of these agents automatically. The manual configs below are for reference or for environments without the extension.
MCP support is GA as of VS Code 1.102 (July 2025). Copilot can now use Elixium tools natively.
Easiest: Use the VS Code MCP Galleryabove — search "elixium" and one-click install. The manual config below is for advanced setups.
Manual setup — create .vscode/mcp.json in your project:
{
"servers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}Note: Copilot uses servers (not mcpServers).
Configure in your global or workspace MCP settings.
{
"mcpServers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}Create .cursor/mcp.json in your project:
{
"mcpServers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}Claude Code runs as a VS Code extension with full MCP support. Add the config to your project or user settings.
Option 1: Project-level — create .claude/settings.local.json in your project:
{
"mcpServers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}Option 2: User-level — add to ~/.claude/settings.json to share across all projects:
{
"mcpServers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}💡 Tip: Use .claude/settings.local.json (not settings.json) for project-level config — the .local variant is gitignored by default, keeping your API key out of source control.
⚠️ Watch out for duplicate config files: Claude Code can also read MCP config from a .mcp.json file in your project root. If both .mcp.json and .claude/settings.local.json exist, .mcp.json takes precedence. If you regenerate your API key, make sure to update all config files — a stale key in .mcp.json will silently override your updated key in .claude/settings.local.json, causing "Invalid API Key" errors even though the new key looks correct. We recommend using only one config file to avoid this issue.
Create .codex/mcp.json in your project:
{
"mcpServers": {
"elixium": {
"command": "npx",
"args": ["-y", "@elixium.ai/mcp-server@latest"],
"env": {
"ELIXIUM_API_KEY": "<YOUR_API_KEY>",
"ELIXIUM_API_URL": "https://<YOUR_TENANT>.elixium.ai/api",
"ELIXIUM_BOARD_SLUG": "main",
"ELIXIUM_USER_EMAIL": "<YOUR_EMAIL>"
}
}
}
}Configure the MCP server using these environment variables:
| Variable | Required | Description |
|---|---|---|
| ELIXIUM_API_KEY | Yes | Your workspace API key from Settings |
| ELIXIUM_API_URL | Yes | Your tenant API URL (e.g., https://acme.elixium.ai/api) |
| ELIXIUM_BOARD_SLUG | Recommended | Board slug to connect to (defaults to main) |
| ELIXIUM_USER_EMAIL | Optional | Your email address. Used as the "Requested by" field when creating stories via AI. If not set, defaults to the API key owner's email. |
💡 Tip: Setting ELIXIUM_USER_EMAIL ensures stories you create through your AI assistant are attributed to you, not the workspace API key owner.
Once connected, your AI agent can use these tools:
list_storiesList all stories on the board
get_iteration_contextGet Current + Backlog for planning
create_storyCreate a new story with AC
update_storyUpdate story state, lane, or description
prepare_implementationFetch full context for a story
record_learningLog what you learned from a story
list_epicsList all epics on the roadmap
list_objectivesList workspace objectives (OKRs)
Add a rules file to your repo so the AI knows how to use Elixium effectively. The Setup Wizard can also scaffold Claude slash commands (.claude/commands/) for common workflows like starting stories and checking board status.
.github/copilot-instructions.md.cursor/rules/elixium.md.windsurf/rules/elixium.mdCLAUDE.md at repo rootAGENTS.md at repo root# Elixium Integration At the start of each session: 1. Call `get_iteration_context` to load the board 2. Review Current lane for active work When implementing a story: 1. Call `prepare_implementation` for full context 2. Follow TDD: write tests first 3. Update story state to "started" 4. Commit with story ID in message When complete: 1. Update story state to "finished" 2. Call `record_learning` with outcomes
Initialize ready-to-use workflows in your project:
# Initialize Elixium workflows
npx @elixium.ai/mcp-server init
This creates .agent/workflows/ with:
load-board-context.md — Load board at session startimplement-story.md — Full story implementation flowmanage-board.md — Create/update stories and epicsEach API key is hardcoded to your workspace. Even if a key is compromised, it only provides access to your specific projects. Keys can be rotated or revoked at any time from workspace settings.
.vscode/mcp.json and.cursor/mcp.json to your .gitignore. Claude Code's .claude/settings.local.json is gitignored by default..gitignore. Credentials are pre-filled on subsequent runs without being stored in plaintext on disk.Ctrl+C or /exit, then relaunch."servers", all others use "mcpServers". Using the wrong key silently fails."Invalid API Key" or "401 Unauthorized"
ELIXIUM_API_URL includes your tenant subdomain (e.g., https://my-team.elixium.ai/api, not https://elixium.ai/api).mcp.json (project root) and .claude/settings.local.json, the .mcp.json file takes precedence. A stale key in .mcp.json will override your updated key. Run cat /proc/$(pgrep -f elixium-mcp)/environ | tr '\0' '\n' | grep ELIXIUM_API_KEY to verify which key the running server is actually using."Board not found"
ELIXIUM_BOARD_SLUG matches your board URL exactly (case-sensitive)main — check your board URL to verify"Connection closed" or "Failed to parse message"
# Install once
npm install -g @elixium.ai/mcp-server
cmd /c:which npx (macOS/Linux) or where npx (Windows) to find itnpm install -g @elixium.ai/mcp-server also fixes thisTools not appearing after connection
env block🟣 Claude Code
/mcp to see all server connection statuses/doctor to validate config files and diagnose errors.claude/settings.local.json (project) or ~/.claude/settings.json (user).mcp.json file exists in your project root, it takes priority over .claude/settings.local.json. Use only one to avoid stale-key issues when regenerating API keys.🐙 GitHub Copilot (VS Code)
.vscode/mcp.json uses "servers" (not "mcpServers")🎯 Cursor
.cursor/mcp.json in project rootStill stuck? If none of the above helps, check that the config JSON is valid (no trailing commas, correct brackets). You can validate it by pasting into jsonlint.com or running cat your-config.json | python3 -m json.tool.
Book a quick call with our team to get set up.
📅 Book a 30-min Demo