@daghis/teamcity-mcp 2.1.2 → 2.1.3

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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.1.3](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.1.2...teamcity-mcp-v2.1.3) (2026-01-26)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **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))
9
+
3
10
  ## [2.1.2](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.1.1...teamcity-mcp-v2.1.2) (2026-01-19)
4
11
 
5
12
 
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 and < 21
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 [-s user] teamcity -- npx -y @daghis/teamcity-mcp`
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 [-s user] teamcity -- env TEAMCITY_URL="https://teamcity.example.com" TEAMCITY_TOKEN="tc_<your_token>" MCP_MODE=dev npx -y @daghis/teamcity-mcp`
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 [-s user] teamcity -- npx -y @daghis/teamcity-mcp --url "https://teamcity.example.com" --token "tc_<your_token>" --mode dev`
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
- // Accept primary and alias names for TeamCity credentials
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.TEAMCITY_SERVER_URL;
657
- const tcToken = env.TEAMCITY_TOKEN ?? env.TEAMCITY_API_TOKEN;
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.2",
1210
+ version: "2.1.3",
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 <21"
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
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://glama.ai/mcp/schemas/server.json",
3
+ "maintainers": ["Daghis"]
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daghis/teamcity-mcp",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
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 <21"
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.2",
10
+ "version": "2.1.3",
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.2",
16
+ "version": "2.1.3",
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
  },