ArrEssJay/mcp-utc-time-server
If you are the rightful owner of mcp-utc-time-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 UTC Time Server is a high-precision time server implementing the Model Context Protocol (MCP) for AI agents in VSCode, offering full Unix/POSIX time support with nanosecond precision, strftime formatting, and comprehensive timezone handling.
GitHub Actions Workflows
This directory contains CI/CD workflows for the MCP UTC Time Server.
Workflows
ghcr-publish.yml - Build, Test, and Deploy
Trigger: Push to main or release/** branches
Jobs:
- test - Runs all tests, formatting checks, and linting
- build-and-publish - Builds Docker image and pushes to GitHub Container Registry (GHCR)
- deploy-to-azure - Automatically deploys the new image to Azure Container Apps
Setup
One-Time Azure Setup
To enable automatic deployment to Azure, run:
# Make sure you're logged into Azure and have gh CLI installed
az login
gh auth login
# Run the setup script
./.github/setup-azure-deploy.sh
This script will:
- Create an Azure service principal with Contributor access to the
mcp-time-rgresource group - Configure the following GitHub secrets:
AZURE_CLIENT_IDAZURE_CLIENT_SECRETAZURE_TENANT_IDAZURE_SUBSCRIPTION_ID
Manual Deployment
If you need to deploy manually without GitHub Actions:
# Build and push locally
docker build -t ghcr.io/arressjay/mcp-utc-time-server:latest .
docker push ghcr.io/arressjay/mcp-utc-time-server:latest
# Deploy to Azure
az containerapp update \
--name mcp-utc-time \
--resource-group mcp-time-rg \
--image ghcr.io/arressjay/mcp-utc-time-server:latest
Deployment Flow
┌─────────────────┐
│ Push to release │
│ or main │
└────────┬────────┘
│
v
┌─────────────────┐
│ Run Tests │
│ - cargo test │
│ - clippy │
│ - rustfmt │
└────────┬────────┘
│
v
┌─────────────────┐
│ Build & Push │
│ to GHCR │
└────────┬────────┘
│
v
┌─────────────────┐
│ Deploy to Azure │
│ Container Apps │
└────────┬────────┘
│
v
┌─────────────────┐
│ 🎉 Live! │
└─────────────────┘
Monitoring Deployments
View workflow runs:
gh run list
Watch a running workflow:
gh run watch
View logs for a specific run:
gh run view <run-id> --log
Troubleshooting
Deployment Fails
Check the workflow logs:
gh run list --workflow="Build, Test, and Publish to GHCR"
gh run view <run-id> --log
Check Azure Container App Status
# Check revision health
az containerapp revision list \
--name mcp-utc-time \
--resource-group mcp-time-rg \
--query "[].{Name:name, Active:properties.active, Health:properties.healthState}" \
-o table
# View logs
az containerapp logs show \
--name mcp-utc-time \
--resource-group mcp-time-rg \
--tail 50
Secrets Expired or Invalid
Re-run the setup script:
./.github/setup-azure-deploy.sh