IT

itcaat/teamcity-mcp

Deployment & DevOps

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

12 stars 9 forks 品質 79 トレンド 27MIT

Teamcity MCP Server

概要

A comprehensive Model Context Protocol (MCP) server that exposes JetBrains TeamCity as structured AI-ready resources and tools for LLM agents and IDE plugins. The TeamCity MCP server is designed to work seamlessly with AI-powered IDEs like Cursor. Here's how to configure it: : Health endpoint should return {"status":"ok"} and MCP endpoint should return initialization response. - : Full JSON-RPC 2.0 over HTTP/WebSocket support - : Complete REST API integration with authentication - : Projects, build types, builds, agents, and artifacts - : Trigger, cancel, pin builds, set tags, download artifacts, search builds - : Comprehensive build search with multiple filters (status, branch, user, dates, tags) - : Docker, Kubernetes, monitoring, caching, and comprehensive logging - : No config files needed, everything via environment variables - : Provides real current date/time to prevent AI models from using training data dates Use the included verification script to test all...

README

以下は原文 README の抜粋です。原文を見る。

TeamCity MCP Server

A comprehensive Model Context Protocol (MCP) server that exposes JetBrains TeamCity as structured AI-ready resources and tools for LLM agents and IDE plugins.

Quick Start

IDE Integration (Cursor)

The TeamCity MCP server is designed to work seamlessly with AI-powered IDEs like Cursor. Here’s how to configure it:

Cursor Configuration

Add this to your Cursor MCP settings:

{
  "mcpServers": {
      "teamcity": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "-e",
          "TC_URL",
          "-e",
          "TC_TOKEN",
          "itcaat/teamcity-mcp:latest",
          "--transport",
          "stdio"
        ],
        "env": {
          "TC_URL": "https://your-teamcity-server.com",
          "TC_TOKEN": "your-teamcity-api-token"
        }
      }
    }
}    

Local Development

1. Build the Server

make build
# This creates ./bin/teamcity-mcp and a symlink ./server

2. Set Environment Variables

# Required
export TC_URL="https://your-teamcity-server.com"

# Optional (enables HMAC authentication)
export SERVER_SECRET="your-hmac-secret-key"

# Authentication
export TC_TOKEN="your-teamcity-api-token"

3. Run the Server

./server
# Server starts on :8123 by default

4. Test the Server

# Health check
curl http://localhost:8123/healthz

# MCP protocol test
curl -X POST http://localhost:8123/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-hmac-secret-key" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{}}}'

Expected result: Health endpoint should return {"status":"ok"} and MCP endpoint should return initialization response.

Features

  • MCP Protocol Compliance: Full JSON-RPC 2.0 over HTTP/WebSocket support
  • TeamCity Integration: Complete REST API integration with authentication
  • Resource Access: Projects, build types, builds, agents, and artifacts
  • Build Operations: Trigger, cancel, pin builds, set tags, download artifacts, search builds
  • Advanced Search: Comprehensive build search with multiple filters (status, branch, user, dates, tags)
  • Production Ready: Docker, Kubernetes, monitoring, caching, and comprehensive logging
  • Environment-Based Configuration: No config files needed, everything via environment variables
  • AI Time Awareness: Provides real current date/time to prevent AI models from using training data dates

Environment Variables Reference

Required Variables

Variable Description Example
TC_URL TeamCity server URL https://teamcity.company.com
SERVER_SECRET HMAC secret for client authentication (optional) my-secure-secret-123

Authentication Variables

Variable Description Example
GitHub で README 全文を見る

インストール

docker run --rm -i -e TC_URL -e TC_TOKEN itcaat/teamcity-mcp:latest --transport stdio
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "teamcity": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "TC_URL", "-e", "TC_TOKEN", "itcaat/teamcity-mcp:latest", "--transport", "stdio" ], "env": { "TC_URL": "https://your-teamcity-server.com", "TC_TOKEN": "your-teamcity-api-token" } } } }