chronos
Simple .NET Core based mcp server for retrieving the current time.
claude mcp add --transport stdio aadversteeg-chronos-mcp-server docker run -i aadversteeg/chronos-mcp-server:latest \ --env DefaultTimeZoneId="Europe/Amsterdam"
How to use
The Chronos MCP Server is a .NET Core-based implementation of the Model Context Protocol (MCP) that provides timezone-aware date and time information. It exposes tools such as get_current_date_and_time and get_default_timezone_id, allowing MCP clients to fetch the current date/time in a specified timezone or in the server's configured default timezone. To use the server, connect via an MCP client or the Model Context Protocol C# SDK, configure the client with the server endpoint, and invoke the available tools with the appropriate parameters. If a DefaultTimeZoneId is configured, you can omit the timezone in requests; otherwise, you must supply a timezoneId parameter for each request that requires it.
Tools available:
- get_current_date_and_time: Returns the current date and time for a given timezone or the configured default timezone. Requires a timezoneId parameter if no DefaultTimeZoneId is set. Example request includes the timezoneId, and the response contains date, time, and timezone.
- get_default_timezone_id: Returns the server's configured default timezone if one exists; otherwise, returns an error indicating that no default timezone is configured. This helps clients understand whether a default is set and what it is.
To deploy, you can run the server directly (via Docker as shown in the Docker instructions), or use the .NET tool installation to install Ave.McpServer.Chronos and run ave-mcpserver-chronos or the one-shot dotnet tool exec variant. The server consistently handles errors using the Result pattern, ensuring clear error messages when invalid timezones are requested or when defaults are missing.
How to install
Prerequisites:
- Docker (for container deployment) or .NET 10 SDK (for local development and tool usage)
- Access to the internet to pull the Docker image or restore NuGet packages
Installation steps (Docker-based deployment):
- Ensure Docker is running on your machine.
- Pull and run the Chronos MCP Server Docker image: docker pull aadversteeg/chronos-mcp-server:latest docker run -d --name chronos-mcp -e "DefaultTimeZoneId=Europe/Amsterdam" aadversteeg/chronos-mcp-server:latest
Installation steps (local development with .NET tool):
- Install .NET 10 SDK if not already installed.
- Build and test from source (optional): git clone https://github.com/aadversteeg/chronos-mcp-server.git cd chronos-mcp-server dotnet build src/chronos.sln dotnet test src/chronos.sln
- Install and run the CLI tool (global): dotnet tool install --global Ave.McpServer.Chronos ave-mcpserver-chronos
One-shot execution without permanent installation: dotnet tool exec -y ave.mcpserver.chronos
Notes:
- If you configure DefaultTimeZoneId via appsettings.json or environment variables, you can simplify client requests by omitting timezoneId in some calls.
- When using Docker, you can override the default timezone by passing a different DefaultTimeZoneId environment variable at runtime: docker run -d --name chronos-mcp -e "DefaultTimeZoneId=Europe/Amsterdam" aadversteeg/chronos-mcp-server:latest
Additional notes
Configuration tips:
- DefaultTimeZoneId is optional. If not set, every get_current_date_and_time call must include a timezoneId parameter.
- Supported timezone identifiers follow standard IANA names (e.g., Europe/Amsterdam, America/New_York) and Windows IDs (e.g., Eastern Standard Time) depending on OS support.
- In container environments, you can set DefaultTimeZoneId via environment variable (e.g., -e "DefaultTimeZoneId=Europe/Amsterdam").
- When using the .NET tool, you can run the tool without permanent installation using dotnet tool exec, which caches locally but does not add the tool to your PATH.
- If you encounter timezone validation errors, ensure the timezone string is valid for the host OS or provided via appsettings.json/env var.
Related MCP Servers
mssql
MSSQL Server MCP implementation written in C#
McpDotNet.Extensions.SemanticKernel
Microsoft SemanticKernel integration for the Model Context Protocol (MCP). Enables seamless use of MCP tools as AI functions.
DatabaseMcpServer
MCP server from ttcc666/DatabaseMcpServer
mcp-dataverse
MCP Server for querying Dataverse using SQL
xperience-community
ASP.NET Core MCP server for Xperience by Kentico projects
console-to-http
Example of converting a stdio MCP server to HTTP using ModelContextProtocol.AspNetCore