go-passage-of-time
Passage of Time MCP Server in Golang
claude mcp add --transport stdio kevensen-go-passage-of-time-mcp-server docker run -i kevensen/go-pot-mcp-server:latest
How to use
The go-passage-of-time MCP server (go-potms) provides a lightweight way for an LLM to interact with a simulated notion of time. It is implemented in Go and ships as a binary or can be run via Docker. By default, the server runs in stdio mode, allowing direct communication over standard input/output. If you prefer an HTTP-based, streamable interface, you can run the server with a -port flag (for example, go-potms -port 8080) to expose a simple HTTP stream endpoint that the LLM can query and receive time-related results. The included Docker image makes it easy to deploy in containerized environments without building from source. Use the Docker image to run the MCP server in a container and connect to it through your MCP client as you would with other MCP servers. The server supports core time-related operations such as querying the current simulated time and applying time deltas, enabling your agent to reason about durations, future times, and the ordering of events within the simulated time context.
How to install
Prerequisites:
- A computer with Go installed (if you plan to build from source)
- Docker installed (for the Docker image)
- Basic familiarity with MCP workflows and LLM agents
Option A: Install from source
- Ensure Go is installed (https://golang.org/dl/).
- Install the MCP server binary: go install github.com/kevensen/go-passage-of-time-mcp-server/go-potms@latest
- Run the server locally in stdio mode: go-potms
Option B: Run via Docker (recommended for quick start)
- Install Docker.
- Pull and run the Docker image: docker run -i kevensen/go-pot-mcp-server:latest
Option C: Run as HTTP streamable server (with port)
- If building from source, compile with the -port flag support (see repository docs).
- Run the binary with a port (example: go-potms -port 8080) to expose an HTTP stream endpoint.
- When using Docker, expose a port with -p (e.g., docker run -p 8080:8080 -i kevensen/go-pot-mcp-server:latest).
Additional notes
Notes and tips:
- If running via Docker, ensure proper port mappings if you intend to use the HTTP stream interface.
- The server defaults to stdio; use the -port option to enable HTTP streaming for integration with MCP clients that rely on HTTP rather than stdio.
- When using Docker, you may want to mount volumes for logging or configuration if you extend the server in environments that require persistence.
- No environment variables are strictly required for basic operation, but you can pass environment-specific configuration or secrets if needed for extended deployments.
- If you encounter time-related edge cases, ensure your LLM prompts clearly separate requests for current time vs. time deltas to avoid ambiguity in the simulated timeline.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go