Metadata-Version: 2.4
Name: gmail-multi-user-mcp
Version: 0.1.0
Summary: Multi-user Gmail integration library and MCP server
Project-URL: Homepage, https://github.com/yourorg/gmail-multi-user-mcp
Project-URL: Documentation, https://gmail-multi-user-mcp.readthedocs.io
Project-URL: Repository, https://github.com/yourorg/gmail-multi-user-mcp
Project-URL: Changelog, https://github.com/yourorg/gmail-multi-user-mcp/blob/main/CHANGELOG.md
Author-email: Aakash <aakash@example.com>
License: MIT
License-File: LICENSE
Keywords: ai-agents,email,gmail,mcp,model-context-protocol,oauth
Classifier: Development Status :: 3 - Alpha
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 :: Communications :: Email
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: anyio>=4.0.0
Requires-Dist: cryptography>=43.0.0
Requires-Dist: email-validator>=2.2.0
Requires-Dist: fastmcp>=0.1.0
Requires-Dist: google-api-python-client>=2.150.0
Requires-Dist: google-auth-oauthlib>=1.2.0
Requires-Dist: google-auth>=2.35.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic-settings>=2.6.0
Requires-Dist: pydantic>=2.9.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: rich>=13.9.0
Requires-Dist: supabase>=2.10.0
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: black>=24.10.0; extra == 'dev'
Requires-Dist: isort>=5.13.0; extra == 'dev'
Requires-Dist: mypy>=1.13.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.14.0; extra == 'dev'
Requires-Dist: pytest-timeout>=2.3.0; extra == 'dev'
Requires-Dist: pytest>=8.3.0; extra == 'dev'
Requires-Dist: respx>=0.21.0; extra == 'dev'
Requires-Dist: ruff>=0.7.0; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.26.0; extra == 'docs'
Description-Content-Type: text/markdown

# gmail-multi-user-mcp

Multi-user Gmail integration library and MCP server for AI agents and consumer applications.

## Features

- **Hybrid Distribution**: Use as a Python library or MCP server
- **Multi-User OAuth**: End-users authenticate with their own Gmail accounts
- **Automatic Token Management**: Encryption, refresh, and storage handled automatically
- **Full Gmail Operations**: Search, read, send, draft, labels, attachments
- **Flexible Storage**: SQLite for development, Supabase for production

## Quick Start

### Installation

```bash
pip install gmail-multi-user-mcp
```

### Configuration

1. Create a Google Cloud Project and enable the Gmail API
2. Create OAuth 2.0 credentials (Desktop or Web application)
3. Copy `gmail_config.yaml.example` to `gmail_config.yaml`
4. Fill in your credentials

### Usage as Library

```python
from gmail_multi_user import GmailClient

# Initialize client (loads config automatically)
client = GmailClient()

# Generate OAuth URL for a user
result = client.get_auth_url(user_id="user_123")
print(f"Please visit: {result.auth_url}")

# After OAuth callback, search emails
messages = client.search(
    connection_id="conn_abc",
    query="is:unread"
)

for msg in messages.messages:
    print(f"{msg.subject} from {msg.from_.email}")
```

### Usage as MCP Server

```bash
# Start the MCP server
gmail-mcp serve

# Or with HTTP transport
gmail-mcp serve --transport http --port 8000
```

## Development

```bash
# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
ruff check .
black --check .
mypy gmail_multi_user gmail_mcp_server
```

## License

MIT
