プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

when-free

作者:YauhenBichelバージョン 0.4.1i★ –iパソコンで動く
レジストリ名io.github.YauhenBichel/when-free

インストール

概要

作者による説明(英語の原文)

Which days and times am I free? Reads your calendar feeds and answers with the slots you can offer.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 文書・表計算・事務作業
  • 入力が必要なもの:WHENFREE_CALENDARS

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: WHENFREE_CALENDARS, WHENFREE_TZ

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "when-free": {
      "command": "uvx",
      "args": [
        "when-free",
        "mcp"
      ],
      "env": {
        "WHENFREE_CALENDARS": "your-value",
        "WHENFREE_TZ": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add when-free --env WHENFREE_CALENDARS=your-value --env WHENFREE_TZ=your-value -- uvx when-free mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "when-free": {
      "command": "uvx",
      "args": [
        "when-free",
        "mcp"
      ],
      "env": {
        "WHENFREE_CALENDARS": "your-value",
        "WHENFREE_TZ": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "when-free": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "when-free",
        "mcp"
      ],
      "env": {
        "WHENFREE_CALENDARS": "your-value",
        "WHENFREE_TZ": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • WHENFREE_CALENDARS 秘密 env
    Private iCal addresses of your calendars, comma-separated. Optional if you saved them with `whenfree add`.
  • WHENFREE_TZ env
    Time zone for answers, like Europe/London. Default: the computer's.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント YauhenBichel で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

文書・表計算・事務作業のほかのサーバーとの比較i

  • このカテゴリのほかの3572件のうち0%よりスターが多い
  • このカテゴリのほかの3572件のうち51%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの3572件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

when-freeは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:WHENFREE_CALENDARS

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.4.1)がレジストリに届いたのは30 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Excel MCP Server

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

作者:haris-musa広く使われている↓ 5万/週★ 42767 日前更新

パソコンで動く

MCP Server for Excel

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

作者:sbroenne成長中↓ 4321/週★ 8475 日前更新

パソコンで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

when-free

Someone asks when you're free. This reads your calendar and gives you the answer, ready to paste.

  • Paste the message, get the slots. It reads "Tuesday or Wednesday next week, between 10am and 4pm" and answers for exactly those days and hours.
  • Works with Google, Outlook and iCloud calendars, or any .ics file. Several calendars at once.
  • Private. It runs on your computer, needs no account and no API key, and never changes your calendar.
  • Works from your AI tools too: Claude, Cursor and other MCP clients, Open WebUI, n8n, Shortcuts, scripts.
  • And on your other devices: phones, tablets and watches, Home Assistant (and Alexa, Google Home, Siri through it), and the menu bar or status bar of macOS, Linux and Windows.

Contents

Try it · Add your calendar · Everyday use · Reading a message · Use it from other tools · Other devices · Privacy · Settings · What counts as busy · Limits · Problems · Where it is listed

Try it in a minute

With uv, nothing to install first:

uvx when-free demo

To keep it (needs Python 3.11 or newer):

uv tool install when-free          # or: pipx install when-free

whenfree demo

Using Claude Desktop? You can skip all of this: install the one-click extension.

whenfree demo makes up a calendar for next week and answers a recruiter's message from it. It reads none of your data and saves nothing:

  > Hi! Thanks for applying. Could you share a few times on Tuesday, Wednesday or Thursday next week,

between 10am and 4pm? The interview takes about an hour.

Free between 10:00 and 16:00 (Europe/London), slots of 60+ minutes, 15-minute buffer around events:

  • Tue 13 Oct: 11:45–12:45, 14:15–16:00
  • Wed 14 Oct: 12:15–14:15
  • Thu 15 Oct: 13:15–14:45

Add your calendar

  1. Copy your calendar's private address. It's a link that ends in .ics:
CalendarWhere to find it
Google CalendarSettings → click your calendar on the left → *Integrate calendar* → Secret address in iCal format
OutlookSettings → Calendar → Shared calendars → *Publish a calendar* → the ICS link
iCloudCalendar → the share icon next to the calendar → *Public Calendar* (a webcal:// link is fine)
Anything elseAny .ics link, or an exported .ics file
  1. Run `whenfree add` and paste it. The address isn't shown while you paste. It's checked first, and saved only if it works:
   $ whenfree add

Paste the address and press Enter (it is not shown): Added 'personal': 412 events, 9 block time in the next 14 days. Saved in /Users/you/.config/when-free/config.toml, readable only by you. Now run: whenfree

  1. Run `whenfree`. You'll see your free time for the next working days.

On a Mac, pbpaste | whenfree add takes the address straight from the clipboard.

Keep the address secret. It works like a password: anyone who has it can read that calendar. Give it to whenfree add and to nothing else, so not to a chat, a shell command or a repository. If it leaks, reset it in your calendar's settings.

Google Calendar, step by step

Do this in a browser, because the phone app doesn't show the address.

  1. Open Google Calendar settings: the gear icon, then Settings.
  2. In the left column, under Settings for my calendars, click the calendar you want. The one with your own name is where invitations arrive.
  3. Scroll down to Integrate calendar and copy Secret address in iCal format. It ends in basic.ics. Don't take "Public address in iCal format", which only works for a calendar you've made public.
  4. Run whenfree add and paste it when asked.

No "Secret address"? Work and school accounts can have it switched off. Export the calendar instead (Settings → Import & export → Export), unzip it, and run whenfree add ~/calendars/work.ics. An export is a snapshot, so export again when your calendar changes.

More than one calendar

A slot counts as free only if it's free in every calendar you add.

whenfree add --name work                 # a second calendar: asks for its address

whenfree add ~/calendars/family.ics # an exported file instead of an address whenfree check # can every calendar be read?

They're kept in ~/.config/when-free/config.toml, one [[calendar]] block each, with a name and a url or path. You can edit that file by hand. whenfree init creates an empty one.

Everyday use

You wantRun
Your free time over the next working dayswhenfree
The days and hours a message asks about`pbpaste \whenfree --message - (Mac clipboard) or whenfree --message invite.txt`
Next week's afternoonswhenfree --days "next week" --hours afternoon
Specific dayswhenfree --days "Thu 15 Oct, Fri 16 Oct"
A date rangewhenfree --from 2026-10-12 --to 2026-10-16
Only slots long enough for a 90-minute meetingwhenfree --min 90
To see what blocks each daywhenfree --busy
The answer in another time zonewhenfree --tz America/New_York
JSON for a scriptwhenfree --format json
To copy the answer`whenfree ... \pbcopy` (only the slot lines are copied)

Only the slot lines go to standard output. The context goes to standard error, so | pbcopy copies exactly what you'd paste into a reply.

Reading a message

--message finds the days and hours in ordinary text. It understands:

  • Dates written in any common way: Thu 1 Oct · Thursday the 1st of October · Monday, October 5th · 5 October · 2026-10-05 · Wednesday 30th
  • Hours: between 10:00am and 4:00pm · 10:00–16:00 · 9-5pm · 2 to 4 pm
  • Words, when there's no date (here, today is Thursday 1 Oct):
WrittenRead as
today · tomorrow · the day after tomorrowThu 1 · Fri 2 · Sat 3 Oct
Thursday or Fridaythe coming ones, today included: Thu 1, Fri 2 Oct
this Tuesday · next TuesdayTuesday of this week (already past, so left out and named) · Tuesday of next week, Tue 6 Oct
next week · this week · the week after nextthat week's working days, from today on
Tuesday or Wednesday next weekTue 6, Wed 7 Oct
any afternoon · Friday morning · evening12:00–17:00 · 09:00–12:00 · 17:00–20:00, unless hours are given

It always tells you how it read the dates, so you can check them against the message. A few rules keep it from guessing:

  • Explicit dates win. A heading like "Next week:" above "Wednesday 30th, Thursday 1st" doesn't add a whole week.
  • "Good morning" is a greeting, not a time.
  • Days already past are left out and named, never dropped silently. "Wednesday 30th" means the nearest Wednesday that's a 30th, so a message from last week reads as last week.
  • Words count from today. For an older message that says "tomorrow", give the days yourself with --days.

when-free never connects to your mailbox. You paste the message, pipe it in, or save it to a file.

Let your own language model read the message

If you run a model yourself, it can do the reading instead. Add this to the settings file:

[extract]

command = ["ollama", "run", "llama3.2"] # the prompt is sent on standard input

command = ["my-cli", "ask", "{prompt}"] # or placed where {prompt} is

The command receives the message and must print JSON: {"days": ["2026-10-05"], "hours": "10:00-16:00", "minutes": 60}. If it fails, pattern matching is used instead. Nothing runs unless you configure it, and --no-extract skips it for one run. The message goes to whatever that command talks to, so use a local model for private text.

Use it from other tools

Every way gives the same answer, only reads, and leaves event titles out unless asked.

Your toolUseSet up
Claude DesktopOne-click extensiondouble-click
Claude Code, with a skill that knows when to use itPlugintwo commands
Claude Code, Cursor, VS Code, any MCP clientMCP serverone line
Raycast, a right-click on a message (macOS)Recipesa few minutes
Open WebUI, n8n, Shortcuts, Raycast, anything that calls a URLLocal HTTP serverwhenfree serve
Your own agent with function callingSchema and calltwo commands
PythonThe libraryimport whenfree
Claude Code plugin

The plugin bundles the MCP server with a skill that tells Claude when to use it: when you ask about your availability, paste a message asking when you can meet, or before it proposes a time.

/plugin marketplace add YauhenBichel/when-free

/plugin install when-free@when-free

Then add your calendar once, if you have not yet: uvx when-free add.

MCP: Claude, Cursor and other assistants
claude mcp add when-free -- uvx when-free mcp          # Claude Code

For Cursor and other MCP clients, add this to their server list. uvx fetches when-free the first time, so there's nothing to install:

{

"mcpServers": { "when-free": { "command": "uvx", "args": ["when-free", "mcp"] } } }

If you installed it with uv tool install, use "command": "whenfree", "args": ["mcp"] instead. It's also listed in the MCP registry as io.github.YauhenBichel/when-free, on mcprush and in the M8ven Trust Index.

Then just ask: *"Here's the recruiter's message. Which of those times can I do?"* The assistant calls free_slots and answers from your real calendar.

ToolWhat it does
free_slotsFree time per day. Takes days, or from and to, or a message, plus hours, min_minutes, buffer_minutes, timezone, weekends, all_day_busy, include_busy
check_calendarsWhether each calendar can be read, with event counts. No details, no addresses

If a tool can't do its job, the assistant gets an error it can read ("could not read the calendar 'work'"), never a guess.

HTTP: Open WebUI, n8n, Shortcuts and scripts
whenfree serve                    # http://127.0.0.1:8765, only reachable from this computer
curl -H "Authorization: Bearer $(cat ~/.config/when-free/token)" \

'http://127.0.0.1:8765/free_slots?days=next%20week&hours=afternoon'

  • `

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く