TeamCity MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Server port | 3000 |
| MCP_MODE | No | MCP mode (dev or full) | dev |
| NODE_ENV | No | Node environment | development |
| LOG_LEVEL | No | Log level | info |
| TEAMCITY_URL | No | TeamCity server URL | |
| TEAMCITY_TOKEN | No | TeamCity authentication token | |
| TEAMCITY_TIMEOUT | No | TeamCity connection timeout | 30000 |
| TEAMCITY_API_TOKEN | No | TeamCity authentication token (alias for TEAMCITY_TOKEN) | |
| TEAMCITY_PAGE_SIZE | No | Default page size for pagination | 100 |
| TEAMCITY_KEEP_ALIVE | No | Keep alive connections | true |
| TEAMCITY_SERVER_URL | No | TeamCity server URL (alias for TEAMCITY_URL) | |
| TEAMCITY_COMPRESSION | No | Enable compression | true |
| TEAMCITY_MAX_RETRIES | No | Maximum number of retries | 3 |
| TEAMCITY_RETRY_DELAY | No | Retry delay in milliseconds | 1000 |
| TEAMCITY_MAX_PAGE_SIZE | No | Maximum page size for pagination | 1000 |
| TEAMCITY_RETRY_ENABLED | No | Enable retry mechanism | true |
| TEAMCITY_AUTO_FETCH_ALL | No | Auto fetch all pages | false |
| TEAMCITY_MAX_CONCURRENT | No | Maximum concurrent connections | 10 |
| TEAMCITY_CIRCUIT_BREAKER | No | Enable circuit breaker | true |
| TEAMCITY_MAX_RETRY_DELAY | No | Maximum retry delay in milliseconds | 30000 |
| TEAMCITY_CB_RESET_TIMEOUT | No | Circuit breaker reset timeout | 60000 |
| TEAMCITY_CB_FAILURE_THRESHOLD | No | Circuit breaker failure threshold | 5 |
| TEAMCITY_CB_SUCCESS_THRESHOLD | No | Circuit breaker success threshold | 2 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Test MCP server connectivity. Returns a confirmation echo and optional message. |
| get_mcp_modeA | Get the current MCP mode. Dev mode is read-only; full mode enables all operations. |
| set_mcp_modeA | Switch MCP mode at runtime. Returns previous and current modes with the updated tool count; idempotent and notifies clients of the list change. |
| list_projectsA | List TeamCity projects. Supports pagination and locator filtering. |
| get_projectB | Get details of a specific project. |
| list_buildsA | List TeamCity builds. Supports pagination and locator filtering. |
| get_buildA | Get details of a specific build. Works for queued, running, and finished builds. |
| trigger_buildA | Trigger a new build; runs asynchronously, use |
| cancel_queued_buildA | Cancel a queued (not-yet-running) build. Idempotent; returns 404 if the build already started or was cancelled. |
| cancel_buildA | Cancel or stop a running or queued build, with optional comment and requeue flag. Returns the cancelled build; returns 404 if the build is unknown. |
| get_build_statusB | Get build status. Optionally includes test and problem summaries plus queue context. |
| wait_for_buildA | Wait for a build to reach a terminal state (finished, canceled, failed). Long-running; polls until completion or timeout. |
| fetch_build_logB | Fetch a build log. Supports line-based pagination and streaming output. |
| list_build_configsB | List build configurations. Supports pagination and locator filtering. |
| get_build_configB | Get details of a build configuration. |
| list_test_failuresA | List test failures for a build. Supports pagination. |
| list_queued_buildsA | List queued builds. Supports TeamCity queue locator filtering and pagination. |
| get_server_infoA | Get TeamCity server info including version, build number, and state. |
| get_build_resultsA | Get detailed results of a build. Optionally includes tests, artifacts, changes, statistics, and dependencies. |
| list_build_artifactsA | List artifact files and directories for a build, optionally browsing into subdirectories. Returns an array of artifact entries with name, path, size, and isDirectory flag. |
| download_build_artifactA | Download a single build artifact, with base64, text, or streaming output. Returns the artifact bytes or stream metadata; returns 404 if the build or path is unknown. |
| download_build_artifactsA | Download multiple build artifacts, with base64, text, or streaming output. Returns per-artifact payloads or stream metadata; returns 404 if the build or any path is unknown. |
| get_test_detailsC | Get detailed information about test failures. |
| analyze_build_problemsB | Analyze and report build problems and failures. |
| list_changesA | List VCS changes. Supports pagination. |
| list_problemsB | List build problems. Supports pagination. |
| list_problem_occurrencesB | List build problem occurrences. Supports pagination. |
| list_investigationsB | List open investigations. Supports pagination. |
| list_muted_testsB | List muted tests. Supports pagination. |
| list_branchesA | List branches for a project or build configuration. |
| list_parametersA | List parameters for a build configuration. |
| list_project_hierarchyA | List project hierarchy showing parent-child relationships. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Most tools map to a distinct resource+action (projects, build configs, builds, queue, tests, problems, artifacts), and descriptions clarify close pairs like get_build vs get_build_status vs get_build_results. However, cancel_queued_build overlaps heavily with cancel_build (which explicitly handles 'running or queued' builds), and list_problems vs list_problem_occurrences plus get_test_details vs list_test_failures have blurry boundaries.
Every tool follows a consistent snake_case verb_noun pattern (list_projects, get_build, trigger_build, download_build_artifact), with only trivial exceptions like ping. Singular/plural distinctions (download_build_artifact vs download_build_artifacts) are used predictably.
At 32 tools the surface is heavy for any single agent context, though the CI-server domain is genuinely broad (projects, configs, queue, tests, problems, artifacts, server ops). Some tools feel like bloat or could be merged, e.g. cancel_queued_build alongside cancel_build, and the singular/plural artifact download pair.
Core CI workflows are well covered: inspect projects/configs, list/trigger/cancel/wait on builds, fetch logs and artifacts, and review tests, problems, changes, and investigations. Notable gaps remain around agents (why a build is queued, agent status), VCS roots, tags/pinning, and any create/update/delete of projects or build configurations, which limits write-side lifecycle coverage.