@indiejoseph/ggi-mcp
v1.0.21
Published
MCP server for GoGoX Insurance internal operations
Downloads
2,475
Readme
ggi-mcp
MCP (Model Context Protocol) server for GoGoX Insurance (GGI). Exposes insurance policy management, WhatsApp messaging, and Google Drive operations as MCP tools.
Features
- Insurnet Tools — Search policies, customers, renewals, get policy/customer details, calculate premiums
- Wati Tools — Send/receive WhatsApp messages, manage contacts
- Google Drive Tools — List, search, download, upload files
Installation
Claude Desktop (Recommended)
Get your token by visiting the MCP token page:
https://{API_BASE_URL}/api/auth/token-page?type=cliOr run locally:
http://localhost:3000/api/auth/token-page?type=cliClick Sign in with Google. The page will return both tokens combined (format:
id_token:refresh_token).Note: This page is optimized for MCP server setup — Google sign-in only, no email/password form.
Add the server to your Claude config:
Edit
~/Library/Application Support/Claude/CLAUDE.md(macOS) or equivalent:{ "mcpServers": { "ggi": { "command": "npx", "args": ["-y", "@indiejoseph/ggi-mcp"], "env": { "GGI_API_TOKEN": "eyJhbGci...:ya29.a0..." } } } }The server auto-discovers the Firebase API key from the API server — no extra configuration needed.
Restart Claude Desktop — the GGI tools will be available in your chat.
Bun
bun install
GGI_API_TOKEN=your-token bun run dist/index.jsNPM
npm install
GGI_API_TOKEN=your-token node dist/index.jsEnvironment Variables
| Variable | Required | Description | Default |
|----------|----------|-------------|---------|
| GGI_API_TOKEN | Yes | Firebase ID token + refresh token, joined by : (format: id_token:refresh_token) | — |
| GGI_API_URL | No | API base URL | https://{API_BASE_URL} |
Note: The MCP server auto-discovers the Firebase API key from the API server — no need to configure it.
Tools
Insurnet
| Tool | Description |
|------|-------------|
| search_policy | Search policies by policy number, customer name, or ref number |
| search_customer | Search customers by name, reference, mobile, identity number, or other criteria |
| get_customer_detail | Get comprehensive customer information by customer reference |
| search_renewal | Search policies due for renewal within a date range |
| get_policy_details | Get detailed policy information by URL |
| calculate_premium | Calculate premium using rate tables |
Wati
| Tool | Description |
|------|-------------|
| get_messages | Fetch WhatsApp messages for a number |
| get_contacts | List contacts from Wati |
| preview_message | Preview a WhatsApp message (no auth required) |
| send_message | Send a WhatsApp message (requires confirmed: true) |
Google Drive
| Tool | Description |
|------|-------------|
| list_files | List files/folders in a Drive folder |
| search_files | Search files by query |
| download_file | Download a file (base64 content) |
| upload_file | Upload a file to Drive |
Architecture
Claude Desktop
↓ (stdio transport)
@indiejoseph/ggi-mcp (MCP Server)
↓ (HTTP + Bearer token)
GGI API Server (Cloud Run)
↓
Insurnet / Wati / Google DriveThe MCP server acts as a bridge between Claude and the GGI API backend. It requires an API token for authentication.
Development
# Install dependencies
npm install
# Build
npm run build
# Run with env vars
GGI_API_TOKEN=xxx GGI_API_URL=http://localhost:3000 npm start
# Run with tsx (development)
npx tsx src/index.tsTesting
node test/mcp-test.jsLicense
Internal use only — GoGoX Insurance (GGI)
