Releases: terramate-io/terramate-mcp-server
Releases · terramate-io/terramate-mcp-server
v0.0.6
What's Changed
- docs: change license from MPL 2.0 to MIT by @zied-elouaer in #20
Full Changelog: v0.0.5...v0.0.6
v0.0.5
0.0.5 - 2026-02-13
Added
- Add self-write guard to prevent redundant credential reloads after the MCP server writes refreshed tokens back to the credential file
Changed
- Improve log message when credential file write fails after token refresh to clarify this is expected for read-only Docker mounts
- Improve error message when
refresh_tokenis missing from credential file to guide users toward runningterramate cloud login - Surface token refresh failure reason in 401 error responses instead of returning a generic authentication error
- Change generic unauthorized error text to credential-type-agnostic wording (
credentials are invalid or expired)
Fixed
- Fix JWT refresh key mismatch by aligning MCP server default Firebase IDP key with Terramate CLI and supporting
TMC_API_IDP_KEYoverride
v0.0.4
What's Changed
- feat: add support for resources endpoints by @zied-elouaer in #18
New Contributors
- @zied-elouaer made their first contribution in #18
Full Changelog: v0.0.3...v0.0.4
0.0.3
Changelog
Added
- Add automatic JWT token refresh when API returns 401 Unauthorized
- Add file watching to automatically reload credentials when Terramate CLI updates them
- Add thread-safe credential management with mutex protection
- Add
StartWatching()andStopWatching()methods for credential file monitoring - Add comprehensive test suite for token refresh and file watching functionality
- Add test coverage for file watcher stop/restart scenarios
Changed
- JWT credentials now automatically refresh expired tokens without user intervention
- MCP server and Terramate CLI can now safely share and update the same credential file
- Credential file updates are atomic to prevent corruption during concurrent access
Fixed
- Fix US region endpoint from
api.us.terramate.iotous.api.terramate.io - Fix potential race condition in
waitForRefreshmethod for improved context cancellation handling
v0.0.2
v0.0.2
Added
- Add JWT token authentication support for user-level credentials
- Add
--credential-fileflag to specify custom JWT credential file location - Add
LoadJWTFromFile()function to load credentials from~/.terramate.d/credentials.tmrc.json - Add
Credentialinterface for authentication abstraction - Add
JWTCredentialimplementation with automatic expiration checking - Add
NewClientWithJWT()convenience constructor for JWT-based authentication - Add
NewClientWithAPIKey()convenience constructor for API key authentication - Add comprehensive test coverage for JWT authentication flows
- Add integration tests for MCP server with JWT credentials
- Add auto-refresh pattern for JWT tokens in AI assistant configurations (runs
terramate cloud infobefore starting server)
Changed
- Change
NewClient()to acceptCredentialinterface instead of raw API key string - Change MCP server to auto-load JWT credentials from default location when no API key provided
- Update all tests to use new
NewClientWithAPIKey()constructor - Update Makefile
run,dev, anddocker/runtargets to support both JWT and API key authentication - Update Dockerfile with documentation for both authentication methods
Security
- Add automatic JWT token expiration validation before each API request
- Add helpful error messages guiding users to refresh expired credentials
v0.0.1
Changelog
- Initial release of Terramate MCP Server
- Model Context Protocol (MCP) server implementation for Terramate Cloud integration
- Terramate Cloud SDK with comprehensive API client
- Stacks service for stack management
- Drifts service for drift detection
- Deployments service for CI/CD tracking
- Review Requests service for PR/MR integration
- Previews service for terraform plan debugging
- Memberships service for organization management
- MCP Tools for AI assistants:
tmc_authenticate- Authentication and organization membershiptmc_list_stacks- List and filter stacks with paginationtmc_get_stack- Get detailed stack informationtmc_list_drifts- List drift detection runstmc_get_drift- Get drift details with terraform planstmc_list_review_requests- List pull/merge requeststmc_get_review_request- Get PR details with terraform planstmc_get_stack_preview_logs- Debug failed terraform planstmc_list_deployments- List CI/CD deploymentstmc_get_stack_deployment- Get deployment detailstmc_get_deployment_logs- Debug failed deployments
- HTTP client with automatic retry logic and exponential backoff
- Graceful shutdown handling for SIGINT and SIGTERM signals
- Configuration via environment variables and CLI flags
- Support for EU and US regions
- Docker support with multi-stage builds
- Comprehensive test suite with race detector and coverage
- GitHub Actions CI/CD pipeline
- Automated Docker image publishing to GitHub Container Registry
- Documentation and usage examples