@slyswiss/infinity-mcp
v1.0.1
Published
Community MCP server for Infinity (startinfinity.com). Not affiliated with Infinity Innovations Inc.
Maintainers
Readme
@slyswiss/infinity-mcp
Community Model Context Protocol server for Infinity — lets Claude (and other MCP clients) read and manage your Infinity tickets, comments, and boards.
Not affiliated with Infinity Innovations Inc. Built against Infinity's public REST API v2.1.
What it does
Exposes 12 tools that map to Infinity's REST API, scoped around day-to-day ticket workflows:
Discovery
list_workspaces— find your workspace idslist_boards— find your board idslist_folders— list folders (often used as stages/columns)list_attributes— list a board's fields (name, status, assignee, etc.) and their typesget_profile— who is the token owner ("me")
Tickets
list_items— list tickets, optionally filtered by folder, with cursor paginationget_item— fetch one ticket with its valuescreate_item— create a ticket in a folder, with attribute valuesupdate_item— move between folders, change status, assign, edit fields (one tool, three jobs)delete_item— soft-delete a ticket
Comments
list_comments— list comments on a ticketcreate_comment— post a comment (HTML supported)
Install + configure
1. Get a personal access token
In Infinity:
- Click your profile → Enable Developer Features (one-time toggle).
- Sidebar → Developer → Tokens → Create Token.
- Copy the token. Treat it like a password.
2. Wire into your MCP client
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"infinity": {
"command": "npx",
"args": ["-y", "@slyswiss/infinity-mcp"],
"env": {
"INFINITY_API_TOKEN": "your_token_here"
}
}
}
}Restart Claude Desktop.
Claude Code
In your project's .mcp.json (or ~/.claude.json):
{
"mcpServers": {
"infinity": {
"command": "npx",
"args": ["-y", "@slyswiss/infinity-mcp"],
"env": {
"INFINITY_API_TOKEN": "your_token_here"
}
}
}
}Environment variables
| Variable | Required | Description |
|---|---|---|
| INFINITY_API_TOKEN | yes | Personal access token from the Infinity developer settings. |
| INFINITY_BASE_URL | no | Override the API base URL. Defaults to https://app.startinfinity.com/api/v2. |
Example prompts (once configured)
- "List my Infinity workspaces."
- "Show me the tickets in the 'In Progress' folder on the Engineering board."
- "Create a ticket titled 'Fix login bug' in the Backlog folder."
- "Move ticket abc-123 to Done."
- "Add a comment to ticket abc-123 saying 'shipped in v1.4'."
Claude will call list_workspaces / list_boards / list_attributes as needed to discover ids before mutating anything.
Limitations / not yet in scope
- No attribute CRUD — you can't create or rename board columns from here. Configure your board in Infinity, then use this for tickets.
- No board creation — same reasoning.
- No file upload attachments — attachment-from-URL and file-upload endpoints aren't wrapped yet.
- No webhooks — webhook config is out of scope for an interactive assistant.
- No server-side attribute-value filtering — the Infinity API doesn't support it. To find items by status/assignee, the tool expands values and the model filters client-side.
- Workflow shortcuts (
my_tickets,move_to_done, etc.) are deliberately not exposed yet. They'd encode team-specific stage names — we'd rather Claude discover the schema explicitly per board.
Development
git clone https://gitlab.com/sly-swiss/infinity-mcp.git
cd infinity-mcp
npm install
npm run build
INFINITY_API_TOKEN=xxx node dist/index.jsCommit conventions
This repo uses semantic-release. Commit prefixes drive versioning:
fix:→ patch releasefeat:→ minor releaseBREAKING CHANGE:in body orfeat!:→ major releasechore:/docs:/refactor:/style:/test:→ no release
