Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zcaceres/gtasks-mcp
A Google Tasks Model Context Protocol Server for Claude
https://github.com/zcaceres/gtasks-mcp
Last synced: 27 days ago
JSON representation
A Google Tasks Model Context Protocol Server for Claude
- Host: GitHub
- URL: https://github.com/zcaceres/gtasks-mcp
- Owner: zcaceres
- License: mit
- Created: 2024-12-17T21:44:26.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-17T21:50:04.000Z (about 2 months ago)
- Last Synced: 2024-12-17T22:34:14.702Z (about 2 months ago)
- Language: JavaScript
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - zcaceres/gtasks-mcp - ๐ โ๏ธ - Google ใฟในใฏใ็ฎก็ใใใใใฎ MCP ใตใผใใผ (ใตใผใใผๅฎ่ฃ / ๐ป <a name="developer-tools"></a>้็บ่ ใใผใซ)
README
# Google Tasks MCP Server
This MCP server integrates with Google Tasks to allow listing, reading, searching, creating, updating, and deleting tasks.
## Components
### Tools
- **search**
- Search for tasks in Google Tasks
- Input: `query` (string): Search query
- Returns matching tasks with details- **list**
- List all tasks in Google Tasks
- Optional input: `cursor` (string): Cursor for pagination
- Returns a list of all tasks- **create**
- Create a new task in Google Tasks
- Input:
- `taskListId` (string, optional): Task list ID
- `title` (string, required): Task title
- `notes` (string, optional): Task notes
- `due` (string, optional): Due date
- Returns confirmation of task creation- **update**
- Update an existing task in Google Tasks
- Input:
- `taskListId` (string, optional): Task list ID
- `id` (string, required): Task ID
- `uri` (string, required): Task URI
- `title` (string, optional): New task title
- `notes` (string, optional): New task notes
- `status` (string, optional): New task status ("needsAction" or "completed")
- `due` (string, optional): New due date
- Returns confirmation of task update- **delete**
- Delete a task in Google Tasks
- Input:
- `taskListId` (string, required): Task list ID
- `id` (string, required): Task ID
- Returns confirmation of task deletion- **clear**
- Clear completed tasks from a Google Tasks task list
- Input: `taskListId` (string, required): Task list ID
- Returns confirmation of cleared tasks### Resources
The server provides access to Google Tasks resources:
- **Tasks** (`gtasks:///`)
- Represents individual tasks in Google Tasks
- Supports reading task details including title, status, due date, notes, and other metadata
- Can be listed, read, created, updated, and deleted using the provided tools## Getting started
1. [Create a new Google Cloud project](https://console.cloud.google.com/projectcreate)
2. [Enable the Google Tasks API](https://console.cloud.google.com/workspace-api/products)
3. [Configure an OAuth consent screen](https://console.cloud.google.com/apis/credentials/consent) ("internal" is fine for testing)
4. Add scopes `https://www.googleapis.com/auth/tasks`
5. [Create an OAuth Client ID](https://console.cloud.google.com/apis/credentials/oauthclient) for application type "Desktop App"
6. Download the JSON file of your client's OAuth keys
7. Rename the key file to `gcp-oauth.keys.json` and place into the root of this repo (i.e. `gcp-oauth.keys.json`)Make sure to build the server with either `npm run build` or `npm run watch`.
### Authentication
To authenticate and save credentials:
1. Run the server with the `auth` argument: `npm run start auth`
2. This will open an authentication flow in your system browser
3. Complete the authentication process
4. Credentials will be saved in the root of this repo (i.e. `.gdrive-server-credentials.json`)### Usage with Desktop App
To integrate this server with the desktop app, add the following to your app's server configuration:
```json
{
"mcpServers": {
"gtasks": {
"command": "/opt/homebrew/bin/node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}
```