Loading…
Measures tickets against the ones your team already shipped: sections, length, labels, duplicates.
Ticket AI is an MCP server entry in ChatHome Skills, sourced from Official MCP Registry and scored 73/100. As a Model Context Protocol server, it exposes tools that MCP-compatible LLM clients such as Claude, Cursor, and Copilot can call directly, extending an agent's reach beyond its built-in capabilities. ChatHome Skills discovered this entry through its daily ingest of official registries and GitHub discovery queries, and re-verifies repository facts, freshness signals, and install metadata on every run. The quality score weighs official-registry presence, a working install command, license clarity, GitHub star trajectory, and repository freshness — the full formula is on the Sources page. The install command above is ready to copy. Review the last-pushed date and repository status before adding Ticket AI to a production agent workflow; the snapshot facts below are point-in-time values from the most recent ingest.
uvx ticket-ai-mcp==0.1.1Review the upstream source before running this command.
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-09-11T11:46:27.917279Z",
"publishedAt": "2026-09-11T11:46:27.917279Z",
"statusChangedAt": "2026-09-11T11:46:27.917279Z"
}
},
"server": {
"name": "io.github.syrian963/ticket-ai-mcp",
"title": "Ticket AI",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.1.1",
"packages": [
{
"version": "0.1.1",
"transport": {
"type": "stdio"
},
"identifier": "ticket-ai-mcp",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"environmentVariables": [
{
"name": "TICKET_AI_TRACKER",
"isRequired": true,
"description": "Which tracker to read: gitlab, jira or github."
},
{
"name": "TICKET_AI_PROJECT",
"isRequired": true,
"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."
},
{
"name": "TICKET_AI_GITLAB_URL",
"description": "Base URL of the GitLab instance, for example https://gitlab.example.com. Required when the tracker is gitlab."
},
{
"name": "TICKET_AI_GITLAB_TOKEN",
"isSecret": true,
"description": "GitLab personal access token. The read_api scope is enough; nothing here writes."
},
{
"name": "TICKET_AI_JIRA_URL",
"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_EMAIL",
"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_TOKEN",
"isSecret": true,
"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."
},
{
"name": "TICKET_AI_GITHUB_TOKEN",
"isSecret": true,
"description": "GitHub token with read access to the repository's issues."
},
{
"name": "TICKET_AI_REPO",
"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_TICKET_LANGUAGE",
"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_CACHE_DIR",
"description": "Where the learned profile is kept between runs. Defaults to .ticket-ai/ under the working directory."
}
]
}
],
"repository": {
"url": "https://github.com/syrian963/Ticket-AI-MCP",
"source": "github"
},
"websiteUrl": "https://github.com/syrian963/Ticket-AI-MCP",
"description": "Measures tickets against the ones your team already shipped: sections, length, labels, duplicates."
}
}