drio
Open app

cal2prompt

Source

✨ Fetches your schedule (Google Calendar) and outputs it as a single LLM prompt, with an optional MCP server mode.

Catalog onlyCatalog onlySTDIO

Overview

cal2prompt is a command-line tool that fetches your schedule from Google Calendar and converts it into a custom prompt or text snippet using a template engine. It can also run as an experimental Model Context Protocol (MCP) server.

To use cal2prompt, install it via Brew or Cargo, set up your Google OAuth2.0 client, and run the command in your terminal with the desired options to fetch and format your calendar events.

  • Google Calendar Integration: Fetches your schedule using the Google Calendar API v3. - Flexible LLM Prompt Customization: Customize prompts using the Jinja2 template engine. - High-Speed Processing: Powered by the Rust ecosystem for fast performance. - Experimental MCP Mode: Run as a Model Context Protocol server for advanced integrations.
  1. Generating daily or weekly schedule summaries.
  2. Creating custom prompts for AI models based on calendar events.
  3. Integrating with other applications via the MCP server mode.

Add to your AI client

Use these steps to connect cal2prompt in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "cal2prompt-shuntaka9576": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-cal2prompt-shuntaka9576"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "cal2prompt-shuntaka9576": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-cal2prompt-shuntaka9576"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "cal2prompt-shuntaka9576": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-cal2prompt-shuntaka9576"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "cal2prompt-shuntaka9576": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-cal2prompt-shuntaka9576"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "cal2prompt-shuntaka9576": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-cal2prompt-shuntaka9576"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "cal2prompt-shuntaka9576": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-cal2prompt-shuntaka9576"
      ]
    }
  }
}

FAQ

**Is cal2prompt free to use?**

Yes! cal2prompt is free to use.

**What is the MCP mode?**

MCP mode allows cal2prompt to run as a server for advanced integrations with other applications.

**How do I set up Google OAuth2.0?**

Follow the instructions in the documentation to create a Google project and obtain your OAuth token.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1515,"uuid":"0fb50c7a-8ec1-4da2-9777-2c67ecb3bcf9","name":"cal2prompt","title":"cal2prompt","description":"✨ Fetches your schedule (Google Calendar) and outputs it as a single LLM prompt, with an optional MCP server mode.","avatar_url":"https://avatars.githubusercontent.com/u/12817245?v=4","created_at":"2025-02-20T16:08:57.565Z","updated_at":"2025-02-23T07:22:07.552Z","status":"created","author_name":"shuntaka9576","author_avatar_url":"https://avatars.githubusercontent.com/u/12817245?v=4","tags":"[]","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/shuntaka9576/cal2prompt","target":"_self","content":"$29","summary":"$2a","img_url":"https://github.com/shuntaka9576/cal2prompt/raw/main/docs/gif/use-case-cli.gif","type":null,"metadata":"{\"star\":\"12\",\"license\":\"MIT license\",\"language\":\"Rust\",\"is_official\":false,\"latest_commit_time\":\"2025-06-01 05:05:49\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]