Skip to main content
Glama
README.md
# meridian-mcp

An [MCP](https://modelcontextprotocol.io) server that helps LLMs reason about time across distributed teams: convert between timezones, look up current times around the world, and find overlapping working-hour slots for meetings.

Built in TypeScript on the [official MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk). Works with Claude Desktop, Claude Code, and any other MCP-compatible client.

## Tools

| Tool | What it does |
| --- | --- |
| `convert_time` | Convert a time (HH:mm or full ISO) from one IANA timezone to another. Reports the day delta. |
| `current_time` | Returns the current local time for each IANA timezone in a list. |
| `find_meeting_slot` | Given participants in different timezones (with optional working hours) and a target date, returns the overlapping working window and a suggested slot in everyone's local time. |

## Install

```bash
git clone https://github.com/marcusicaro/meridian-mcp.git
cd meridian-mcp
npm install
npm run build
```

## Use with Claude Desktop

Add the server to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "meridian": {
      "command": "node",
      "args": ["/absolute/path/to/meridian-mcp/dist/index.js"]
    }
  }
}
```

Restart Claude Desktop. The three tools become available to the model.

## Use with Claude Code

```bash
claude mcp add meridian -- node /absolute/path/to/meridian-mcp/dist/index.js
```

## Example prompts

> "What time is it now in São Paulo, Auckland, and London?"

> "If our standup is at 09:30 in America/Sao_Paulo on 2026-05-20, what time is that in Pacific/Auckland?"

> "Find a 45-minute meeting slot on 2026-05-22 that works for Marcus in São Paulo (09:00–18:00) and Lin in Auckland (09:00–17:00)."

## Development

```bash
npm run dev     # tsc --watch
npm start       # run the built server on stdio
```

The server speaks MCP over stdio. To inspect it manually, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):

```bash
npx @modelcontextprotocol/inspector node dist/index.js
```

## License

MIT — see [LICENSE](./LICENSE).