{"_id":"@danielrosehill/google-contacts-mcp","name":"@danielrosehill/google-contacts-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@danielrosehill/google-contacts-mcp","version":"0.1.0","publishConfig":{"access":"public"},"description":"Minimal MCP server for the Google People API — read-only contact search and lookup. Companion to Claude Code's schedule-manager plugin and any agent that needs to resolve names to email addresses.","type":"module","bin":{"google-contacts-mcp":"dist/index.js"},"main":"dist/index.js","scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch","auth":"node dist/auth-cli.js"},"keywords":["mcp","google","contacts","people-api"],"author":{"name":"Daniel Rosehill"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/danielrosehill/Google-Contacts-MCP.git"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","googleapis":"^144.0.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0"},"engines":{"node":">=18"},"gitHead":"e20ce385e69d0eda7e78d7082812504522d6a7c4","_id":"@danielrosehill/google-contacts-mcp@0.1.0","bugs":{"url":"https://github.com/danielrosehill/Google-Contacts-MCP/issues"},"homepage":"https://github.com/danielrosehill/Google-Contacts-MCP#readme","_nodeVersion":"22.21.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-CTh3sgCEkFE+KZf1h7VVvib6lQ03DcTAGOAp+LGGf/ldqvjIUpPKha+hFod0koeWMVj2FfgU565sXLK6sr26Rg==","shasum":"759bae23afa245118037067950590994b1057756","tarball":"https://registry.npmjs.org/@danielrosehill/google-contacts-mcp/-/google-contacts-mcp-0.1.0.tgz","fileCount":3,"unpackedSize":4727,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIADj+s7W0onkWzcJD78Qd8dRuYpoxfJEJGOCylliumkCAiBCRlt8DNREJIsSjojyBwY1AwmUJpMEOSK4IfZ0GmxAOg=="}]},"_npmUser":{"name":"danielrosehill","email":"public@danielrosehill.com"},"directories":{},"maintainers":[{"name":"danielrosehill","email":"public@danielrosehill.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/google-contacts-mcp_0.1.0_1777376823668_0.45890162633223563"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-28T11:47:03.594Z","0.1.0":"2026-04-28T11:47:03.853Z","modified":"2026-04-28T11:47:04.019Z"},"maintainers":[{"name":"danielrosehill","email":"public@danielrosehill.com"}],"description":"Minimal MCP server for the Google People API — read-only contact search and lookup. Companion to Claude Code's schedule-manager plugin and any agent that needs to resolve names to email addresses.","homepage":"https://github.com/danielrosehill/Google-Contacts-MCP#readme","keywords":["mcp","google","contacts","people-api"],"repository":{"type":"git","url":"git+https://github.com/danielrosehill/Google-Contacts-MCP.git"},"author":{"name":"Daniel Rosehill"},"bugs":{"url":"https://github.com/danielrosehill/Google-Contacts-MCP/issues"},"license":"MIT","readme":"# Google-Contacts-MCP\n\nMinimal MCP server for the Google People API — read-only contact search and lookup. Built as a companion to Claude Code's [`schedule-manager`](https://github.com/danielrosehill/Claude-Schedule-Manager-Plugin) plugin and any agent that needs to resolve a person's name to an email address before adding them to a calendar event.\n\n## Why this exists\n\nThe official [Google Workspace MCP](https://github.com/gemini-cli-extensions/workspace) covers Calendar, Docs, Sheets, Slides, Gmail, and Chat — but not Contacts. This is a thin, single-purpose server for that gap.\n\n## Tools\n\n| Tool | Purpose |\n|---|---|\n| `search_contacts(query, page_size?)` | Search by name, email, phone, or organization |\n| `get_contact(resource_name)` | Fetch full details for one contact |\n| `list_contacts(page_size?, page_token?)` | Paginated full enumeration |\n\nAll operations are **read-only**. The OAuth scope requested is `contacts.readonly`.\n\n## Setup\n\n### 1. Install\n\n```bash\nnpm install -g @danielrosehill/google-contacts-mcp\n# or run via npx without installing\n```\n\n### 2. OAuth credentials\n\nCreate an OAuth 2.0 Client ID (Desktop app type) at <https://console.cloud.google.com/apis/credentials> and enable the People API for your project.\n\nPlace the downloaded credentials JSON at:\n\n```\n~/.config/google-contacts-mcp/credentials.json\n```\n\n(Override with `GOOGLE_CONTACTS_CREDENTIALS_PATH` env var.)\n\n### 3. Authorise\n\n```bash\ngoogle-contacts-mcp auth\n```\n\nFollow the prompt: visit the URL, approve, paste the code back. Token is written to `~/.config/google-contacts-mcp/token.json` (chmod 600).\n\n### 4. Headless / env-var configuration (optional)\n\nFor deployment without a token file, set:\n\n```bash\nexport GOOGLE_CONTACTS_CLIENT_ID=...\nexport GOOGLE_CONTACTS_CLIENT_SECRET=...\nexport GOOGLE_CONTACTS_REFRESH_TOKEN=...\n```\n\nThe `auth` command prints these for you after a successful authorisation.\n\n## Wiring up to Claude Code\n\n```bash\nclaude mcp add google-contacts -- npx -y @danielrosehill/google-contacts-mcp\n```\n\nIf using env vars instead of a token file, pass them through:\n\n```bash\nclaude mcp add google-contacts \\\n  -e GOOGLE_CONTACTS_CLIENT_ID=$GOOGLE_CONTACTS_CLIENT_ID \\\n  -e GOOGLE_CONTACTS_CLIENT_SECRET=$GOOGLE_CONTACTS_CLIENT_SECRET \\\n  -e GOOGLE_CONTACTS_REFRESH_TOKEN=$GOOGLE_CONTACTS_REFRESH_TOKEN \\\n  -- npx -y @danielrosehill/google-contacts-mcp\n```\n\n## Development\n\n```bash\ngit clone https://github.com/danielrosehill/Google-Contacts-MCP\ncd Google-Contacts-MCP\nnpm install\nnpm run build\nnode dist/index.js  # smoke test (will block on stdin — that's expected for an MCP server)\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-4b268ba3c4fd244851baf4986d5975c2"}