Skip to content

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

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages