{
 "categories": [
  "ci-cd",
  "developer-tools"
 ],
 "deployment": "hybrid",
 "evidence": [
  {
   "date": "2026-09-14",
   "fact": "homepage",
   "note": "JetBrains publishes the TeamCity On-Premises documentation home for the current product help set.",
   "source": "https://www.jetbrains.com/help/teamcity/teamcity-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.api.exists",
   "note": "TeamCity provides a REST API for external applications and scripted server control. The bundled REST plugin has shipped since TeamCity 5.0.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.api.kinds[0]",
   "note": "Resources are accessed via HTTP URL paths under /app/rest, with GET, POST, PUT, and DELETE.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.api.kinds[1]",
   "note": "The full request list is exposed in Swagger format at /app/rest/swagger.json.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.api.auth[0]",
   "note": "The preferred REST authentication is a personal access token in Authorization Bearer.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.api.auth[1]",
   "note": "Basic HTTP authentication is documented, optionally forced with the /httpAuth prefix before /app/rest.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.api.auth[2]",
   "note": "Guest access, when enabled, uses the /guestAuth prefix before /app/rest.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.cli.exists",
   "note": "JetBrains documents TeamCity CLI as the official command-line interface, with --json output and teamcity api for REST.",
   "source": "https://www.jetbrains.com/help/teamcity/teamcity-cli.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.mcp.first_party",
   "note": "TeamCity servers expose /app/mcp with first-party tools for build logs, REST GET/POST, and pipelines.",
   "source": "https://www.jetbrains.com/help/teamcity/ai-agent-integration.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "modalities.mcp.verdict",
   "note": "The AI-agent page is JetBrains product documentation for the built-in MCP endpoint, including safe vs brave mode.",
   "source": "https://www.jetbrains.com/help/teamcity/ai-agent-integration.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "verdict.scores.api",
   "note": "Documented REST plus Swagger and token auth support an api score of 8.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "verdict.scores.cli",
   "note": "Official CLI with structured output and REST passthrough supports a cli score of 8.",
   "source": "https://www.jetbrains.com/help/teamcity/teamcity-cli.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "verdict.scores.mcp",
   "note": "Official /app/mcp supports a score of 7. JetBrains states CLI coverage is broader, and writes stay personal-queue unless brave mode is enabled.",
   "source": "https://www.jetbrains.com/help/teamcity/ai-agent-integration.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "freshness.watch[0].url",
   "note": "Opened the REST API documentation including authentication methods and swagger.json.",
   "source": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "freshness.watch[1].url",
   "note": "Opened the official TeamCity CLI page.",
   "source": "https://www.jetbrains.com/help/teamcity/teamcity-cli.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-14",
   "fact": "freshness.watch[2].url",
   "note": "Opened the AI-agent integration page for MCP and CLI skill guidance.",
   "source": "https://www.jetbrains.com/help/teamcity/ai-agent-integration.html",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-14",
  "volatility": "high",
  "watch": [
   {
    "type": "docs",
    "url": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html"
   },
   {
    "type": "docs",
    "url": "https://www.jetbrains.com/help/teamcity/teamcity-cli.html"
   },
   {
    "type": "mcp",
    "url": "https://www.jetbrains.com/help/teamcity/ai-agent-integration.html"
   }
  ]
 },
 "homepage": "https://www.jetbrains.com/help/teamcity/teamcity-documentation.html",
 "id": "jetbrains-teamcity",
 "license": "commercial",
 "modalities": {
  "agent_docs": {
   "llms_txt": "unknown"
  },
  "api": {
   "auth": [
    "bearer-token",
    "basic",
    "guest"
   ],
   "coverage": "partial",
   "docs": "https://www.jetbrains.com/help/teamcity/rest/teamcity-rest-api-documentation.html",
   "exists": true,
   "kinds": [
    "rest",
    "openapi"
   ]
  },
  "cli": {
   "exists": true
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json",
    "xml"
   ],
   "import": []
  },
  "extensibility": {
   "scripting": [
    "kotlin-dsl",
    "yaml-pipelines"
   ],
   "webhooks": "unknown"
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Vendor automation is the REST API under /app/rest, the official teamcity CLI, and the first-party /app/mcp server, not browser control of the TeamCity UI.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "TeamCity",
 "platforms": [
  "web",
  "windows",
  "linux",
  "macos"
 ],
 "related": {
  "alternatives": [
   "jenkins",
   "circleci",
   "azure-devops"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "JetBrains",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 8,
   "cli": 8,
   "computer_use": null,
   "integrations": null,
   "mcp": 7,
   "overall": 8,
   "rpa": null
  },
  "summary": "TeamCity is automatable today through its REST API and official CLI. This record is JetBrains TeamCity (on-premises and Cloud), not Jenkins or Azure DevOps. REST lives under /app/rest with Swagger at /app/rest/swagger.json. Preferred authentication is a personal access token as Authorization Bearer. Basic HTTP auth via /httpAuth/app/rest and guest access via /guestAuth/app/rest (when enabled) are also documented. The official teamcity CLI starts builds, tails logs, manages agents, emits --json, and can send arbitrary REST via teamcity api. First-party MCP is at /app/mcp with tools for build logs, REST GET/POST, and pipelines. Safe mode limits writes to personal build-queue posts unless teamcity.ai.mcp.braveMode.enabled is true. JetBrains states the CLI covers a wider operational surface than MCP. Official REST SDK status was not established; Kotlin DSL and YAML pipelines are recorded as scripting. Computer-use viability is unassessed. API and CLI both score 8; API is the best path because the CLI and MCP consume it. MCP scores 7 as official but narrower and safe-mode gated.\n"
 }
}