Skip to main content
Glama
Time MCP

Time MCP

by fangmd
README.md
# Time MCP

A Model Context Protocol (MCP) server that provides time-related tools for LLM applications.

## Features

- Get current UTC time in ISO 8601 format
- Get Unix timestamp
- Support for timezone queries (optional extension)

## Requirements

- Node.js 18+
- pnpm

## Docker Deployment

> 🐳 **Docker 部署**: 查看 [DOCKER.md](./DOCKER.md) 了解如何使用 Docker 和 Docker Compose 部署 Time MCP 服务器。

快速开始:
```bash
docker-compose up -d
```

## Installation

```bash
pnpm install
```

## Development

```bash
# Run in development mode (Stdio mode)
pnpm dev

# Run in HTTP mode (development)
pnpm dev:http

# Build for production
pnpm build

# Run production build (Stdio mode)
pnpm start

# Run production build (HTTP mode)
pnpm start:http
```

## Transport Modes

This server supports two transport modes:

### Stdio Mode (Default)

The server communicates via standard input/output streams. This is the default mode and is suitable for local process communication.

```bash
pnpm dev
# or
TRANSPORT=stdio pnpm start
```

### HTTP Mode

The server runs as an HTTP server and can be accessed remotely. Suitable for remote deployment and network communication.

```bash
# Development
pnpm dev:http

# Production
TRANSPORT=http PORT=3000 HOST=0.0.0.0 pnpm start
```

**Environment Variables for HTTP Mode:**
- `TRANSPORT`: Transport type (`stdio` | `http`), default: `stdio`
- `PORT`: HTTP port (HTTP mode), default: `3000`
- `HOST`: HTTP listen address (HTTP mode), default: `0.0.0.0`
- `MCP_PATH` or `API_PATH`: HTTP API path (HTTP mode), default: `/mcp`
- `LOG_LEVEL`: Log level (`DEBUG` | `INFO` | `WARN` | `ERROR`), default: `INFO`

## Logging

The server includes comprehensive logging for troubleshooting. Logs are output to `stderr` (following MCP protocol conventions).

**Log Levels:**
- `DEBUG`: Detailed debug information (most verbose)
- `INFO`: General informational messages (default)
- `WARN`: Warning messages
- `ERROR`: Error messages only (least verbose)

**Setting Log Level:**
```bash
# Set log level via environment variable
LOG_LEVEL=DEBUG pnpm dev
LOG_LEVEL=ERROR pnpm start:http
```

**What Gets Logged:**
- Server startup and shutdown
- Transport creation and connection
- HTTP request/response details (method, path, duration)
- Tool calls (name, arguments, results)
- Errors with stack traces

## Usage

> 📖 **详细使用文档**: 查看 [USAGE.md](./USAGE.md) 了解如何在其他 LLM 应用中集成和使用 time-mcp,包括在 OpenAI JS SDK Response API 中的完整示例。

This MCP server provides the following tools:

### getCurrentTime

Returns the current UTC time in ISO 8601 format along with Unix timestamp.

**Parameters**: None

**Returns**:
```json
{
  "timestamp": "2024-01-01T12:00:00.000Z",
  "iso": "2024-01-01T12:00:00.000Z",
  "unix": 1704110400000
}
```

## License

ISC

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is singular and clearly defined.

Naming Consistency5/5

A single tool inherently has perfect naming consistency. The name 'getCurrentTime' follows a clear verb_noun pattern and is descriptive.

Tool Count2/5

One tool is too few for most server purposes, as it limits functionality and may not cover the domain adequately. For a time-related server, additional tools like time conversion, timezone handling, or scheduling might be expected.

Completeness2/5

The server is severely incomplete for a time-related domain. It only provides current time retrieval, lacking essential operations such as timezone conversions, date calculations, or formatting options, which are common in time utilities.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues