now-mcp
A small MCP server that gives Claude the current date and time. Paste a URL, done.
Claudeに今の日付と時刻を渡すだけのMCPサーバー。URL貼って終わり。
Why I made this / なぜ作ったか
English: I needed time-awareness in my own Claude workflow. Claude doesn't know the current date or time by default — it guesses or refuses. So I built this for myself. Anthropic will probably ship this natively at some point; when they do, this becomes obsolete and that's fine.
日本語: 自分の作業に時間の感覚が必要だったから作っただけ。Claudeはデフォルトで日付も時刻も知らない(推測するか答えない)。Anthropicがいずれ公式対応するはずで、そうなったらこれは不要になる。それでいい。
How to use / 使い方
claude.ai → Settings → Connectors → Add custom connectorclaude.ai → 設定 → コネクタ → カスタムコネクタを追加
Paste this URL / このURLを貼る:
https://now-mcp.jyagunii.workers.dev/mcp
That's it. No setup, no copy-paste prompts.それだけ。設定もコピペプロンプトも不要。
Custom MCP connectors on claude.ai require Pro / Max / Team / Enterprise plans (Free added MCP support in Feb 2026).claude.ai のカスタムMCPコネクタは Pro / Max / Team / Enterprise 対応(Free でも 2026年2月から対応)。
Optional: pin your timezone / オプション: タイムゾーン固定
Append ?tz= with your IANA timezone for guaranteed accuracy:
確実に正しい時刻にしたい場合は、IANAタイムゾーンを付ける:
https://now-mcp.jyagunii.workers.dev/mcp?tz=Asia/Tokyo
To find your timezone, visit: https://now-mcp.jyagunii.workers.dev/
What it does / 何をするか
One tool: get_current_time(timezone?)
- Returns ISO 8601 timestamp, human-readable time, weekday, unix milliseconds
- Timezone resolution: argument → URL param
?tz=→ Cloudflare geolocation → UTC
ツールは1つ: get_current_time(timezone?)
- ISO 8601、人が読める形式、曜日、unixミリ秒を返す
- タイムゾーン決定優先順位: 引数 → URLパラメータ → Cloudflare地理情報 → UTC
Example response / レスポンス例
{
"iso": "2026-05-08T13:09:20+09:00",
"human": "2026-05-08 13:09 Fri (Asia/Tokyo)",
"timezone": "Asia/Tokyo",
"weekday": "Fri",
"unix_ms": 1778632000000,
"_timezone_source": "argument"
}
_timezone_source indicates where the timezone came from: argument, url_param, cloudflare_geo, or fallback.
Where it works, where it doesn't / 動く場合と動かない場合
Works / 動く
- claude.ai web/mobile users with default location settingsデフォルト設定の claude.ai web/モバイルユーザー
- Users with
?tz=...URL param setURLパラメータ?tz=...を設定した人 - Users running Now Extension for Claude (Chrome extension that injects timestamps)姉妹のChrome拡張 Now Extension for Claude を使っている人
Doesn't work / 動かない
- Users who disabled location in Claude privacy settingsClaudeのプライバシー設定で位置情報を無効化したユーザー
- VPN users (gets the VPN exit node's timezone)VPN経由のユーザー(VPN出口のタイムゾーンが返る)
- Direct Anthropic API users (no system prompt with location)Anthropic API直接利用者(システムプロンプトに位置情報なし)
- Other MCP clients (Cursor, Zed, etc. — depends on the client)他のMCPクライアント(Cursor, Zed など — クライアント次第)
These are mostly technical users. If that's you, just pass the timezone argument explicitly, set the URL param, fork the repo, or self-host. You can solve it.
これらは大体、技術力のあるユーザー層なので、timezone 引数を明示的に渡すか、URLパラメータを設定するか、フォークするか、自前デプロイで解決できるはずです。
Why MCP alone can't perfectly handle "world support" / なぜMCP単体で完璧な世界対応は不可能か
Documenting this because it took a while to figure out:
ここに書いておくのは、自分でこれを解明するのに時間がかかったからです:
MCP protocol has no way to convey user locale to the server. Confirmed in the official spec.MCPプロトコル仕様には、ユーザーロケールをサーバーに伝えるフィールドが存在しない(公式仕様確認済み)。
For remote MCP servers, the request comes from the AI provider's datacenter, not the user. Verified: Claude calls reach this server from
Anthropic, PBCin Virginia, not from the user's actual location.リモートMCPサーバーへのリクエストは、AIプロバイダのデータセンター経由で届く。実測済み: Claudeから時間君を呼ぶと、Cloudflareから見える送信元はバージニア州のAnthropic, PBCで、ユーザーの実位置ではない。The AI must read user location from its system prompt and pass it as an argument. This is the only viable path, and it depends on the AI's judgment — not 100% reliable.AIがシステムプロンプトから位置情報を読み取り、引数として渡すのが唯一の方法。AIの判断頼みで100%ではない。
This is a structural limitation of MCP, not a bug.これはMCPの構造的な制約で、バグではありません。
Self-host / 自分でデプロイする
git clone https://github.com/jyagunii-bot/now-mcp.git
cd now-mcp
npm install
npx wrangler login
npm run deploy
Runs on Cloudflare Workers free tier.Cloudflare Workersの無料枠で動きます。
Customize / カスタマイズ
Edit src/index.ts:
tools[0].description— how Claude perceives the toolinstructions(in theinitializehandler) — operating rules sent to ClauderesolveTimezone()— fallback behavior
Then npm run deploy.
Companion / 姉妹プロジェクト
🔗 Now Extension for Claude — Chrome extension that injects current timestamp into every message. Works alongside this MCP for full accuracy in Chrome.
姉妹のChrome拡張。送信メッセージ毎にタイムスタンプを注入することで、Chromeブラウザ環境では確実に動きます。
License
MIT — no warranty, use at your own risk.