Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者による説明(英語の原文)
Local task scheduler and worker manager with MCP integration for Claude Desktop.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
GMAIL_USER, GMAIL_APP_PASSWORD「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"conductor": {
"command": "uvx",
"args": [
"conductor-mcpserver"
],
"env": {
"GMAIL_USER": "your-value",
"GMAIL_APP_PASSWORD": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add conductor --env GMAIL_USER=your-value --env GMAIL_APP_PASSWORD=your-value -- uvx conductor-mcpserver動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"conductor": {
"command": "uvx",
"args": [
"conductor-mcpserver"
],
"env": {
"GMAIL_USER": "your-value",
"GMAIL_APP_PASSWORD": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"conductor": {
"type": "stdio",
"command": "uvx",
"args": [
"conductor-mcpserver"
],
"env": {
"GMAIL_USER": "your-value",
"GMAIL_APP_PASSWORD": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GMAIL_USER envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント jarmstrong158 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:GMAIL_APP_PASSWORD
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(4.0.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Claude's hands for local automation — with a web dashboard for the humans who watch it.
Conductor gives Claude direct, persistent control of a local task runner. Tell Claude what you want automated; it creates the scheduled workers, builds multi-step pipelines, wires up email reports, fires test runs, and reads back the logs when something fails — all through conversation. A web dashboard at 127.0.0.1:5000 runs alongside it for humans who want to peek at status, click pause, or hand-edit a worker.
Originally built to automate warehouse reporting workflows (the daily ShipExec metrics pull) and now general-purpose: any Python / batch / shell script, any schedule, any chain.
The MCP server lives in this repo (
server.py) — the thin layer that exposes Conductor's REST API as Claude tools. It's bundled and auto-registered on install, so most users won't need to touch it directly. The separate conductor-mcp repo is deprecated — it holds an older copy without the auto-launch race protection.
Conductor registers itself as an MCP server in Claude Desktop on first launch. After restarting Claude Desktop once, Claude has 21 tools for full control:
Example conversation:
You: Run my metrics script every night at 8:30 PM and email me the report
Claude: I'll set that up using the Run + Email template.
*(creates the worker, configures the schedule, wires up Gmail, fires it to test)*
Done — worker "Daily Metrics Report" is live. Check your email for the test run.
You: That uptime check keeps failing. What's going on?
Claude: *(pulls the last 10 runs, reads the error logs)*
The site returned a 503 three times in the last hour. The SSL certificate expired yesterday. Here's the full error from the last run...
You: Chain my backup script and cleanup script together. Run backup first, then cleanup after it finishes. Every day at 2 AM.
Claude: *(creates a chain with stage 0 = backup, stage 1 = cleanup, cron schedule "0 2 * * *")*
Chain "Nightly Maintenance" created with 2 steps. Backup runs first, cleanup runs after it succeeds.
How it works:
09:00, 14:30), intervals (2h 30m), or cron expressions (0 9 * * 1-5 with plain-English preview)..py), batch (.bat, .cmd), and shell (.sh) scripts. Selenium and GUI scripts run in a visible terminal window via new_console.KEY=VALUE pairs into subprocess environments.Download and run `Conductor_Setup.exe` from the latest release.
.py workers with it%AppData%\Conductor — no admin/UAC requiredPython is required for Python workers. Conductor itself ships as a self-contained
executable, but it runs your
.pyscripts with a real interpreter found on your system
(the
pylauncher,PATH, or the Windows registry). If none is found, workers fail
loudly with instructions — they are never reported as successful.
Set
CONDUCTOR_PYTHONto a full path to pin a specific interpreter.
.bat/.cmd/.shworkers do not need Python.
git clone https://github.com/jarmstrong158/conductor.git
cd conductor pip install -r requirements.txt python launch.py
The dashboard opens at http://127.0.0.1:5000. Press Ctrl+C to stop.
.\build.bat
Forces a full rebuild:
.\build.bat --rebuild
Output: Output\Conductor_Setup.exe. Requires Inno Setup.
.py)Scripts run as subprocesses:
if __name__ == "__main__":
print("Task executed!")
.bat, .sh, .cmd)Executed as subprocesses. The worker's output directory (if set) is used as the working directory.
| Type | Format | Example |
|---|---|---|
| Fixed | HH:MM or HH:MM,HH:MM | 09:00, 14:30, 17:00 |
| Interval | Xh Ym | 2h 30m, 1h, 45m |
| Cron | 5-field crontab | 0 9 * * 1-5 (weekdays at 9am) |
Chains run multiple scripts in sequence. Each step has a stage number — steps with the same stage run in parallel, stages execute in order. Stop on failure halts the chain when any step fails.
Stage 0: backup.py ──┐
Stage 0: cleanup.py ──┤ (both run at once) ↓ Stage 1: report.py (runs after both finish)
| Template | What it does | Email capability |
|---|---|---|
| Folder Backup | Copy folder, keep N backups | Summary email |
| File Cleanup | Delete old files by pattern | Summary email |
| Folder Watcher | Move/email files by extension | Per-rule: move, email, or both |
| Uptime Check | Monitor URL, log status | Alert email on DOWN |
| Open URL | Open URL in browser | — |
| Run + Email | Run script, email output file | Sends output as attachment |
All generated scripts use Python stdlib only.
conductor/
├── launch.py # Entry point — Flask, browser, tray, MCP registration ├── app.py # Flask backend + APScheduler + SQLite ├── server.py # MCP server for Claude Desktop ├── CLAUDE.md # Context file for Claude Code / Desktop ├── static/ │ └── index.html # Frontend — HTML + CSS + JS (no frameworks) ├── tasks/ │ └── example_task.py ├── templates/ │ └── generated/ # Auto-generated template scripts ├── build.bat # One-click installer build ├── build_icon.py # Generates conductor.ico ├── conductor.spec # PyInstaller spec ├── installer.iss # Inno Setup script └── conductor.db # SQLite database (auto-created)
| Layer | Technology |
|---|---|
| Backend | Python 3, Flask |
| Scheduling | APScheduler (BackgroundScheduler + MemoryJobStore) |
| Persistence | SQLite (WAL mode) |
| Frontend | Vanilla JS, single HTML file |
| AI Integration | Claude via MCP (21 tools) + Anthropic API (error analysis) |
The debug log includes an Analyze Errors button. When ERROR entries are present, click it to send them to Claude for diagnosis. Requires an Anthropic API key in .env:
ANTHROPIC_API_KEY=sk-ant-...
Example — before / after:
Raw error in the debug log:
[ERROR] worker "Daily Metrics Report" exit code 1
Traceback (most recent call last): File "C:\scripts\metrics.py", line 142, in driver.find_element(By.ID, "report-table").click() File ".../selenium/.../webdriver.py", line 830, in find_element raise NoSuchElementException(message) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="report-table"]"}
Claude's diagnosis (one click later):
The script is failing on a
find_elementcall before the page has finished loading — Selenium is racing the DOM. The element#report-tableis rendered after an XHR completes. Two fixes, in order of preference:
1. Wrap the lookup in a
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "report-table")))so it polls until the element exists.
2. If you don't want to import the wait helpers, a
time.sleep(2)before the click will work but is brittle.
The traceback shows this happened on the first run after a ShipExec UI change yesterday — they may have also renamed the element. Verify the ID is still
report-tablein DevTools before adding the wait.
Click 📧 Email in the header to configure Gmail credentials. Requires a Gmail App Password (2-Step Verification must be enabled first). Credentials are stored locally in .env and never transmitted except to Gmail's SMTP server.
Once configured, all templates and worker notifications can send email.
| Method | Path | Purpose |
|---|---|---|
GET | /api/workers | List all workers |
POST | /api/workers | Register worker(s) |
PUT | /api/workers/ | Update worker |
POST | /api/workers/ /pause | Toggle pause/resume |
POST | /api/workers/ /run-now | Fire immediately |
GET | /api/workers/ /history | Run history |
POST | /api/workers/ /assign-group | Assign to group |
DELETE | /api/workers/ | Delete worker |
POST | /api/workers/pause-all | Pause all workers |
DELETE | /api/workers/all | Delete all workers |
GET | /api/chains | List all chains |
POST | /api/chains | Create chain |
PUT | /api/chains/ | Update chain |
POST | /api/chains/ /pause | Toggle pause/resume |
POST | /api/chains/ /run-now | Fire immediately |
GET | /api/chains/ /history | Run history |
DELETE | /api/chains/ | Delete chain |
| `G
冒頭だけを表示しています。続きはリポジトリで読めます