# Passport.Me Identity-backed data bridge for AI agents. One OAuth flow, then every Model Context Protocol (MCP) client — Claude, ChatGPT, Cursor, Copilot, CLI — can read the user's Gmail, Calendar, Drive, Docs, Sheets, Contacts, GitHub, Oura, Spotify, wallet activity, NFTs, DeFi positions, confirmed profile facts, and portable AI memories, and write to Sheets, Docs and Calendar once the user opts an app in. ## Quick facts - Product: https://passport.me - MCP endpoint (streamable HTTP): https://mcp.passport.me/mcp - Account dashboard: https://my.passport.me - CLI: https://passport.me/cli - Chrome extension: https://passport.me/extension ## Discovery - OAuth Authorization Server: https://passport.me/.well-known/oauth-authorization-server - OAuth Protected Resource: https://passport.me/.well-known/oauth-protected-resource - MCP server card: https://passport.me/.well-known/mcp/server-card.json - API catalog: https://passport.me/.well-known/api-catalog - Agent skills: https://passport.me/.well-known/agent-skills/index.json ## Data sources Email, calendar, drive, docs, sheets, contacts, demographics (Google); GitHub, Oura, Spotify; portfolio, activity, NFTs, DeFi positions (onchain); confirmed profile facts and portable AI memories (Passport-hosted). ## Supported MCP tools Read: `search`, `fetch`, `email_search`, `receipt_search`, `email_open`, `calendar_upcoming`, `drive_find`, `doc_read`, `sheet_read`, `contacts_list`, `wallet_portfolio`, `wallet_recent_activity`, `wallet_nfts`, `wallet_defi_positions`, `ai_memories`, `demographics`, `passport_profile_facts`, `github_user`, `github_repos`, `github_starred`, `github_issues`, `github_repo_detail`, `oura_personal_info`, `oura_daily_sleep`, `oura_daily_activity`, `oura_daily_readiness`, `oura_sleep_periods`, `oura_workouts`, `spotify_top_tracks`, `spotify_top_artists`, `spotify_recently_played`, `spotify_playlists`, `spotify_saved_tracks`. Write (opt-in): `sheet_create`, `sheet_append`, `sheet_write`, `add_tab`, `duplicate_sheet`, `doc_create`, `doc_append`, `calendar_create_event`, `calendar_update_event`, `calendar_delete_event`, `drive_trash`. Writes need scope `passport.mcp.write`, which the user ticks per app on the consent screen, and edits to files the app did not create wait for the owner to approve them on Passport.Me. ## Privacy - Policy: https://passport.me/privacy - Terms: https://passport.me/terms - Every tool call is logged in the user's activity feed. The user can revoke any app with one click from the account dashboard. --- # Build with Passport.Me Identity-backed data bridge for AI agents and developers. One OAuth 2.1 consent, then any Model Context Protocol (MCP) client reads the user's Gmail, Calendar, Drive, Docs, Sheets, Contacts, GitHub, Oura, Spotify, wallet activity, confirmed profile facts, and portable AI memories. Read-only unless the user opts an app in to writes. ## MCP endpoint `https://mcp.passport.me/mcp` — streamable HTTP transport, OAuth 2.1, scope `passport.mcp` (`passport.mcp.write` only when the user ticks it on the consent screen). ## Add Passport.Me to your agent - Claude / ChatGPT: add a custom MCP connector pointing at https://mcp.passport.me/mcp and approve the consent screen. Client registration is automatic (dynamic client registration). - Cursor / custom clients: register via DCR at https://passport.me/register, run the authorization-code + PKCE flow against https://passport.me/oauth/authorize and https://passport.me/oauth/token, then call https://mcp.passport.me/mcp with `Authorization: Bearer `. - CLI: `npm install -g @passportme/cli` then `passportme login`. ## Tools Read: `search`, `fetch`, `email_search`, `receipt_search`, `email_open`, `calendar_upcoming`, `drive_find`, `doc_read`, `sheet_read`, `contacts_list`, `wallet_portfolio`, `wallet_recent_activity`, `wallet_nfts`, `wallet_defi_positions`, `ai_memories`, `demographics`, `passport_profile_facts`, `github_user`, `github_repos`, `github_starred`, `github_issues`, `github_repo_detail`, `oura_personal_info`, `oura_daily_sleep`, `oura_daily_activity`, `oura_daily_readiness`, `oura_sleep_periods`, `oura_workouts`, `spotify_top_tracks`, `spotify_top_artists`, `spotify_recently_played`, `spotify_playlists`, `spotify_saved_tracks`. Write (opt-in): `sheet_create`, `sheet_append`, `sheet_write`, `add_tab`, `duplicate_sheet`, `doc_create`, `doc_append`, `calendar_create_event`, `calendar_update_event`, `calendar_delete_event`, `drive_trash`. Writes need scope `passport.mcp.write`, which the user ticks per app on the consent screen, and edits to files the app did not create wait for the owner to approve them on Passport.Me. A user sees tools only for the sources they have connected. ## Discovery - OAuth authorization server: https://passport.me/.well-known/oauth-authorization-server - OAuth protected resource: https://passport.me/.well-known/oauth-protected-resource - Dynamic client registration: https://passport.me/register - MCP server card: https://passport.me/.well-known/mcp/server-card.json - API catalog: https://passport.me/.well-known/api-catalog - OpenAPI 3.1: https://passport.me/openapi.json - Agent skills: https://passport.me/.well-known/agent-skills/index.json - llms.txt: https://passport.me/llms.txt ## Policies - Privacy: https://passport.me/privacy - Terms: https://passport.me/terms --- # Passport.Me CLI Command-line client for Passport.Me. Install globally and use the same OAuth-backed identity that powers MCP. ## Install ``` npm install -g @passportme/cli ``` ## Commands - `passportme login` — opens the browser consent screen - `passportme status` — show the connected account - `passportme gmail list` — list recent messages - `passportme wallet portfolio` — show portfolio summary - `passportme mcp config --format claude` — emit MCP client config for Claude ## MCP endpoint https://mcp.passport.me/mcp — streamable HTTP, OAuth 2.1, scope `passport.mcp`. ## Discovery - https://passport.me/.well-known/oauth-authorization-server - https://passport.me/.well-known/mcp/server-card.json --- # Passport.Me Chrome Extension Adds Passport.Me as a data source inside AI web apps that do not support MCP natively (ChatGPT Free, Gemini, Grok, DeepSeek, Perplexity Free). When a model emits a `` block, the extension detects it, runs the tool call against the user's Passport, and injects the result back into the conversation. ## Install Not on the Chrome Web Store yet — the listing will be linked from https://passport.me/extension when it is live. Until then, use the MCP endpoint or the CLI. ## Capabilities - Detects tool calls across ChatGPT, Claude, Gemini, Grok, DeepSeek, Perplexity. - Requires user consent before auto-running tool calls (5 s grace window with cancel). - Uses the same OAuth identity as the Passport dashboard. ## Privacy The extension only runs on the supported AI platform origins declared in the manifest. No cross-site telemetry. --- # Connect to Passport.Me MCP Passport.Me is an identity-backed data bridge. After the user grants consent via OAuth, an agent can call tools against the user's Google account (Gmail, Calendar, Drive, Docs, Sheets, Contacts), GitHub, Oura, Spotify, onchain wallet, confirmed profile facts, and portable AI memories. Tools read by default; they write only after the user opts the app in. ## Endpoint `https://mcp.passport.me/mcp` — streamable HTTP transport. ## Authentication OAuth 2.1 with dynamic client registration. Full metadata: - Authorization server: https://passport.me/.well-known/oauth-authorization-server - Protected resource: https://passport.me/.well-known/oauth-protected-resource - Dynamic client registration: https://passport.me/register - Scope: `passport.mcp` (request this one; `passport.mcp.write` is granted only when the user ticks it) ## Discovery - Server card: https://passport.me/.well-known/mcp/server-card.json - API catalog: https://passport.me/.well-known/api-catalog ## Tool surface A user sees tools only for the sources they have connected. Email: `search`, `fetch`, `email_search`, `receipt_search`, `email_open`. Calendar: `calendar_upcoming`. Drive / Docs / Sheets: `drive_find`, `doc_read`, `sheet_read`. Contacts: `contacts_list`. Wallet: `wallet_portfolio`, `wallet_recent_activity`, `wallet_nfts`, `wallet_defi_positions`. Memories: `ai_memories`. Read the `source` field on the result rather than assuming it. For accounts that have linked an AI BOND vault, the same tool returns `"source": "ai_bond"` and records in AI BOND's reviewed-memory shape; every other account returns `"source": "ai_memories"`. The tool name is stable either way. Profile: `demographics`, `passport_profile_facts`. GitHub, Oura, Spotify: `github_user`, `github_repos`, `github_starred`, `github_issues`, `github_repo_detail`, `oura_personal_info`, `oura_daily_sleep`, `oura_daily_activity`, `oura_daily_readiness`, `oura_sleep_periods`, `oura_workouts`, `spotify_top_tracks`, `spotify_top_artists`, `spotify_recently_played`, `spotify_playlists`, `spotify_saved_tracks`. Writes (opt-in): `sheet_create`, `sheet_append`, `sheet_write`, `add_tab`, `duplicate_sheet`, `doc_create`, `doc_append`, `calendar_create_event`, `calendar_update_event`, `calendar_delete_event`, `drive_trash`. Writes need scope `passport.mcp.write`, which the user ticks per app on the consent screen, and edits to files the app did not create wait for the owner to approve them on Passport.Me. ## Recommended flow 1. Fetch https://passport.me/.well-known/oauth-authorization-server to discover endpoints. 2. POST to `/register` with your `redirect_uris` to receive a `client_id`. 3. Run the authorization code + PKCE flow against `/oauth/authorize` and `/oauth/token`. 4. Present the access token as `Authorization: Bearer ` against https://mcp.passport.me/mcp.