@daghis/teamcity-mcp 1.13.0 → 2.0.0
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 +18 -0
- package/README.md +32 -5
- package/dist/index.js +31 -16
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.0](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v1.13.1...teamcity-mcp-v2.0.0) (2025-12-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* 15 tools moved from Dev mode to Full-only mode.
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* reduce dev mode tool surface ([#332](https://github.com/Daghis/teamcity-mcp/issues/332)) ([3a2bd6d](https://github.com/Daghis/teamcity-mcp/commit/3a2bd6dd72cc4b2d8c5cca1bb22867b1c7e19d12))
|
|
13
|
+
|
|
14
|
+
## [1.13.1](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v1.13.0...teamcity-mcp-v1.13.1) (2025-12-22)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* tune codecov PR comment behavior ([#329](https://github.com/Daghis/teamcity-mcp/issues/329)) ([a790ab1](https://github.com/Daghis/teamcity-mcp/commit/a790ab18cf08a755f930ed73639c958c7b096b55))
|
|
20
|
+
|
|
3
21
|
## [1.13.0](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v1.12.1...teamcity-mcp-v1.13.0) (2025-12-22)
|
|
4
22
|
|
|
5
23
|
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ The TeamCity MCP Server allows developers using AI-powered coding assistants (Cl
|
|
|
15
15
|
|
|
16
16
|
### 🚀 Two Operational Modes
|
|
17
17
|
|
|
18
|
-
- **Dev Mode
|
|
18
|
+
- **Dev Mode** (default): Safe CI/CD operations
|
|
19
19
|
- Trigger builds
|
|
20
20
|
- Monitor build status and progress
|
|
21
21
|
- Fetch build logs
|
|
@@ -30,6 +30,8 @@ The TeamCity MCP Server allows developers using AI-powered coding assistants (Cl
|
|
|
30
30
|
- Set up new projects
|
|
31
31
|
- Modify infrastructure settings
|
|
32
32
|
|
|
33
|
+
See the [Tools Mode Matrix](docs/mcp-tools-mode-matrix.md) for the complete list of 77 tools and their availability by mode.
|
|
34
|
+
|
|
33
35
|
### 🎯 Key Capabilities
|
|
34
36
|
|
|
35
37
|
- Trigger and monitor builds, fetch logs, and inspect test failures
|
|
@@ -93,7 +95,7 @@ npx -y @daghis/teamcity-mcp
|
|
|
93
95
|
|
|
94
96
|
### Windows Users
|
|
95
97
|
|
|
96
|
-
On Windows, Claude Code's MCP configuration may not properly merge environment variables. Use CLI arguments as a workaround:
|
|
98
|
+
On Windows, Claude Code's MCP configuration [may not properly merge environment variables](https://github.com/anthropics/claude-code/issues/1254). Use CLI arguments as a workaround:
|
|
97
99
|
|
|
98
100
|
```json
|
|
99
101
|
{
|
|
@@ -295,9 +297,33 @@ We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for deta
|
|
|
295
297
|
|
|
296
298
|
## Security
|
|
297
299
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
-
|
|
300
|
+
### Token Management
|
|
301
|
+
|
|
302
|
+
- Configure `TEAMCITY_TOKEN` via environment variable or config file (see `.env.example`); never commit real tokens
|
|
303
|
+
- Use a token with minimal required permissions; read-only tokens work for most Dev mode operations
|
|
304
|
+
- Token-based authentication only; the MCP server does not support username/password
|
|
305
|
+
- Logs redact sensitive values including tokens
|
|
306
|
+
|
|
307
|
+
### Mode Selection
|
|
308
|
+
|
|
309
|
+
- Prefer **Dev mode** unless Full mode is explicitly needed—this limits the blast radius of any misconfiguration or prompt injection
|
|
310
|
+
- Full mode enables destructive operations (project deletion, agent management) that cannot be easily undone
|
|
311
|
+
|
|
312
|
+
### Network Security
|
|
313
|
+
|
|
314
|
+
- Always use HTTPS for TeamCity connections; the server does not enforce this but strongly recommends it
|
|
315
|
+
- The MCP server connects only to the configured TeamCity URL; no other network calls are made
|
|
316
|
+
|
|
317
|
+
### AI Assistant Considerations
|
|
318
|
+
|
|
319
|
+
- AI assistants could be manipulated via prompt injection in build logs, test output, or other TeamCity data
|
|
320
|
+
- Dev mode's limited tool set reduces the impact of such attacks
|
|
321
|
+
- All actions appear in TeamCity's audit log under the token's associated user
|
|
322
|
+
- Build logs and test failure details may contain sensitive information (secrets, paths, internal URLs) that become visible to the AI assistant
|
|
323
|
+
|
|
324
|
+
### Repository Security
|
|
325
|
+
|
|
326
|
+
This repository has GitHub secret scanning and push protection enabled. See [SECURITY.md](SECURITY.md) for vulnerability reporting.
|
|
301
327
|
|
|
302
328
|
## Support
|
|
303
329
|
|
|
@@ -309,6 +335,7 @@ We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for deta
|
|
|
309
335
|
- JetBrains TeamCity for the excellent CI/CD platform
|
|
310
336
|
- Anthropic for the Model Control Protocol specification
|
|
311
337
|
- The open-source community for continuous support
|
|
338
|
+
- See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for third-party licenses
|
|
312
339
|
|
|
313
340
|
---
|
|
314
341
|
|
package/dist/index.js
CHANGED
|
@@ -1195,7 +1195,7 @@ function debug2(message, meta) {
|
|
|
1195
1195
|
// package.json
|
|
1196
1196
|
var package_default = {
|
|
1197
1197
|
name: "@daghis/teamcity-mcp",
|
|
1198
|
-
version: "
|
|
1198
|
+
version: "2.0.0",
|
|
1199
1199
|
description: "Model Control Protocol server for TeamCity CI/CD integration with AI coding assistants",
|
|
1200
1200
|
mcpName: "io.github.Daghis/teamcity",
|
|
1201
1201
|
main: "dist/index.js",
|
|
@@ -39982,7 +39982,8 @@ var DEV_TOOLS = [
|
|
|
39982
39982
|
},
|
|
39983
39983
|
args
|
|
39984
39984
|
);
|
|
39985
|
-
}
|
|
39985
|
+
},
|
|
39986
|
+
mode: "full"
|
|
39986
39987
|
},
|
|
39987
39988
|
{
|
|
39988
39989
|
name: "get_vcs_root",
|
|
@@ -40013,7 +40014,8 @@ var DEV_TOOLS = [
|
|
|
40013
40014
|
},
|
|
40014
40015
|
args
|
|
40015
40016
|
);
|
|
40016
|
-
}
|
|
40017
|
+
},
|
|
40018
|
+
mode: "full"
|
|
40017
40019
|
},
|
|
40018
40020
|
{
|
|
40019
40021
|
name: "set_vcs_root_property",
|
|
@@ -40373,7 +40375,8 @@ var DEV_TOOLS = [
|
|
|
40373
40375
|
},
|
|
40374
40376
|
args
|
|
40375
40377
|
);
|
|
40376
|
-
}
|
|
40378
|
+
},
|
|
40379
|
+
mode: "full"
|
|
40377
40380
|
},
|
|
40378
40381
|
// === Agent Compatibility (read-only lookups) ===
|
|
40379
40382
|
{
|
|
@@ -40396,7 +40399,8 @@ var DEV_TOOLS = [
|
|
|
40396
40399
|
},
|
|
40397
40400
|
args
|
|
40398
40401
|
);
|
|
40399
|
-
}
|
|
40402
|
+
},
|
|
40403
|
+
mode: "full"
|
|
40400
40404
|
},
|
|
40401
40405
|
{
|
|
40402
40406
|
name: "get_incompatible_build_types_for_agent",
|
|
@@ -40418,7 +40422,8 @@ var DEV_TOOLS = [
|
|
|
40418
40422
|
},
|
|
40419
40423
|
args
|
|
40420
40424
|
);
|
|
40421
|
-
}
|
|
40425
|
+
},
|
|
40426
|
+
mode: "full"
|
|
40422
40427
|
},
|
|
40423
40428
|
{
|
|
40424
40429
|
name: "get_agent_enabled_info",
|
|
@@ -40440,7 +40445,8 @@ var DEV_TOOLS = [
|
|
|
40440
40445
|
},
|
|
40441
40446
|
args
|
|
40442
40447
|
);
|
|
40443
|
-
}
|
|
40448
|
+
},
|
|
40449
|
+
mode: "full"
|
|
40444
40450
|
},
|
|
40445
40451
|
{
|
|
40446
40452
|
name: "get_compatible_agents_for_build_type",
|
|
@@ -40474,7 +40480,8 @@ var DEV_TOOLS = [
|
|
|
40474
40480
|
},
|
|
40475
40481
|
args
|
|
40476
40482
|
);
|
|
40477
|
-
}
|
|
40483
|
+
},
|
|
40484
|
+
mode: "full"
|
|
40478
40485
|
},
|
|
40479
40486
|
{
|
|
40480
40487
|
name: "count_compatible_agents_for_build_type",
|
|
@@ -40509,7 +40516,8 @@ var DEV_TOOLS = [
|
|
|
40509
40516
|
},
|
|
40510
40517
|
args
|
|
40511
40518
|
);
|
|
40512
|
-
}
|
|
40519
|
+
},
|
|
40520
|
+
mode: "full"
|
|
40513
40521
|
},
|
|
40514
40522
|
{
|
|
40515
40523
|
name: "get_compatible_agents_for_queued_build",
|
|
@@ -40546,7 +40554,8 @@ var DEV_TOOLS = [
|
|
|
40546
40554
|
},
|
|
40547
40555
|
args
|
|
40548
40556
|
);
|
|
40549
|
-
}
|
|
40557
|
+
},
|
|
40558
|
+
mode: "full"
|
|
40550
40559
|
},
|
|
40551
40560
|
{
|
|
40552
40561
|
name: "check_teamcity_connection",
|
|
@@ -40556,7 +40565,8 @@ var DEV_TOOLS = [
|
|
|
40556
40565
|
const adapter = createAdapterFromTeamCityAPI(TeamCityAPI.getInstance());
|
|
40557
40566
|
const ok = await adapter.testConnection();
|
|
40558
40567
|
return json({ ok });
|
|
40559
|
-
}
|
|
40568
|
+
},
|
|
40569
|
+
mode: "full"
|
|
40560
40570
|
},
|
|
40561
40571
|
// === Agent Tools ===
|
|
40562
40572
|
{
|
|
@@ -40617,7 +40627,8 @@ var DEV_TOOLS = [
|
|
|
40617
40627
|
},
|
|
40618
40628
|
args
|
|
40619
40629
|
);
|
|
40620
|
-
}
|
|
40630
|
+
},
|
|
40631
|
+
mode: "full"
|
|
40621
40632
|
},
|
|
40622
40633
|
{
|
|
40623
40634
|
name: "list_agent_pools",
|
|
@@ -40677,7 +40688,8 @@ var DEV_TOOLS = [
|
|
|
40677
40688
|
},
|
|
40678
40689
|
args
|
|
40679
40690
|
);
|
|
40680
|
-
}
|
|
40691
|
+
},
|
|
40692
|
+
mode: "full"
|
|
40681
40693
|
},
|
|
40682
40694
|
// === Additional Tools from Complex Implementation ===
|
|
40683
40695
|
// Build Analysis Tools
|
|
@@ -41487,7 +41499,8 @@ var DEV_TOOLS = [
|
|
|
41487
41499
|
},
|
|
41488
41500
|
args
|
|
41489
41501
|
);
|
|
41490
|
-
}
|
|
41502
|
+
},
|
|
41503
|
+
mode: "full"
|
|
41491
41504
|
},
|
|
41492
41505
|
{
|
|
41493
41506
|
name: "list_users",
|
|
@@ -41551,7 +41564,8 @@ var DEV_TOOLS = [
|
|
|
41551
41564
|
},
|
|
41552
41565
|
args
|
|
41553
41566
|
);
|
|
41554
|
-
}
|
|
41567
|
+
},
|
|
41568
|
+
mode: "full"
|
|
41555
41569
|
},
|
|
41556
41570
|
{
|
|
41557
41571
|
name: "list_roles",
|
|
@@ -41578,7 +41592,8 @@ var DEV_TOOLS = [
|
|
|
41578
41592
|
},
|
|
41579
41593
|
args
|
|
41580
41594
|
);
|
|
41581
|
-
}
|
|
41595
|
+
},
|
|
41596
|
+
mode: "full"
|
|
41582
41597
|
},
|
|
41583
41598
|
{
|
|
41584
41599
|
name: "list_branches",
|
package/package.json
CHANGED
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": "
|
|
10
|
+
"version": "2.0.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
15
15
|
"identifier": "@daghis/teamcity-mcp",
|
|
16
|
-
"version": "
|
|
16
|
+
"version": "2.0.0",
|
|
17
17
|
"runtimeHint": "npx",
|
|
18
18
|
"runtimeArguments": [
|
|
19
19
|
{
|