NestDaddy

Ticket AI

io.github.syrian963/ticket-ai-mcp · v0.1.1

Measures tickets against the ones your team already shipped: sections, length, labels, duplicates.

Connect Runs on your machine

Terminal
claude mcp add ticket-ai-mcp -e TICKET_AI_TRACKER=<TICKET_AI_TRACKER> -e TICKET_AI_PROJECT=<TICKET_AI_PROJECT> -e TICKET_AI_GITLAB_URL=<TICKET_AI_GITLAB_URL> -e TICKET_AI_GITLAB_TOKEN=<TICKET_AI_GITLAB_TOKEN> -e TICKET_AI_JIRA_URL=<TICKET_AI_JIRA_URL> -e TICKET_AI_JIRA_EMAIL=<TICKET_AI_JIRA_EMAIL> -e TICKET_AI_JIRA_TOKEN=<TICKET_AI_JIRA_TOKEN> -e TICKET_AI_GITHUB_TOKEN=<TICKET_AI_GITHUB_TOKEN> -e TICKET_AI_REPO=<TICKET_AI_REPO> -e TICKET_AI_TICKET_LANGUAGE=<TICKET_AI_TICKET_LANGUAGE> -e TICKET_AI_CACHE_DIR=<TICKET_AI_CACHE_DIR> -- uvx ticket-ai-mcp==0.1.1
claude_desktop_config.json
{
  "mcpServers": {
    "ticket-ai-mcp": {
      "command": "uvx",
      "args": [
        "ticket-ai-mcp==0.1.1"
      ],
      "env": {
        "TICKET_AI_TRACKER": "<TICKET_AI_TRACKER>",
        "TICKET_AI_PROJECT": "<TICKET_AI_PROJECT>",
        "TICKET_AI_GITLAB_URL": "<TICKET_AI_GITLAB_URL>",
        "TICKET_AI_GITLAB_TOKEN": "<TICKET_AI_GITLAB_TOKEN>",
        "TICKET_AI_JIRA_URL": "<TICKET_AI_JIRA_URL>",
        "TICKET_AI_JIRA_EMAIL": "<TICKET_AI_JIRA_EMAIL>",
        "TICKET_AI_JIRA_TOKEN": "<TICKET_AI_JIRA_TOKEN>",
        "TICKET_AI_GITHUB_TOKEN": "<TICKET_AI_GITHUB_TOKEN>",
        "TICKET_AI_REPO": "<TICKET_AI_REPO>",
        "TICKET_AI_TICKET_LANGUAGE": "<TICKET_AI_TICKET_LANGUAGE>",
        "TICKET_AI_CACHE_DIR": "<TICKET_AI_CACHE_DIR>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "ticket-ai-mcp": {
      "command": "uvx",
      "args": [
        "ticket-ai-mcp==0.1.1"
      ],
      "env": {
        "TICKET_AI_TRACKER": "<TICKET_AI_TRACKER>",
        "TICKET_AI_PROJECT": "<TICKET_AI_PROJECT>",
        "TICKET_AI_GITLAB_URL": "<TICKET_AI_GITLAB_URL>",
        "TICKET_AI_GITLAB_TOKEN": "<TICKET_AI_GITLAB_TOKEN>",
        "TICKET_AI_JIRA_URL": "<TICKET_AI_JIRA_URL>",
        "TICKET_AI_JIRA_EMAIL": "<TICKET_AI_JIRA_EMAIL>",
        "TICKET_AI_JIRA_TOKEN": "<TICKET_AI_JIRA_TOKEN>",
        "TICKET_AI_GITHUB_TOKEN": "<TICKET_AI_GITHUB_TOKEN>",
        "TICKET_AI_REPO": "<TICKET_AI_REPO>",
        "TICKET_AI_TICKET_LANGUAGE": "<TICKET_AI_TICKET_LANGUAGE>",
        "TICKET_AI_CACHE_DIR": "<TICKET_AI_CACHE_DIR>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "ticket-ai-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "ticket-ai-mcp==0.1.1"
      ],
      "env": {
        "TICKET_AI_TRACKER": "<TICKET_AI_TRACKER>",
        "TICKET_AI_PROJECT": "<TICKET_AI_PROJECT>",
        "TICKET_AI_GITLAB_URL": "<TICKET_AI_GITLAB_URL>",
        "TICKET_AI_GITLAB_TOKEN": "<TICKET_AI_GITLAB_TOKEN>",
        "TICKET_AI_JIRA_URL": "<TICKET_AI_JIRA_URL>",
        "TICKET_AI_JIRA_EMAIL": "<TICKET_AI_JIRA_EMAIL>",
        "TICKET_AI_JIRA_TOKEN": "<TICKET_AI_JIRA_TOKEN>",
        "TICKET_AI_GITHUB_TOKEN": "<TICKET_AI_GITHUB_TOKEN>",
        "TICKET_AI_REPO": "<TICKET_AI_REPO>",
        "TICKET_AI_TICKET_LANGUAGE": "<TICKET_AI_TICKET_LANGUAGE>",
        "TICKET_AI_CACHE_DIR": "<TICKET_AI_CACHE_DIR>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
TICKET_AI_TRACKER
Required
Which tracker to read: gitlab, jira or github.
TICKET_AI_PROJECT
Required
The project to measure. A GitLab path like acme/shop or its numeric id, a Jira project key like PROJ, or a GitHub owner/repo.
TICKET_AI_GITLAB_URL
Optional
Base URL of the GitLab instance, for example https://gitlab.example.com. Required when the tracker is gitlab.
TICKET_AI_GITLAB_TOKEN
Optional, secret
GitLab personal access token. The read_api scope is enough; nothing here writes.
TICKET_AI_JIRA_URL
Optional
Base URL of the Jira instance. Cloud or self-hosted Server and Data Center; which one is detected from the instance.
TICKET_AI_JIRA_EMAIL
Optional
Account email, for Jira Cloud's basic auth. Leave unset for a public board or for a Server personal access token.
TICKET_AI_JIRA_TOKEN
Optional, secret
Jira API token from id.atlassian.com, or a Server personal access token on its own. Leave unset to read a public instance anonymously.
TICKET_AI_GITHUB_TOKEN
Optional, secret
GitHub token with read access to the repository's issues.
TICKET_AI_REPO
Optional
Checkout to search when gathering context for a subject. Defaults to the working directory, which on a wrong guess produces confident nonsense - the report names the directory it searched.
TICKET_AI_TICKET_LANGUAGE
Optional
Force the language tickets should be written in, overriding what was measured in the corpus. Leave unset unless the board is mid-switch: a measurement beats a setting.
TICKET_AI_CACHE_DIR
Optional
Where the learned profile is kept between runs. Defaults to .ticket-ai/ under the working directory.

Details

Package[email protected] (PYPI, stdio)
First published11 Sep 2026
Last updated11 Sep 2026
Registry nameio.github.syrian963/ticket-ai-mcp

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.