inboxfewer

command module
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2026 License: BSD-3-Clause Imports: 1 Imported by: 0

README

inboxfewer logo inboxfewer

Archive Gmail threads for closed GitHub issues and provide MCP server for AI assistants

SYNOPSIS

inboxfewer [command] [options]
inboxfewer cleanup [--account ACCOUNT] [--skip-personal] [--debug]
inboxfewer serve [--transport TYPE] [--http-addr ADDR] [--yolo] [--debug]

DESCRIPTION

inboxfewer is a tool that archives Gmail threads related to closed GitHub issues and pull requests. It can run as a standalone CLI tool or as a Model Context Protocol (MCP) server, providing AI assistants with programmatic access to Gmail, Google Docs, Google Drive, Google Calendar, Google Meet, and Google Tasks.

INSTALLATION

Container Images

Run with Docker:

# Latest stable release
docker run -p 8080:8080 ghcr.io/teemow/inboxfewer:latest

# Specific version
docker run -p 8080:8080 ghcr.io/teemow/inboxfewer:v1.2.3

Deploy with Helm:

# Install from OCI registry
helm install inboxfewer oci://ghcr.io/teemow/charts/inboxfewer

# With custom configuration
helm install inboxfewer oci://ghcr.io/teemow/charts/inboxfewer \
  --set image.tag=v1.2.3 \
  --values my-values.yaml

See docs/deployment.md for comprehensive deployment documentation.

Binary Installation

Download the latest release for your platform:

# Linux (amd64)
curl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_linux_amd64.tar.gz | tar xz

# Linux (arm64)
curl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_linux_arm64.tar.gz | tar xz

# macOS (amd64)
curl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_darwin_amd64.tar.gz | tar xz

# macOS (arm64)
curl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_darwin_arm64.tar.gz | tar xz

# Install to PATH
sudo mv inboxfewer /usr/local/bin/

Or install from source:

go install github.com/teemow/inboxfewer@latest

COMMANDS

cleanup

Archive Gmail threads related to closed GitHub issues and pull requests.

inboxfewer cleanup [--account ACCOUNT] [--skip-personal]

With --skip-personal, threads that notified you personally are kept even when the issue or pull request is closed. A notification counts as personal when GitHub sets the X-GitHub-Reason header to mention, assign or author, that is: someone mentioned your handle, the issue is assigned to you, or you opened it. Notifications you received through a team mention or a review request are still archived.

inboxfewer cleanup --skip-personal

serve

Start the MCP server to provide tools for AI assistants.

inboxfewer serve [--transport TYPE] [--http-addr ADDR] [--yolo]

Transport Types:

  • stdio: Standard input/output (default, for desktop apps)
  • streamable-http: HTTP streaming (HTTP server on --http-addr)

version

Display version information.

inboxfewer version

generate-docs

Generate markdown documentation for all MCP tools.

inboxfewer generate-docs           # Output to stdout
inboxfewer generate-docs -o FILE   # Output to file

OPTIONS

--account ACCOUNT      Google account name to use (default: "default")
--skip-personal        Keep threads where GitHub notified you personally (cleanup only)
--debug                Enable debug logging
--transport TYPE       MCP transport: stdio, streamable-http (default: stdio)
--http-addr ADDR       HTTP server address for http transport (default: :8080)
--yolo                 Enable write operations in MCP server (default: read-only)

CONFIGURATION

GitHub Token

Create ~/keys/github-inboxfewer.token with:

<github-username> <github-personal-access-token>

Google OAuth

Authentication with Google differs by transport type:

STDIO Transport (desktop): On first run, authenticate via browser. Tokens are cached locally:

  • Linux/Unix: ~/.cache/inboxfewer/google-{account}.token
  • macOS: ~/Library/Caches/inboxfewer/google-{account}.token
  • Windows: %TEMP%/inboxfewer/google-{account}.token

HTTP Transport (deployed): Uses OAuth 2.1 with Dynamic Client Registration. MCP clients authenticate through the server's OAuth proxy, no Google credentials needed on the client side. See docs/mcp-oauth.md for setup.

Multi-Account Support

Manage multiple Google accounts using the --account flag:

inboxfewer cleanup --account work
inboxfewer cleanup --account personal

See docs/configuration.md for details.

EXAMPLES

Archive Gmail threads for closed issues:

inboxfewer cleanup

Start MCP server for Claude Desktop:

inboxfewer serve

Start MCP server with HTTP transport:

inboxfewer serve --transport streamable-http --http-addr :8080

Enable all write operations:

inboxfewer serve --yolo

MCP SERVER

