Agent Integration
Connect Elixium to Claude and your AI coding assistants. Access your backlog, update stories, and get AI guidance — one approach for every agent: point it at an Elixium MCP endpoint.
Agent connections
Jira, Confluence and Slack reach your agent through the vendors' own MCP servers, running alongside the Elixium MCP.
Elixium holds no Atlassian or Slack credential and copies none of their content. Each developer's agent authenticates as you, reads what you can read, and any update it posts back carries your identity.
Setup
- Add the Atlassian MCP and/or the Slack MCP to the same agent client that runs the Elixium MCP. Both authenticate as you; no admin step in Elixium.
- Paste the full URL of a Jira issue, Confluence page or Slack thread into a story's text. Elixium lists it under External References when an agent orients on the story, and offers to mirror a transition to a linked Jira issue.
Bare issue keys such as PROJ-412 are ignored on purpose: Elixium's own readable IDs (INDTEK-812) share that shape and fill our story bodies, so a bare-key matcher would put phantom tickets in every brief. Paste the link.
Two limits to know
- Elixium cannot fence content it does not fetch. Your agent reads the vendor directly, so treat an unfamiliar page or thread as untrusted input; the boundary is your agent client's, not Elixium's.
- Elixium cannot see what those calls cost. Its usage reporting covers only its own contribution; take the vendor-side figure from your agent client.
One Integration, Every AI Agent
Elixium uses the Model Context Protocol (MCP) — the universal standard adopted by GitHub Copilot, Claude, Cursor, Gemini, and more. Configure once, use everywhere.
One Path Across Every Subscription
Every deployment model works the same way — your agent connects to an MCP endpoint. Only the endpoint (and how you authenticate to it) differs:
| Deployment | Endpoint | Auth |
|---|---|---|
| Hosted (SaaS) | https://connect.elixium.ai/mcp | OAuth 2.1 sign-in — no key, nothing stored in files |
| Self-hosted, including air-gapped | https://connect.<your-domain>/mcp | OAuth via your deployment's identity provider (endpoint discovery metadata) |
The per-agent instructions below show the hosted URL; self-hosted deployments substitute their own connect URL. The connector is deployed with Elixium itself, so an air-gapped install serves it inside your network and no traffic leaves it.
Claude (Desktop & Web): One-Click Connector
For the Claude desktop app and claude.ai, connect Elixium as a remote MCP connector: paste one URL and sign in. No API key, no config files, nothing to install.
- In Claude, open Settings → Connectors → Add custom connector.
- Paste the connector URL:https://connect.elixium.ai/mcp
- Click Add, then Connect — Claude opens an Elixium sign-in page.
- Sign in (Google, GitHub, or Microsoft), choose the workspace to connect, and click Allow.
- Done — Claude can now read and update that workspace's board. Try: "What stories are in Current?"
Why the connector beats a pasted key: you sign in with OAuth 2.1 instead of copying an API key. The connection is scoped to the one workspace you pick, carries your own permission level, can be revoked anytime, and refreshes automatically so you stay connected — no long-lived secret living on your machine.
Claude Desktop tip: if clicking Add shows "server URL already exists", fully restart the Claude desktop app — the connector will be in your list when it reopens. This is a known Claude Desktop quirk, not an Elixium error.
Connect Your Coding Agent
Every agent uses the same remote entry: one URL, OAuth sign-in on first use, no credential in any file. Self-hosted and air-gapped deployments use their own connect host in place of connect.elixium.ai.
🟣 Claude Code
Fastest: one command, then sign in when prompted:
claude mcp add --transport http elixium https://connect.elixium.ai/mcp
Or create .mcp.json in your project root (shared with your team; the X-Elixium-Board header pins the board for this repo):
{
"mcpServers": {
"elixium": {
"type": "http",
"url": "https://connect.elixium.ai/mcp",
"headers": { "X-Elixium-Board": "<YOUR_BOARD_SLUG>" }
}
}
}Run /mcp inside Claude Code to check the connection and complete the OAuth sign-in.
🐙 GitHub Copilot (VS Code)
MCP support is GA as of VS Code 1.102. Create .vscode/mcp.json in your project — note Copilot uses the servers root key:
{
"servers": {
"elixium": {
"type": "http",
"url": "https://connect.elixium.ai/mcp",
"headers": { "X-Elixium-Board": "<YOUR_BOARD_SLUG>" }
}
}
}🎯 Cursor
Create .cursor/mcp.json in your project:
{
"mcpServers": {
"elixium": {
"type": "http",
"url": "https://connect.elixium.ai/mcp",
"headers": { "X-Elixium-Board": "<YOUR_BOARD_SLUG>" }
}
}
}Cursor signs in via OAuth on first use. Check Settings → MCP for connection status.
✨ Gemini / Google Antigravity
Gemini CLI: add the entry to ~/.gemini/settings.json (or the project's .gemini/settings.json):
{
"mcpServers": {
"elixium": {
"httpUrl": "https://connect.elixium.ai/mcp"
}
}
}Antigravity uses the same entry with "serverUrl" in place of "httpUrl". Both sign in via OAuth on first use.
⌨️ OpenAI Codex CLI
Add the server to ~/.codex/config.toml, then run codex mcp login elixium to sign in:
[mcp_servers.elixium] url = "https://connect.elixium.ai/mcp"
Codex does not support per-server request headers — pin the board with select_board in-session.
🏄 Windsurf
Add the entry to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"elixium": {
"serverUrl": "https://connect.elixium.ai/mcp"
}
}
}Windsurf signs in via OAuth on first use and does not support per-server request headers — pin the board with select_board in-session.
Pin Your Board
A workspace can have many boards. Pinning tells every session which board this repo works against — unpinned agents fall back to your server-side default, which can silently point at the wrong board.
- Agents with header support (Claude Code, Copilot, Cursor): set the
X-Elixium-Boardheader on the server entry, as shown in the configs above. The pin lives in the repo, so every teammate and every session lands on the same board. - Agents without header support (Gemini, Codex, Windsurf): ask the agent to call
select_boardat the start of the session — the choice also persists as your server-side default for later sessions.
Find your board slug in the board URL — e.g. my-project from elixium.ai/tenant/myteam/board/my-project.
Prerequisites
Nothing to install. You need an MCP-capable agent and an Elixium account that is a member of the workspace you want to connect. The connector runs as part of every Elixium deployment — hosted, self-hosted and air-gapped alike.
Available MCP Tools
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)
Teaching Your AI Agent
Add a rules file to your repo so the AI knows how to use Elixium effectively.
Rules File Locations
- GitHub Copilot:
.github/copilot-instructions.md - Cursor:
.cursor/rules/elixium.md - Windsurf:
.windsurf/rules/elixium.md - Claude Code:
CLAUDE.mdat repo root - Codex CLI:
AGENTS.mdat repo root
Sample Rules Content
# 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
Security
OAuth 2.1 sign-in
The sign-in flow puts no long-lived secret in any file: sessions use short-lived access tokens with rotating refresh tokens (reuse revokes the whole chain), are scoped to the one workspace you pick with your own permission level, and can be revoked anytime. See API & MCP Security for the full surface.
Troubleshooting
Quick Diagnostic Checklist
- Restart your IDE / agent — MCP servers are loaded at startup. After changing config, you must fully restart (not just reload the window). For Claude Code: exit with
Ctrl+Cor/exit, then relaunch. - Check the URL — the entry must point at
https://connect.elixium.ai/mcp(or your deployment's connect host), including the/mcppath. - Check the config key name — GitHub Copilot uses
"servers", most others use"mcpServers". Using the wrong key silently fails. - Complete the sign-in — the first connection opens an Elixium sign-in page; the tools appear only after you choose a workspace and click Allow.
Common Errors
"401 Unauthorized" or the agent asks you to sign in again
- The sign-in was revoked or expired — reconnect from your agent (in Claude Code,
/mcp→ elixium → re-authenticate) and sign in again - Make sure you chose a workspace you are a member of on the consent screen
"Board not found" or wrong board
- Confirm the
X-Elixium-Boardheader matches your board URL exactly (case-sensitive) - Default slug is
main— check your board URL to verify - Unpinned sessions use your server-side default board — pin per the Pin Your Board section above
Tools not appearing after connection
- The entry may be registered but the sign-in not completed — finish the OAuth sign-in from your agent's MCP panel
- Try asking your AI: "What MCP tools are available?" to see if Elixium tools are listed
IDE-Specific Diagnostics
🟣 Claude Code
- Run
/mcpto see all server connection statuses - Run
/doctorto validate config files and diagnose errors - Config files:
.mcp.json(project, shareable) or~/.claude.json(user) - After changing config, fully quit and relaunch Claude Code so it reloads the server list.
🐙 GitHub Copilot (VS Code)
- Open Output panel → select "GitHub Copilot" channel for MCP logs
- Check
.vscode/mcp.jsonuses"servers"(not"mcpServers") - Requires VS Code 1.102+ and Copilot extension
🎯 Cursor
- Go to Settings → MCP to see connected servers and connection status
- Config file:
.cursor/mcp.jsonin project root - Restart Cursor completely after config changes (not just reload)
Still 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.
Need Help?
Book a quick call with our team to get set up.
📅 Book a 30-min Demo