@daghis/teamcity-mcp 1.13.1 → 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 CHANGED
@@ -1,5 +1,16 @@
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
+
3
14
  ## [1.13.1](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v1.13.0...teamcity-mcp-v1.13.1) (2025-12-22)
4
15
 
5
16
 
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**: Safe CI/CD operations
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
@@ -295,9 +297,33 @@ We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for deta
295
297
 
296
298
  ## Security
297
299
 
298
- - Configure `TEAMCITY_TOKEN` via environment (see `.env.example`); never commit real tokens
299
- - Token-based authentication only
300
- - Logs redact sensitive values
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: "1.13.1",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daghis/teamcity-mcp",
3
- "version": "1.13.1",
3
+ "version": "2.0.0",
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",
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": "1.13.1",
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": "1.13.1",
16
+ "version": "2.0.0",
17
17
  "runtimeHint": "npx",
18
18
  "runtimeArguments": [
19
19
  {