Metadata-Version: 2.4
Name: barie-google-tasks-mcp
Version: 0.1.1
Summary: Production-grade Google Tasks MCP server (manage tasklists and tasks via the Model Context Protocol).
Project-URL: Homepage, https://barie.ai
Project-URL: Repository, https://github.com/barie-ai/barie-mcps
Project-URL: Issues, https://github.com/barie-ai/barie-mcps/issues
Author-email: Barie <support@barie.ai>
License: MIT
Keywords: google-api,google-tasks,llm-tools,mcp,model-context-protocol
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Scheduling
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: google-api-python-client<3.0.0,>=2.130.0
Requires-Dist: google-auth-oauthlib<2.0.0,>=1.2.0
Requires-Dist: google-auth<3.0.0,>=2.29.0
Requires-Dist: mcp<2.0.0,>=0.9.0
Requires-Dist: pydantic<3.0.0,>=2.5.0
Requires-Dist: tenacity<10.0.0,>=8.2.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Description-Content-Type: text/markdown

# Google Tasks MCP Server

An MCP server for managing Google Tasks tasklists and tasks, designed to work with AI assistants through the Model Context Protocol.

## Features

- **Tasklists**: List, create, get, and delete tasklists.
- **Tasks**: List, create, get, update, complete, and delete tasks.
- **Filtering**: Filter task results by due/completed windows and visibility flags.
- **Validation**: Input validation for required fields and RFC3339 date values.
- **Retry Handling**: Automatic retries for transient Google API errors.

## Installation

### Prerequisites

- Python 3.10 or higher.
- A Google Cloud Project with the Google Tasks API enabled.
- OAuth2 credentials (Client ID and Client Secret).
- OAuth scope: `["https://www.googleapis.com/auth/tasks"]`.

### Local Setup

1. Install dependencies:
   ```bash
   pip install -e .
   ```

2. Run the server:
   ```bash
   python server.py --access-token <TOKEN> --refresh-token <REFRESH_TOKEN> --client-id <CLIENT_ID> --client-secret <CLIENT_SECRET>
   ```

## Configuration

Add the following to your MCP host configuration (for example, `mcp-config.json`):

```json
{
  "mcpServers": {
    "barie-google-tasks-mcp": {
      "command": "uvx",
      "args": [
        "barie-google-tasks-mcp",
        "--access-token",
        "YOUR_ACCESS_TOKEN",
        "--refresh-token",
        "YOUR_REFRESH_TOKEN",
        "--client-id",
        "YOUR_CLIENT_ID",
        "--client-secret",
        "YOUR_CLIENT_SECRET"
      ]
    }
  }
}
```

## Tools

- `list-tasklists`: List available tasklists.
- `get-tasklist`: Get details for a single tasklist.
- `create-tasklist`: Create a new tasklist.
- `delete-tasklist`: Delete a tasklist.
- `list-tasks`: List tasks in a tasklist with optional filters.
- `get-task`: Get details for one task.
- `create-task`: Create a task in a tasklist.
- `update-task`: Update selected task fields.
- `complete-task`: Mark a task as completed.
- `delete-task`: Delete a task.

Notes:
- Use `@default` as `tasklistId` to target the default Google Tasks list.
- Date fields must use RFC3339 format (for example: `2026-05-07T09:00:00Z`).

## License

MIT
