{"id":34512362,"url":"https://github.com/teemow/inboxfewer","last_synced_at":"2026-05-09T02:20:54.566Z","repository":{"id":136258142,"uuid":"59191128","full_name":"teemow/inboxfewer","owner":"teemow","description":"Archive gmail threads when github issues are closed (now with MCP server)","archived":false,"fork":false,"pushed_at":"2026-03-08T21:04:53.000Z","size":12692,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-09T00:57:46.373Z","etag":null,"topics":["assistant","github","gmail","google","mcp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"bradfitz/inboxfewer","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teemow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-05-19T09:05:59.000Z","updated_at":"2026-03-08T21:04:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/teemow/inboxfewer","commit_stats":null,"previous_names":[],"tags_count":80,"template":false,"template_full_name":null,"purl":"pkg:github/teemow/inboxfewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teemow%2Finboxfewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teemow%2Finboxfewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teemow%2Finboxfewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teemow%2Finboxfewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teemow","download_url":"https://codeload.github.com/teemow/inboxfewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teemow%2Finboxfewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30479141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T20:45:58.186Z","status":"ssl_error","status_checked_at":"2026-03-13T20:45:20.133Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assistant","github","gmail","google","mcp"],"created_at":"2025-12-24T04:10:20.383Z","updated_at":"2026-03-13T23:21:22.691Z","avatar_url":"https://github.com/teemow.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e\n  \u003cimg src=\"assets/logo/logo-64.png\" alt=\"inboxfewer logo\" width=\"48\" height=\"48\" valign=\"middle\"\u003e\n  inboxfewer\n\u003c/h1\u003e\n\nArchive Gmail threads for closed GitHub issues and provide MCP server for AI assistants\n\n# SYNOPSIS\n\n```\ninboxfewer [command] [options]\ninboxfewer cleanup [--account ACCOUNT] [--debug]\ninboxfewer serve [--transport TYPE] [--http-addr ADDR] [--yolo] [--debug]\n```\n\n# DESCRIPTION\n\ninboxfewer 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.\n\n# INSTALLATION\n\n## Container Images\n\nRun with Docker:\n\n```bash\n# Latest stable release\ndocker run -p 8080:8080 ghcr.io/teemow/inboxfewer:latest\n\n# Specific version\ndocker run -p 8080:8080 ghcr.io/teemow/inboxfewer:v1.2.3\n```\n\nDeploy with Helm:\n\n```bash\n# Install from OCI registry\nhelm install inboxfewer oci://ghcr.io/teemow/charts/inboxfewer\n\n# With custom configuration\nhelm install inboxfewer oci://ghcr.io/teemow/charts/inboxfewer \\\n  --set image.tag=v1.2.3 \\\n  --values my-values.yaml\n```\n\nSee [docs/deployment.md](docs/deployment.md) for comprehensive deployment documentation.\n\n## Binary Installation\n\nDownload the latest release for your platform:\n\n```bash\n# Linux (amd64)\ncurl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_linux_amd64.tar.gz | tar xz\n\n# Linux (arm64)\ncurl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_linux_arm64.tar.gz | tar xz\n\n# macOS (amd64)\ncurl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_darwin_amd64.tar.gz | tar xz\n\n# macOS (arm64)\ncurl -L https://github.com/teemow/inboxfewer/releases/latest/download/inboxfewer_darwin_arm64.tar.gz | tar xz\n\n# Install to PATH\nsudo mv inboxfewer /usr/local/bin/\n```\n\nOr install from source:\n\n```bash\ngo install github.com/teemow/inboxfewer@latest\n```\n\n# COMMANDS\n\n## cleanup\n\nArchive Gmail threads related to closed GitHub issues and pull requests.\n\n```bash\ninboxfewer cleanup [--account ACCOUNT]\n```\n\n## serve\n\nStart the MCP server to provide tools for AI assistants.\n\n```bash\ninboxfewer serve [--transport TYPE] [--http-addr ADDR] [--yolo]\n```\n\n**Transport Types:**\n- stdio: Standard input/output (default, for desktop apps)\n- streamable-http: HTTP streaming (HTTP server on --http-addr)\n\n## version\n\nDisplay version information.\n\n```bash\ninboxfewer version\n```\n\n## generate-docs\n\nGenerate markdown documentation for all MCP tools.\n\n```bash\ninboxfewer generate-docs           # Output to stdout\ninboxfewer generate-docs -o FILE   # Output to file\n```\n\n# OPTIONS\n\n```\n--account ACCOUNT      Google account name to use (default: \"default\")\n--debug                Enable debug logging\n--transport TYPE       MCP transport: stdio, streamable-http (default: stdio)\n--http-addr ADDR       HTTP server address for http transport (default: :8080)\n--yolo                 Enable write operations in MCP server (default: read-only)\n```\n\n# CONFIGURATION\n\n## GitHub Token\n\nCreate `~/keys/github-inboxfewer.token` with:\n\n```\n\u003cgithub-username\u003e \u003cgithub-personal-access-token\u003e\n```\n\n## Google OAuth\n\nAuthentication with Google differs by transport type:\n\n**STDIO Transport (desktop):** On first run, authenticate via browser. Tokens are cached locally:\n\n- Linux/Unix: `~/.cache/inboxfewer/google-{account}.token`\n- macOS: `~/Library/Caches/inboxfewer/google-{account}.token`\n- Windows: `%TEMP%/inboxfewer/google-{account}.token`\n\n**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](docs/mcp-oauth.md) for setup.\n\n## Multi-Account Support\n\nManage multiple Google accounts using the `--account` flag:\n\n```bash\ninboxfewer cleanup --account work\ninboxfewer cleanup --account personal\n```\n\nSee [docs/configuration.md](docs/configuration.md) for details.\n\n# EXAMPLES\n\nArchive Gmail threads for closed issues:\n\n```bash\ninboxfewer cleanup\n```\n\nStart MCP server for Claude Desktop:\n\n```bash\ninboxfewer serve\n```\n\nStart MCP server with HTTP transport:\n\n```bash\ninboxfewer serve --transport streamable-http --http-addr :8080\n```\n\nEnable all write operations:\n\n```bash\ninboxfewer serve --yolo\n```\n\n# MCP SERVER\n\nThe 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.\n\n**Key Capabilities:**\n- Gmail: List, search, archive, send emails, manage filters\n- Google Docs: Retrieve document content in markdown or text\n- Google Drive: Upload, download, organize, share files\n- Google Calendar: Create events, check availability, schedule meetings\n- Google Meet: Access recordings, transcripts, and notes\n- Google Tasks: Create and manage task lists\n\nSee [docs/tools.md](docs/tools.md) for the complete tool reference (auto-generated from code).\n\n# FILES\n\n```\n~/keys/github-inboxfewer.token           GitHub credentials\n~/.cache/inboxfewer/google-*.token       Google OAuth tokens (Linux/Unix)\n~/Library/Caches/inboxfewer/google-*.token   Google OAuth tokens (macOS)\n%TEMP%/inboxfewer/google-*.token         Google OAuth tokens (Windows)\n```\n\n# SEE ALSO\n\n- [Configuration Guide](docs/configuration.md)\n- [Deployment Guide](docs/deployment.md) - Docker, Kubernetes, Helm\n- [MCP OAuth Guide](docs/mcp-oauth.md) - OAuth 2.1 authentication for HTTP transport\n- [Security Guide](docs/security.md) - Security best practices and compliance\n- [MCP Tools Reference](docs/tools.md)\n- [Development Guide](docs/development.md)\n- [Debugging Guide](docs/debugging.md)\n\n# AUTHORS\n\nOriginal concept by Brad Fitzpatrick.\nMCP server integration by @teemow.\n\n# LICENSE\n\nSee LICENSE file for details.\n\n# BUGS\n\nReport bugs at: https://github.com/teemow/inboxfewer/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteemow%2Finboxfewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteemow%2Finboxfewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteemow%2Finboxfewer/lists"}