Skip to content

A minimal TypeScript MCP server that provides current local datetime in a clean single-line format. Perfect as a blueprint for building simple, single-purpose MCP servers.

Notifications You must be signed in to change notification settings

gnokit/mcp-datetime

Repository files navigation

MCP Current Time Server

A minimal Model Context Protocol (MCP) server that provides current local datetime information. This server serves as a blueprint for building simple, single-purpose MCP servers.

Features

  • current-time: Get current local datetime in a simple single-line format

Quick Start

Prerequisites

Installation

# Clone and navigate to project
git clone <repository-url>
cd mcp-datetime

# Install dependencies
bun install

# Make executable
chmod +x src/index.ts

Run Server

bun run src/index.ts

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "datetime": {
      "command": "bun",
      "args": ["/absolute/path/to/mcp-datetime/src/index.ts"]
    }
  }
}

VS Code MCP Extension

{
  "mcp": {
    "servers": {
      "datetime": {
        "command": "bun",
        "args": ["/absolute/path/to/mcp-datetime/src/index.ts"]
      }
    }
  }
}

Usage Example

{
  "tool": "current-time",
  "parameters": {
    "timezone": "America/New_York"
  }
}

Response:

Monday, January 15, 2024 at 2:30:45 PM EST

Development

Scripts

# Run server
bun run src/index.ts

# Run tests
bun test

# Build for production
bun build src/index.ts --outdir=dist

Project Structure

src/
├── index.ts              # Main entry point
├── server/
│   └── datetime-server.ts # MCP server configuration
├── tools/
│   ├── current-time.ts    # Current time tool
│   └── current-time.test.ts # Unit tests
├── utils/
│   └── datetime-utils.ts  # Shared utilities
└── types/
    └── datetime.types.ts  # Type definitions

Extending This Blueprint

This minimal server is designed to be easily extended:

  1. Add new tools: Create src/tools/new-tool.ts and register in datetime-server.ts
  2. Add resources: Create src/resources/new-resource.ts and register in datetime-server.ts
  3. Add validation: Use Zod schemas for input validation
  4. Add tests: Create .test.ts files alongside your tools

Testing

Run the test suite:

bun test

Troubleshooting

Common Issues

  1. Permission Denied: Make sure src/index.ts is executable

    chmod +x src/index.ts
  2. Timezone Issues: Ensure valid IANA timezone identifiers are used

License

MIT License - see LICENSE file for details.

About

A minimal TypeScript MCP server that provides current local datetime in a clean single-line format. Perfect as a blueprint for building simple, single-purpose MCP servers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •