Craftika/mcp-teamcity-server
3.2
If you are the rightful owner of mcp-teamcity-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The MCP TeamCity Server is a robust Model Context Protocol server designed for seamless integration with TeamCity, offering AI assistants advanced CI/CD functionalities.
Tools
5
Resources
0
Prompts
0
MCP TeamCity Server
A comprehensive Model Context Protocol (MCP) server for TeamCity integration, providing AI assistants with powerful CI/CD capabilities.
✨ Features
🏗️ Complete TeamCity Integration
- Project and build configuration management
- Real-time build monitoring and triggering
- Advanced log search and analysis
- VCS root management with multi-provider support
🔒 Production-Ready Security
- Token-based and basic authentication
- Rate limiting and request throttling
- Comprehensive input validation
- Secure credential management
⚡ High Performance
- Intelligent caching with TTL
- Connection pooling and reuse
- Memory optimization
- Async/await throughout
🚀 Easy Deployment
- Docker containerization
- Health checks and auto-restart
- Monitoring and logging
- One-command deployment scripts
🚀 Quick Start
Option 1: Docker (Recommended)
# Clone and configure
git clone https://github.com/your-org/mcp-teamcity-server.git
cd mcp-teamcity-server
cp .env.example .env
# Edit .env with your TeamCity settings
# TEAMCITY_URL=https://your-teamcity.com
# TEAMCITY_TOKEN=your-access-token
# Deploy
./scripts/deploy.sh deploy
Option 2: Local Development
# Install and build
npm install
npm run build
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Start
npm start
🛠️ Available Tools
| Category | Tool | Description |
|---|---|---|
| Projects | list_projects | List and filter TeamCity projects |
get_project | Get detailed project information | |
create_project | Create new projects | |
| Builds | list_builds | List builds with advanced filtering |
trigger_build | Trigger builds with custom parameters | |
get_build_queue | Monitor build queue status | |
| Logs | get_build_log | Retrieve build logs with pagination |
search_build_log | Search logs with regex support | |
| VCS | list_vcs_roots | Manage VCS repositories |
create_vcs_root | Add new VCS connections |
📖 Documentation
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ MCP TeamCity │◄──►│ TeamCity │
│ (AI Agent) │ │ Server │ │ Server │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌──────▼──────┐
│ Cache & │
│Rate Limiter │
└─────────────┘
Key Components:
- TeamCity Client: REST API integration with auth & error handling
- Tool Handlers: Modular, feature-specific implementations
- Cache Manager: Intelligent caching with TTL
- Rate Limiter: Request throttling with burst support
- Logger: Structured logging with multiple formats
🎯 Use Cases
CI/CD Automation
// Trigger a build with custom parameters
{
"tool": "trigger_build",
"arguments": {
"buildTypeId": "MyApp_Deploy",
"branchName": "refs/heads/release",
"properties": {
"env.DEPLOY_ENV": "production",
"system.debug": "true"
}
}
}
Build Analysis
// Search for errors in build logs
{
"tool": "search_build_log",
"arguments": {
"buildId": 12345,
"searchPattern": "ERROR|FAILED|Exception",
"isRegex": true,
"contextLines": 3
}
}
Project Management
// Create a new project with VCS
{
"tool": "create_project",
"arguments": {
"name": "New Microservice",
"id": "NewMicroservice",
"description": "Production microservice"
}
}
🤝 Contributing
We welcome contributions! Please see our for details.
# Development workflow
npm run dev # Start development server
npm run test # Run tests
npm run lint # Check code quality
npm run build # Build for production
📄 License
MIT License - see the file for details.
🆘 Support
- 📖
- 🐛 Issues
- 💬 Discussions
Built with ❤️ for the TeamCity and AI community