@brandcast_app/google-tasks-mcp
v0.1.0
Published
Model Context Protocol (MCP) server for Google Tasks - enables AI assistants to manage tasks
Maintainers
Readme
Google Tasks MCP Server
🚀 Quick Start
1. Create Google OAuth Credentials
- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the Google Tasks API:
- Navigate to "APIs & Services" > "Library"
- Search for "Tasks API"
- Click "Enable"
- Create OAuth 2.0 credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop app" as the application type
- Name it "Google Tasks MCP" (or whatever you prefer)
- Click "Create"
- Download or copy the Client ID and Client Secret
2. Install the Package
npm install -g @brandcast_app/google-tasks-mcp3. Get Your Refresh Token
Run the authentication script:
# Set your credentials
export GOOGLE_CLIENT_ID="your_client_id_here"
export GOOGLE_CLIENT_SECRET="your_client_secret_here"
# Run auth flow
npx @brandcast_app/google-tasks-mcp authThis will:
- Open your browser
- Ask you to authorize the app
- Display your configuration to copy
4. Configure Claude Desktop
Add to your config file:
macOS/Linux: ~/.config/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-tasks": {
"command": "npx",
"args": ["-y", "@brandcast_app/google-tasks-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id_here",
"GOOGLE_CLIENT_SECRET": "your_client_secret_here",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
}
}
}
}5. Restart Claude Desktop
Completely quit and relaunch Claude Desktop.
📋 Available Tools
Ask Claude to:
- "Show my task lists" - List all your Google Tasks lists
- "Show tasks from [list name]" - Get tasks from a specific list
- "Create a task 'Buy milk' in my Shopping list" - Create new tasks
- "Mark task [id] as complete" - Complete tasks
- "Search for tasks about 'report'" - Search across all lists
- "Show me all my tasks" - Sync all tasks from all lists
The MCP server provides 9 tools:
listProviders- Get available providerslistTaskLists- Get all task listsgetTasks- Get tasks from a listcreateTask- Create a new taskupdateTask- Update existing taskcompleteTask- Mark task completedeleteTask- Delete a tasksearchTasks- Search across listssyncAllTasks- Get all tasks
🔧 Development
Local Setup
# Clone the repository
git clone https://github.com/BrandCast-Signage/tasks-mcp-server.git
cd tasks-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run auth flow
export GOOGLE_CLIENT_ID="your_id"
export GOOGLE_CLIENT_SECRET="your_secret"
npm run authTesting Locally
Update Claude Desktop config to use local build:
{
"mcpServers": {
"google-tasks": {
"command": "node",
"args": ["/absolute/path/to/tasks-mcp-server/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "...",
"GOOGLE_CLIENT_SECRET": "...",
"GOOGLE_REFRESH_TOKEN": "..."
}
}
}
}📖 Documentation
- API Documentation - Complete tool reference
- Claude Desktop Setup - Detailed setup guide
🔐 Security Notes
- Tokens are stored only in Claude Desktop's config file
- Refresh tokens are used to automatically get new access tokens
- The MCP server doesn't persist any credentials to disk
- All communication happens locally via stdio
🐛 Troubleshooting
"Provider not found" error
- Make sure Claude Desktop is completely restarted
- Check the config file path is correct
- Verify JSON syntax is valid
Authentication errors
- Run
npm run authagain to get a fresh refresh token - Make sure Client ID and Secret match your Google Cloud project
- Verify the Tasks API is enabled in Google Cloud Console
"Command not found"
- Make sure the package is installed:
npm install -g @brandcast_app/google-tasks-mcp - Or use npx:
npx @brandcast_app/google-tasks-mcp
📄 License
MIT License - see LICENSE for details.
👥 Contributing
Contributions welcome! Please open an issue or PR.
🔗 Related Projects
- Model Context Protocol
- Google Tasks API
- BrandCast - Digital signage platform
Author: Jamie Duncan (@BrandCast-Signage)
Version: 0.1.0 (MVP - Google Tasks only)
