Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
google-mail-mcp
command
Command google-mail-mcp is an MCP server for Gmail.
|
Command google-mail-mcp is an MCP server for Gmail. |
|
internal
|
|
|
app
Package app is the startup assembly every entry point shares: open the profile, resolve the client JSON and the refresh token, build the Gmail client and wire the MCP server.
|
Package app is the startup assembly every entry point shares: open the profile, resolve the client JSON and the refresh token, build the Gmail client and wire the MCP server. |
|
auth
Package auth implements Google's documented OAuth flow for desktop applications: a loopback redirect on 127.0.0.1 with a random port and PKCE, then a refresh-token-backed token source for API calls.
|
Package auth implements Google's documented OAuth flow for desktop applications: a loopback redirect on 127.0.0.1 with a random port and PKCE, then a refresh-token-backed token source for API calls. |
|
config
Package config loads and validates the runtime configuration.
|
Package config loads and validates the runtime configuration. |
|
credentials
Package credentials stores and resolves the OAuth refresh token.
|
Package credentials stores and resolves the OAuth refresh token. |
|
fileperm
Package fileperm restricts a file to the account that wrote it: mode 0600 on Unix, an explicit access list on Windows, where a mode only sets the read-only attribute and protects nothing.
|
Package fileperm restricts a file to the account that wrote it: mode 0600 on Unix, an explicit access list on Windows, where a mode only sets the read-only attribute and protects nothing. |
|
gapi
Package gapi is the raw REST client for the Gmail API v1.
|
Package gapi is the raw REST client for the Gmail API v1. |
|
gapi/gmailtest
Package gmailtest is an in-memory Gmail, served over HTTP at the REST paths the client calls, for tests.
|
Package gmailtest is an in-memory Gmail, served over HTTP at the REST paths the client calls, for tests. |
|
gmail
Package gmail holds the Gmail v1 wire types this server reads and writes, written by hand from the discovery document (§4.11).
|
Package gmail holds the Gmail v1 wire types this server reads and writes, written by hand from the discovery document (§4.11). |
|
mime
Package mime parses email: RFC 5322 headers and addresses, MIME structure (RFC 2045–2047), RFC 2231 parameters, every part's charset and transfer encoding, and the choice and conversion of the body a person reads (docs/architecture.md §4.10, §7.2).
|
Package mime parses email: RFC 5322 headers and addresses, MIME structure (RFC 2045–2047), RFC 2231 parameters, every part's charset and transfer encoding, and the choice and conversion of the body a person reads (docs/architecture.md §4.10, §7.2). |
|
model
Package model is the server's view of a mailbox: messages, threads, drafts, labels, the profile and changes, built from the wire types of internal/gmail and the parse of internal/mime, with label ids resolved to names (§3.9).
|
Package model is the server's view of a mailbox: messages, threads, drafts, labels, the profile and changes, built from the wire types of internal/gmail and the parse of internal/mime, with label ids resolved to names (§3.9). |
|
redact
Package redact masks what this server prints for a person and must not survive being pasted somewhere else.
|
Package redact masks what this server prints for a person and must not survive being pasted somewhere else. |
|
render
Package render turns the model into the text a person and a model read.
|
Package render turns the model into the text a person and a model read. |
|
scopes
Package scopes is the one source of truth for the OAuth scopes this server requests in each mode, and for which granted scope covers which.
|
Package scopes is the one source of truth for the OAuth scopes this server requests in each mode, and for which granted scope covers which. |
|
server
Package server wires the MCP SDK to the tools: the server's instructions, the per-call log line, and the schema dump the schema diff compares.
|
Package server wires the MCP SDK to the tools: the server's instructions, the per-call log line, and the schema dump the schema diff compares. |
|
server/testutil
Package testutil connects an in-memory MCP client to a server, so a test drives a tool through the SDK the way a client does: schema validation, handler, and the reply's two halves, with no binary and no stdio.
|
Package testutil connects an in-memory MCP client to a server, so a test drives a tool through the SDK the way a client does: schema validation, handler, and the reply's two halves, with no binary and no stdio. |
|
service
Package service holds the rules of reading and writing a mailbox: which requests a tool makes, in what order, and what it refuses.
|
Package service holds the rules of reading and writing a mailbox: which requests a tool makes, in what order, and what it refuses. |
|
tools
Package tools registers the MCP tools.
|
Package tools registers the MCP tools. |
|
userconfig
Package userconfig stores non-secret, per-profile state between runs: where the OAuth client JSON lives, which account signed in, where the refresh token went and which scopes Google granted.
|
Package userconfig stores non-secret, per-profile state between runs: where the OAuth client JSON lives, which account signed in, where the refresh token went and which scopes Google granted. |
|
version
Package version reports the binary's version.
|
Package version reports the binary's version. |
|
scripts
|
|
|
gates
command
Command gates runs this repository's own checks and release helpers.
|
Command gates runs this repository's own checks and release helpers. |
|
internal/livecover
Package livecover measures how much of the tool surface a live run drives, per tool option.
|
Package livecover measures how much of the tool surface a live run drives, per tool option. |
|
internal/mcpstdio
Package mcpstdio is a small MCP client over a child process's stdio, for the programs under scripts/ that drive the built server: the live driver and the evals.
|
Package mcpstdio is a small MCP client over a child process's stdio, for the programs under scripts/ that drive the built server: the live driver and the evals. |
|
internal/redact
Package redact masks what a real mailbox puts in a transcript, for the programs under scripts/ that drive the built server against one.
|
Package redact masks what a real mailbox puts in a transcript, for the programs under scripts/ that drive the built server against one. |
|
internal/transcript
Package transcript is how a program that drives a real mailbox prints: through one function, which redacts.
|
Package transcript is how a program that drives a real mailbox prints: through one function, which redacts. |
Click to show internal directories.
Click to hide internal directories.