The MCP server provides 66 tools for managing Gmail, Google Docs, Drive, Calendar, Meet, and Tasks. By default, the server operates in read-only mode for safety. Use --yolo to enable write operations.

Key Capabilities:

  • Gmail: List, search, archive, send emails, manage filters
  • Google Docs: Retrieve document content in markdown or text
  • Google Drive: Upload, download, organize, share files
  • Google Calendar: Create events, check availability, schedule meetings
  • Google Meet: Access recordings, transcripts, and notes
  • Google Tasks: Create and manage task lists

See docs/tools.md for the complete tool reference (auto-generated from code).

FILES

~/keys/github-inboxfewer.token           GitHub credentials
~/.cache/inboxfewer/google-*.token       Google OAuth tokens (Linux/Unix)
~/Library/Caches/inboxfewer/google-*.token   Google OAuth tokens (macOS)
%TEMP%/inboxfewer/google-*.token         Google OAuth tokens (Windows)

SEE ALSO

AUTHORS

Original concept by Brad Fitzpatrick. MCP server integration by @teemow.

LICENSE

See LICENSE file for details.

BUGS

Report bugs at: https://github.com/teemow/inboxfewer/issues

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd implements the command-line interface for inboxfewer.
Package cmd implements the command-line interface for inboxfewer.
internal
calendar
Package calendar provides a client for interacting with the Google Calendar API.
Package calendar provides a client for interacting with the Google Calendar API.
docs
Package docs provides functionality for interacting with Google Docs API.
Package docs provides functionality for interacting with Google Docs API.
drive
Package drive provides a client for interacting with the Google Drive API.
Package drive provides a client for interacting with the Google Drive API.
github
Package github provides types and utilities for interacting with GitHub issues and pull requests.
Package github provides types and utilities for interacting with GitHub issues and pull requests.
gmail
Package gmail provides a client for interacting with the Gmail API.
Package gmail provides a client for interacting with the Gmail API.
google
Package google provides OAuth2 authentication and token management for Google APIs.
Package google provides OAuth2 authentication and token management for Google APIs.
instrumentation
Package instrumentation provides comprehensive OpenTelemetry instrumentation for the inboxfewer MCP server.
Package instrumentation provides comprehensive OpenTelemetry instrumentation for the inboxfewer MCP server.
logging
Package logging provides structured logging utilities for the inboxfewer application.
Package logging provides structured logging utilities for the inboxfewer application.
mcp/oauth
Package oauth provides adapters for integrating the github.com/giantswarm/mcp-oauth library with the inboxfewer MCP server.
Package oauth provides adapters for integrating the github.com/giantswarm/mcp-oauth library with the inboxfewer MCP server.
meet
Package meet provides a client for the Google Meet API v2.
Package meet provides a client for the Google Meet API v2.
resources
Package resources provides MCP resources for exposing user and session data.
Package resources provides MCP resources for exposing user and session data.
server
Package server provides the MCP server context, session management, and OAuth-enabled HTTP server for the inboxfewer application.
Package server provides the MCP server context, session management, and OAuth-enabled HTTP server for the inboxfewer application.
tasks
Package tasks provides a client for managing Google Tasks.
Package tasks provides a client for managing Google Tasks.
tools/batch
Package batch provides common utilities for batch operations across all MCP tools.
Package batch provides common utilities for batch operations across all MCP tools.
tools/calendar_tools
Package calendar_tools provides MCP (Model Context Protocol) tools for Google Calendar operations.
Package calendar_tools provides MCP (Model Context Protocol) tools for Google Calendar operations.
tools/common
Package common provides shared utilities for MCP tool implementations.
Package common provides shared utilities for MCP tool implementations.
tools/docs_tools
Package docs_tools provides MCP tools for interacting with Google Docs.
Package docs_tools provides MCP tools for interacting with Google Docs.
tools/drive_tools
Package drive_tools provides MCP (Model Context Protocol) tools for Google Drive operations.
Package drive_tools provides MCP (Model Context Protocol) tools for Google Drive operations.
tools/gmail_tools
Package gmail_tools provides MCP (Model Context Protocol) tools for interacting with Gmail.
Package gmail_tools provides MCP (Model Context Protocol) tools for interacting with Gmail.
tools/meet_tools
Package meet_tools provides MCP tools for interacting with the Google Meet API v2.
Package meet_tools provides MCP tools for interacting with the Google Meet API v2.
tools/tasks_tools
Package tasks_tools provides MCP tools for managing Google Tasks.
Package tasks_tools provides MCP tools for managing Google Tasks.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL