Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/no-mcp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@googleworkspace/cli": minor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The pull request title correctly identifies this as a BREAKING CHANGE due to the removal of the mcp command. However, the changeset is marked as minor. According to semantic versioning, breaking changes should trigger a major version update. This is important to signal to users that an update will break their existing workflows if they depend on the removed feature.

Suggested change
"@googleworkspace/cli": minor
"@googleworkspace/cli": major

---

Remove `mcp` command
1 change: 0 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ Use these labels to categorize pull requests and issues:
- `area: docs` — README, contributing guides, documentation
- `area: tui` — Setup wizard, picker, input fields
- `area: distribution` — Nix flake, cargo-dist, npm packaging, install methods
- `area: mcp` — Model Context Protocol server/tools
- `area: auth` — OAuth, credentials, multi-account, ADC
- `area: skills` — AI skill generation and management

Expand Down
34 changes: 0 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ npm install -g @googleworkspace/cli
- [Why gws?](#why-gws)
- [Authentication](#authentication)
- [AI Agent Skills](#ai-agent-skills)
- [MCP Server](#mcp-server)
- [Advanced Usage](#advanced-usage)
- [Environment Variables](#environment-variables)
- [Architecture](#architecture)
Expand Down Expand Up @@ -258,39 +257,6 @@ The `gws-shared` skill includes an `install` block so OpenClaw auto-installs the

Installing this extension gives your Gemini CLI agent direct access to all `gws` commands and Google Workspace agent skills. Because `gws` handles its own authentication securely, you simply need to authenticate your terminal once prior to using the agent, and the extension will automatically inherit your credentials.

## MCP Server

`gws mcp` starts a [Model Context Protocol](https://modelcontextprotocol.io) server over stdio, exposing Google Workspace APIs as structured tools that any MCP-compatible client (Claude Desktop, Gemini CLI, VS Code, etc.) can call.

```bash
gws mcp -s drive # expose Drive tools
gws mcp -s drive,gmail,calendar # expose multiple services
gws mcp -s all # expose all services (many tools!)
```

Configure in your MCP client:

```json
{
"mcpServers": {
"gws": {
"command": "gws",
"args": ["mcp", "-s", "drive,gmail,calendar"]
}
}
}
```

> [!TIP]
> Each service adds roughly 10–80 tools. Keep the list to what you actually need
> to stay under your client's tool limit (typically 50–100 tools).

| Flag | Description |
| ----------------------- | -------------------------------------------- |
| `-s, --services <list>` | Comma-separated services to expose, or `all` |
| `-w, --workflows` | Also expose workflow tools |
| `-e, --helpers` | Also expose helper tools |

## Advanced Usage

### Multipart Uploads
Expand Down
6 changes: 0 additions & 6 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ mod formatter;
mod fs_util;
mod generate_skills;
mod helpers;
mod mcp_server;
mod oauth_config;
mod schema;
mod services;
Expand Down Expand Up @@ -133,11 +132,6 @@ async fn run() -> Result<(), GwsError> {
return auth_commands::handle_auth_command(&auth_args).await;
}

// Handle the `mcp` command
if first_arg == "mcp" {
return mcp_server::start(&args[1..]).await;
}

// Parse service name and optional version override
let (api_name, version) = parse_service_and_version(&args, &first_arg)?;

Expand Down
Loading
Loading