agenda-mcp
Documentation
Daily Agenda from Google Calendar
A simple Go program that fetches and displays your daily agenda from Google Calendar.
Prerequisites
This project uses Task for task automation. Install it first:
# macOS
brew install go-task/tap/go-task
# Linux
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
# Windows
choco install go-task
# Or install via Go
go install github.com/go-task/task/v3/cmd/task@latestSetup Instructions
1. Enable Google Calendar API
1. Go to the Google Cloud Console
2. Create a new project or select an existing one
3. Enable the Google Calendar API:
2. Create Credentials
1. Go to "APIs & Services" > "Credentials"
2. Click "Create Credentials" > "OAuth client ID"
3. If prompted, configure the OAuth consent screen first:
4. For Application type, choose "Desktop application"
5. Give it a name (e.g., "Daily Agenda App")
6. Important: Add `http://localhost:8080` to the "Authorized redirect URIs"
7. Download the JSON file and save it as `credentials.json` in this directory
3. Install Dependencies
task mod-tidy4. Build the Application
task buildUsage
The program supports 2 modes:
Text Mode (Display Calendar Agenda)
Display today's agenda:
task run-text
# or directly: ./agenda-mcp textDisplay agenda for a specific date:
./agenda-mcp text 2024-12-25The date must be in YYYY-MM-DD format. If no date is provided, today's agenda is displayed.
MCP Server Mode
task run-mcpOn first run (auth mode):
1. The program will automatically open your browser (or show you a URL if it can't)
2. Sign in with your Google account
3. Grant permission to read your calendar
4. The authorization will complete automatically - you'll see a success page
5. Your credentials are saved for future runs
After authentication, you can use `task run-test` to display your agenda or `task run-mcp` to run as an MCP server.
Available Tasks
Run `task --list` to see all available tasks:
- `task build` - Build the local binary
- `task clean` - Clean build artifacts
- `task mod-tidy` - Tidy and verify go modules
- `task run-text` - Show today's agenda in the command line
- `task run-mcp` - Start MCP server
- `task inspector` - Run the npx MCP inspector
MCP Inspector
For debugging and testing the MCP server, you can use the MCP inspector:
task inspectorThis will start the MCP inspector at http://localhost:8080 for testing the MCP server functionality.
Alternative: Direct Go Commands
If you prefer not to use Task, you can run the commands directly:
# Install dependencies
go mod tidy
# Run modes directly
go run main.go text # Show today's agenda
go run main.go text 2024-12-25 # Show agenda for specific date
go run main.go mcp # Start MCP serverFeatures
- 📅 Shows today's events in chronological order
- 🕐 Displays event times (or "All day" for full-day events)
- 🎨 Shows event colors with your actual category names (Focus Time, Internal Group Meetings, External Meetings, Personal, etc.)
- 📍 Shows event locations if available
- 📝 Displays event descriptions (truncated to 100 characters)
- 👥 Lists attendees with their response status (✅ accepted, ❌ declined, ❓ tentative, ⏳ pending)
- 👁️ Shows event visibility settings
- ⏱️ Displays transparency settings (busy/free)
- 🎉 Friendly message when no events are scheduled
- 🔌 MCP Server: Exposes calendar data via Model Context Protocol for integration with LLM applications
MCP Server Mode
When run in MCP mode (`task run-mcp`), the program acts as a Model Context Protocol server that can be integrated with LLM applications like Claude, providing two calendar tools:
Available MCP Tools
1. `get_todays_agenda` - Get today's calendar agenda from Google Calendar
2. `get_agenda_for_date` - Get calendar agenda for a specific date (YYYY-MM-DD format)
MCP Integration
Add this to your MCP client configuration:
{
"mcpServers": {
"google-calendar": {
"command": "/path/to/your/agenda-mcp",
"args": ["mcp"],
"env": {
"client_id": "your-google-oauth-client-id",
"project_id": "your-google-project-id",
"client_secret": "your-google-oauth-client-secret"
}
}
}
}Note: Replace `/path/to/your/agenda-mcp` with the actual full path to your built binary, and set the environment variables with your Google OAuth credentials from the `credentials.json` file.
This allows LLM applications to:
- Fetch your daily Google Calendar agenda using the `get_todays_agenda` tool
- Get calendar events for any specific date using the `get_agenda_for_date` tool with a date parameter (e.g., "2024-12-25")
Security Notes
- Keep `credentials.json` and `token.json` private
- Don't commit these files to version control
- The program only requests read-only access to your calendar
Frequently asked questions
What is agenda-mcp?
agenda-mcp is a Model Context Protocol (MCP) server listed in the TrackMCP directory.
How do I install agenda-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is agenda-mcp open source?
Yes — it is hosted on GitHub at https://github.com/jeanlaurent/agenda-mcp and has 2 stars.
Related MCP tools
The CLI for PlanetScale Database
:robot: The free, Open Source alternative to OpenAI, Claude and others. Self-hosted and local-first. Drop-in replacement for OpenAI, running on consumer-gra...
MCP Toolbox for Databases is an open source MCP server for databases. Go-based implementation. Trusted by 10900+ developers.
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
WhatsApp MCP server Go-based implementation. Trusted by 4900+ developers. Trusted by 4900+ developers. Trusted by 4900+ developers.
MCP server for Grafana Go-based implementation. Trusted by 1700+ developers. Trusted by 1700+ developers. Trusted by 1700+ developers.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP