@daghis/teamcity-mcp 2.1.2 → 2.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +11 -6
- package/dist/index.js +5 -7
- package/glama.json +4 -0
- package/package.json +2 -2
- package/server.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.1.4](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.1.3...teamcity-mcp-v2.1.4) (2026-01-26)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **ci:** remove duplicate workflow_run trigger from publish workflow ([#375](https://github.com/Daghis/teamcity-mcp/issues/375)) ([f9dcca8](https://github.com/Daghis/teamcity-mcp/commit/f9dcca87c480de854b22998e0c3903d2b2cbd6e5))
|
|
9
|
+
|
|
10
|
+
## [2.1.3](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.1.2...teamcity-mcp-v2.1.3) (2026-01-26)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **tests:** eliminate race condition in boundary threshold test ([#373](https://github.com/Daghis/teamcity-mcp/issues/373)) ([d4efddf](https://github.com/Daghis/teamcity-mcp/commit/d4efddfd5b4b31f6e8a8901571f01143912e0a55))
|
|
16
|
+
|
|
3
17
|
## [2.1.2](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.1.1...teamcity-mcp-v2.1.2) (2026-01-19)
|
|
4
18
|
|
|
5
19
|
|
package/README.md
CHANGED
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
A Model Control Protocol (MCP) server that bridges AI coding assistants with JetBrains TeamCity CI/CD server, exposing TeamCity operations as MCP tools.
|
|
9
9
|
|
|
10
|
+
<a href="https://glama.ai/mcp/servers/@Daghis/teamcity-mcp">
|
|
11
|
+
<img width="380" height="200" src="https://glama.ai/mcp/servers/@Daghis/teamcity-mcp/badge" alt="TeamCity Server MCP server" />
|
|
12
|
+
</a>
|
|
13
|
+
|
|
10
14
|
## Overview
|
|
11
15
|
|
|
12
16
|
The TeamCity MCP Server allows developers using AI-powered coding assistants (Claude Code, Cursor, Windsurf) to interact with TeamCity directly from their development environment via MCP tools.
|
|
@@ -47,7 +51,7 @@ See the [Tools Mode Matrix](docs/mcp-tools-mode-matrix.md) for the complete list
|
|
|
47
51
|
|
|
48
52
|
### Prerequisites
|
|
49
53
|
|
|
50
|
-
- Node.js >= 20.10.0
|
|
54
|
+
- Node.js >= 20.10.0 (LTS versions 20, 22, 24 tested in CI)
|
|
51
55
|
- TeamCity Server 2020.1+ with REST API access
|
|
52
56
|
- TeamCity authentication token
|
|
53
57
|
|
|
@@ -86,12 +90,13 @@ npx -y @daghis/teamcity-mcp
|
|
|
86
90
|
|
|
87
91
|
## Claude Code
|
|
88
92
|
|
|
89
|
-
- Add the MCP:
|
|
90
|
-
- `claude mcp add
|
|
93
|
+
- Add the MCP (relying on `.env` for configuration):
|
|
94
|
+
- `claude mcp add teamcity -- npx -y @daghis/teamcity-mcp`
|
|
91
95
|
- With env vars (if not using .env):
|
|
92
|
-
- `claude mcp add
|
|
96
|
+
- `claude mcp add teamcity -e TEAMCITY_URL="https://teamcity.example.com" -e TEAMCITY_TOKEN="tc_<your_token>" -- npx -y @daghis/teamcity-mcp`
|
|
93
97
|
- With CLI arguments (recommended for Windows):
|
|
94
|
-
- `claude mcp add
|
|
98
|
+
- `claude mcp add teamcity -- npx -y @daghis/teamcity-mcp --url "https://teamcity.example.com" --token "tc_<your_token>" --mode dev`
|
|
99
|
+
- Add `-s user` to install user-wide instead of project-scoped (default)
|
|
95
100
|
- Context usage (Opus 4.1, estimates):
|
|
96
101
|
- Dev (default): ~14k tokens for MCP tools
|
|
97
102
|
- Full (`MCP_MODE=full`): ~26k tokens for MCP tools
|
|
@@ -346,4 +351,4 @@ This repository has GitHub secret scanning and push protection enabled. See [SEC
|
|
|
346
351
|
|
|
347
352
|
---
|
|
348
353
|
|
|
349
|
-
Built with ❤️ for developers who love efficient CI/CD workflows
|
|
354
|
+
Built with ❤️ for developers who love efficient CI/CD workflows
|
package/dist/index.js
CHANGED
|
@@ -582,11 +582,9 @@ var envSchema = import_zod.z.object({
|
|
|
582
582
|
PORT: import_zod.z.string().default("3000").transform(Number),
|
|
583
583
|
LOG_LEVEL: import_zod.z.enum(["debug", "info", "warn", "error"]).default("info"),
|
|
584
584
|
MCP_MODE: import_zod.z.enum(["dev", "full"]).default("dev"),
|
|
585
|
-
//
|
|
585
|
+
// TeamCity credentials (primary names only; aliases handled separately for cleaner public schema)
|
|
586
586
|
TEAMCITY_URL: import_zod.z.string().url().optional(),
|
|
587
|
-
TEAMCITY_SERVER_URL: import_zod.z.string().url().optional(),
|
|
588
587
|
TEAMCITY_TOKEN: import_zod.z.string().optional(),
|
|
589
|
-
TEAMCITY_API_TOKEN: import_zod.z.string().optional(),
|
|
590
588
|
// TeamCity connection and behavior knobs
|
|
591
589
|
TEAMCITY_TIMEOUT: import_zod.z.string().optional(),
|
|
592
590
|
TEAMCITY_MAX_CONCURRENT: import_zod.z.string().optional(),
|
|
@@ -653,8 +651,8 @@ function loadConfig() {
|
|
|
653
651
|
metrics: false
|
|
654
652
|
}
|
|
655
653
|
};
|
|
656
|
-
const tcUrl = env.TEAMCITY_URL ?? env
|
|
657
|
-
const tcToken = env.TEAMCITY_TOKEN ?? env
|
|
654
|
+
const tcUrl = env.TEAMCITY_URL ?? process.env["TEAMCITY_SERVER_URL"];
|
|
655
|
+
const tcToken = env.TEAMCITY_TOKEN ?? process.env["TEAMCITY_API_TOKEN"];
|
|
658
656
|
if (tcUrl !== void 0 && tcToken !== void 0) {
|
|
659
657
|
config2.teamcity = {
|
|
660
658
|
url: tcUrl,
|
|
@@ -1209,7 +1207,7 @@ function debug2(message, meta) {
|
|
|
1209
1207
|
// package.json
|
|
1210
1208
|
var package_default = {
|
|
1211
1209
|
name: "@daghis/teamcity-mcp",
|
|
1212
|
-
version: "2.1.
|
|
1210
|
+
version: "2.1.4",
|
|
1213
1211
|
description: "Model Control Protocol server for TeamCity CI/CD integration with AI coding assistants",
|
|
1214
1212
|
mcpName: "io.github.Daghis/teamcity",
|
|
1215
1213
|
main: "dist/index.js",
|
|
@@ -1218,7 +1216,7 @@ var package_default = {
|
|
|
1218
1216
|
"teamcity-mcp": "dist/index.js"
|
|
1219
1217
|
},
|
|
1220
1218
|
engines: {
|
|
1221
|
-
node: ">=20.10.0
|
|
1219
|
+
node: ">=20.10.0"
|
|
1222
1220
|
},
|
|
1223
1221
|
scripts: {
|
|
1224
1222
|
dev: "node ./node_modules/tsx/dist/cli.mjs watch src/index.ts",
|
package/glama.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daghis/teamcity-mcp",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.4",
|
|
4
4
|
"description": "Model Control Protocol server for TeamCity CI/CD integration with AI coding assistants",
|
|
5
5
|
"mcpName": "io.github.Daghis/teamcity",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"teamcity-mcp": "dist/index.js"
|
|
10
10
|
},
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": ">=20.10.0
|
|
12
|
+
"node": ">=20.10.0"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
15
|
"dev": "node ./node_modules/tsx/dist/cli.mjs watch src/index.ts",
|
package/server.json
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
9
|
"websiteUrl": "https://github.com/Daghis/teamcity-mcp",
|
|
10
|
-
"version": "2.1.
|
|
10
|
+
"version": "2.1.4",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
15
15
|
"identifier": "@daghis/teamcity-mcp",
|
|
16
|
-
"version": "2.1.
|
|
16
|
+
"version": "2.1.4",
|
|
17
17
|
"runtimeHint": "npx",
|
|
18
18
|
"runtimeArguments": [
|
|
19
19
|
{
|
|
@@ -28,11 +28,13 @@
|
|
|
28
28
|
{
|
|
29
29
|
"name": "TEAMCITY_URL",
|
|
30
30
|
"description": "Base URL of your TeamCity server",
|
|
31
|
+
"placeholder": "https://teamcity.example.com/",
|
|
31
32
|
"isRequired": true
|
|
32
33
|
},
|
|
33
34
|
{
|
|
34
35
|
"name": "TEAMCITY_TOKEN",
|
|
35
36
|
"description": "TeamCity personal access token with required permissions",
|
|
37
|
+
"placeholder": "YOUR_TOKEN_HERE",
|
|
36
38
|
"isRequired": true,
|
|
37
39
|
"isSecret": true
|
|
38
40
|
},
|