toolspace › registry › Yep Gmail
Yep Gmail
Send, search, label, and inspect Gmail on the user's behalf via the Gmail API. Python module with a structured action catalog; OAuth refresh-token auth; no inbox content stored server-side.
Install
install-manifest install https://toolspace.yepgent.com/examples/gmail.v0.2.json
manifest JSON · source · docs · issues · homepage
Security
| Kill switch | shell Programmatic: |
|---|---|
| Smoke contract | action-call action |
Scopes
-
gmail.messagesread, send https://www.googleapis.com/auth/gmail.modifyRequired to search the user's inbox, fetch message bodies for context, and send outbound mail on the user's behalf.
-
gmail.labelsread, write https://www.googleapis.com/auth/gmail.labelsApplies and removes labels on threads to mark agent-processed messages and to support user-defined organization schemes.
-
net.outboundread googleapis.comTool calls api.googleapis.com for all Gmail operations. No other outbound destinations.
Actions
-
whoami read idempotent
Verify auth and return the operating mailbox. ·
gmail.messages- Goal
- —
- Inputs
—- Outputs
—- Errors
—- Example
—
-
search read idempotent
Search the mailbox by Gmail query syntax. Returns thread IDs and snippets. ·
gmail.messages- Goal
- —
- Inputs
—- Outputs
—- Errors
—- Example
—
-
send destructive
Send an email from the authenticated mailbox. ·
gmail.messagesnet.outbound- Goal
- —
- Inputs
—- Outputs
—- Errors
—- Example
—
-
label_thread write idempotent
Add one or more labels to an existing thread. ·
gmail.labels- Goal
- —
- Inputs
—- Outputs
—- Errors
—- Example
—
-
unlabel_thread write idempotent
Remove one or more labels from an existing thread. ·
gmail.labels- Goal
- —
- Inputs
—- Outputs
—- Errors
—- Example
—
Environment
GOOGLE_CLIENT_ID |
Your Google OAuth 2.0 Client ID for the project that has the Gmail API enabled. Looks like '123456789012-abc...apps.googleusercontent.com'. Found in Google Cloud Console > APIs & Services > Credentials. required · secret: no · obtain |
|---|---|
GOOGLE_CLIENT_SECRET |
Your Google OAuth 2.0 Client Secret, paired with the Client ID above. Treat as a password. required · secret: yes · obtain |
GOOGLE_REFRESH_TOKEN |
Long-lived OAuth refresh token for the Gmail account this tool will operate on. Run `python -m yep_gmail_tool authorize` once to obtain — follow the URL, paste the consent code, and the token prints. The host stores it in your secret backend; never paste this value into argv or shell history. required · secret: yes · obtain |
GOOGLE_USER_EMAIL |
Email address of the Gmail account this tool operates on. Used by the smoke test to verify auth resolves to the expected mailbox; not required for any non-smoke action. optional · secret: no |
GMAIL_DEFAULT_LABEL |
Optional default Gmail label this tool will apply to messages it processes. Leave blank to skip auto-labeling. Useful for distinguishing agent-touched threads from human-touched ones in your inbox. optional · secret: no (default |
Verify & cost
| Install fee | 0¢ |
|---|---|
| Monthly fee | 0¢ |
| Usage model | external |
Runtime
runtime: python-module · install method: pip · entrypoint: python -m yep_gmail_tool
A standalone Python capability that exposes a small set of Gmail operations to autonomous agents through the install-manifest v0.2 actions[] catalog. Unlike its v0.1 sibling — which assumed the agent would speak MCP-stdio — this manifest declares every operation the agent may invoke (send, search, whoami, label, unlabel) along with structured input schemas, output schemas, and side-effect classifications. Authenticates via standard Google OAuth installed-app flow; the user grants once, the refresh token is stored in the host's secret backend, and the tool exchanges it for short-lived access tokens at runtime. No message bodies are persisted by the tool itself.
Tags: emailgmailgooglemessaging
License: MIT
Last fetched (working tree) (local)