Spaces:
Sleeping
Sleeping
File size: 2,057 Bytes
7dc28be | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # Tools
This directory contains all MCP tool definitions for the Google Docs, Sheets, Drive, Gmail, and Calendar server. Tools are organized into domain-specific folders, each with its own router (`index.ts`) that registers its tools with the server.
## Architecture
```
tools/
βββ index.ts # Top-level router β delegates to each domain
βββ docs/ # Google Docs API operations
βββ drive/ # Google Drive file and folder management
βββ sheets/ # Google Sheets operations
βββ gmail/ # Gmail message and label operations
βββ calendar/ # Google Calendar event operations
βββ utils/ # Cross-cutting workflow utilities
```
Each domain folder contains:
- **`index.ts`** β A router that registers all tools in the domain
- **`README.md`** β Documentation of the domain and its tools
- **Individual tool files** β One file per tool, each exporting a `register(server)` function
## Domains
| Domain | Tools | Description |
| ----------------------- | ----: | ---------------------------------------------------------------- |
| [docs](./docs/) | 14 | Read, write, format, and comment on Google Documents |
| [drive](./drive/) | 12 | Search, create, move, copy, rename, and delete files and folders |
| [sheets](./sheets/) | 11 | Read, write, append, format, validate, and manage spreadsheets |
| [gmail](./gmail/) | 13 | Read, send, draft, label, trash, and triage Gmail messages |
| [calendar](./calendar/) | 5 | List, create, update, delete, and quick-add Calendar events |
| [utils](./utils/) | 2 | Markdown conversion and other cross-cutting workflows |
## Adding a New Tool
1. Create a new file in the appropriate domain folder (e.g., `docs/myNewTool.ts`)
2. Export a `register(server: FastMCP)` function that calls `server.addTool({...})`
3. Import and call it from the domain's `index.ts` router
|