Borrowing it
Nothing to install: this file belongs to datatorag/gws-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/datatorag/gws-mcp/main/CLAUDE.mdgit clone --depth 1 https://github.com/datatorag/gws-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/datatorag/gws-mcp/claude-md)<a href="https://agentmods.dev/instructions/datatorag/gws-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/datatorag/gws-mcp/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/datatorag/gws-mcp/claude-md"><img src="https://agentmods.dev/badge/instructions/datatorag/gws-mcp/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01115 | $0.01115 |
| Opus 5.5 | $0.00446 | $0.00446 |
| Sonnet 5.5 | $0.00223 | $0.00223 |
| Haiku 4.5 | $0.00112 | $0.00112 |
Grade A, and why
gws-mcp CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Project
Google Workspace MCP extension for Claude. Calls the Google REST APIs directly (the gws CLI remains only as a no-token self-host fallback and for login) to expose 68 tools (Gmail, Calendar, Drive, Contacts, Sheets, Docs, Slides, Tasks, generic API access) via MCP.
Commands
pnpm run build— compile TypeScript (src/ → server/)pnpm run dev— watch modepnpm run build:extension— compile + pack intogoogle-workspace-mcp.mcpbpnpm run download-binaries— fetch gws binaries into bin/ (opt-in: needed for self-hosted login, the no-token fallback, and the oracle test;buildno longer runs it)node scripts/generate-method-table.mjs— regeneratesrc/google-api/method-table.tsfrom Google's Discovery documents
Architecture
Two entry points sharing createMcpServer() from create-server.ts:
extension.ts— stdio transport for.mcpb(Claude Desktop). Auto-triggers browser OAuth login on first run.index.ts— HTTP transport on port 39147 for Claude Code / standalone use.
gws-client.ts is the client every tool calls. With a bearer token (every hosted call) api() is a fetch built from the generated method table in src/google-api/; it never spawns a process and never loads the CLI. With no token it falls back to cli-transport.ts, which wraps the gws binary (Rust, in bin/) and also owns the login flow. src/google-api/oracle.test.ts holds the request builder equal to the pinned CLI's --dry-run for every method; it fails, not skips, when the binary is missing. The token goes in the Authorization header only. OAuth client ID and secret are read from GWS_OAUTH_CLIENT_ID / GWS_OAUTH_CLIENT_SECRET env vars and passed to the binary on the fallback path.
Key conventions
- ESM (
"type": "module"), all imports use.jsextensions - TypeScript strict mode, target ES2024, NodeNext module resolution
- Output dir is
server/(notdist/) - Use
pnpm, notnpm - Tests:
pnpm test(vitest — typechecks the test files, then runs them). Unit tests live beside the module and drive handlers through a fake{ api }client, so they need no network. They cannot catch a changed upstream response shape: a live smoke test against the real API is still the verification for anything touching a Google endpoint.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +1 lines · +197 tokens per session c437477f9ad3
- 1mo ago Changed 25d5751f95cf
- 2mo ago First seen · 76 lines · 918 tokens per session scan A 604854cea8bc
gws-mcp CLAUDE.md is an instructions file published in the GitHub repository datatorag/gws-mcp (2 stars, last pushed 27d ago), licensed MIT. It adds 1,115 tokens to every session, about $0.0045 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
gws-mcp CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| gws-mcp CLAUDE.mddatatorag/gws-mcp | Instructions file | 2 | 27d ago | MIT | A | 1,115 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |