MCPLow riskUnclaimed

Ticket AI

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

syrian963syrian963/ticket-ai-mcpUpdated Sep 11, 2026

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.syrian963/ticket-ai-mcp",
  "description": "Measures tickets against the ones your team already shipped: sections, length, labels, duplicates.",
  "title": "Ticket AI",
  "repository": {
    "url": "https://github.com/syrian963/Ticket-AI-MCP",
    "source": "github"
  },
  "version": "0.1.1",
  "websiteUrl": "https://github.com/syrian963/Ticket-AI-MCP",
  "packages": [
    {
      "registryType": "pypi",
      "registryBaseUrl": "https://pypi.org",
      "identifier": "ticket-ai-mcp",
      "version": "0.1.1",
      "runtimeHint": "uvx",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Which tracker to read: gitlab, jira or github.",
          "isRequired": true,
          "name": "TICKET_AI_TRACKER"
        },
        {
          "description": "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.",
          "isRequired": true,
          "name": "TICKET_AI_PROJECT"
        },
        {
          "description": "Base URL of the GitLab instance, for example https://gitlab.example.com. Required when the tracker is gitlab.",
          "name": "TICKET_AI_GITLAB_URL"
        },
        {
          "description": "GitLab personal access token. The read_api scope is enough; nothing here writes.",
          "isSecret": true,
          "name": "TICKET_AI_GITLAB_TOKEN"
        },
        {
          "description": "Base URL of the Jira instance. Cloud or self-hosted Server and Data Center; which one is detected from the instance.",
          "name": "TICKET_AI_JIRA_URL"
        },
        {
          "description": "Account email, for Jira Cloud's basic auth. Leave unset for a public board or for a Server personal access token.",
          "name": "TICKET_AI_JIRA_EMAIL"
        },
        {
          "description": "Jira API token from id.atlassian.com, or a Server personal access token on its own. Leave unset to read a public instance anonymously.",
          "isSecret": true,
          "name": "TICKET_AI_JIRA_TOKEN"
        },
        {
          "description": "GitHub token with read access to the repository's issues.",
          "isSecret": true,
          "name": "TICKET_AI_GITHUB_TOKEN"
        },
        {
          "description": "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.",
          "name": "TICKET_AI_REPO"
        },
        {
          "description": "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.",
          "name": "TICKET_AI_TICKET_LANGUAGE"
        },
        {
          "description": "Where the learned profile is kept between runs. Defaults to .ticket-ai/ under the working directory.",
          "name": "TICKET_AI_CACHE_DIR"
        }
      ]
    }
  ]
}

Permissions

DeclaredDetected
Runs code—python
Installs—pypi:ticket-ai-mcp@0.1.1
Runs install scripts—None
NetworkNoneNone
Needs credentialsTICKET_AI_GITHUB_TOKENTICKET_AI_GITLAB_TOKENTICKET_AI_JIRA_TOKENTICKET_AI_GITHUB_TOKENTICKET_AI_GITLAB_TOKENTICKET_AI_JIRA_TOKEN
Outside the workspace—None
Agent tools—None

Checks

Low risk · Nothing worth a warning was found.

Not reviewed by a person · Checked by rules; the model review is not switched on yet.

Versions

  1. #10.1.1latestOct 7, 2026