{
  "markdown": "# Gemini Call Me\n\nAn MCP server extension that gives AI agents the ability to call you on the phone. When your agent needs your attention or a decision, your phone rings and you can have a real-time voice conversation.\n\n## Features\n\n- **Real Phone Calls**: Initiates calls via Vapi (recommended) or Telnyx\n- **Two-Way Conversation**: Full conversational loop - the agent speaks, listens, and responds\n- **MCP Compatible**: Works with Gemini CLI and other MCP clients\n- **Automatic Tunneling**: Uses ngrok to expose webhooks without manual configuration\n\n## Prerequisites\n\n### 1. Vapi Setup (Recommended)\n\n1. Sign up at [vapi.ai](https://vapi.ai)\n2. Get your **Private API Key** from the dashboard (not the public key)\n3. Get a phone number:\n   - Use a Vapi phone number, OR\n   - Import an existing number from Twilio/Telnyx for international calling support\n\n### 2. Ngrok Setup\n\n1. Sign up at [ngrok.com](https://ngrok.com) (free tier works)\n2. Get your authtoken from the dashboard\n\n### 3. Environment Variables\n\nCopy `.env.template` to `.env` and fill in:\n\n```bash\n# Server\nCALLME_PORT=3333\n\n# Ngrok\nCALLME_NGROK_AUTHTOKEN=your_ngrok_authtoken\n\n# Provider (vapi or telnyx)\nCALLME_PHONE_PROVIDER=vapi\n\n# Vapi\nCALLME_VAPI_API_KEY=your_private_api_key\nCALLME_VAPI_PHONE_NUMBER_ID=your_phone_number_id\n\n# Your phone number to receive calls\nCALLME_USER_PHONE_NUMBER=+1234567890\n```\n\n## Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/AshishSinha5/gemini-call-me.git\ncd gemini-call-me\n\n# Install dependencies\nnpm install\n\n# Configure environment\ncp .env.template .env\n# Edit .env with your credentials\n\n# Build\nnpm run build\n```\n\n## Using with Gemini CLI\n\nAdd to your Gemini CLI settings (`~/.gemini/settings.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"call-me\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/gemini-call-me/dist/index.js\"],\n      \"env\": {\n        \"CALLME_PORT\": \"3333\",\n        \"CALLME_NGROK_AUTHTOKEN\": \"your_token\",\n        \"CALLME_PHONE_PROVIDER\": \"vapi\",\n        \"CALLME_VAPI_API_KEY\": \"your_key\",\n        \"CALLME_VAPI_PHONE_NUMBER_ID\": \"your_phone_id\",\n        \"CALLME_USER_PHONE_NUMBER\": \"+1234567890\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\nWhen connected, your AI agent has access to:\n\n| Tool | Description |\n|------|-------------|\n| `initiate_call(message)` | Calls your phone and speaks the initial message |\n| `continue_call(call_id, message)` | Speaks a follow-up message and waits for your response |\n| `end_call(call_id, message)` | Says goodbye and ends the call |\n\n## Architecture\n\n```\nGemini CLI --[MCP/stdio]--> Local Server --[HTTP]--> Ngrok --[Webhook]--> Vapi\n                                  ^                                        |\n                                  |                                        v\n                                  +---- Tool Results <---- Voice Call ---- User\n```\n\nThe server creates a transient Vapi assistant for each call that relays messages between the AI agent and the user via tool calls.\n\n## Running Standalone\n\n```bash\nnpm start\n```\n\nThis starts the MCP server on stdio and an HTTP server for webhooks.\n\n## Troubleshooting\n\n- **Ngrok session conflicts**: If you see ngrok errors, ensure no other ngrok sessions are running (`pkill -f ngrok`)\n- **International calling**: Free Vapi numbers may not support international calls. Import a Twilio number into Vapi for international support.\n- **Wrong API key**: Make sure you're using the **Private** API key from Vapi, not the Public key\n\n## License\n\nMIT\n",
  "bytes": 3522,
  "sha": "0009062a62bc31a0e94e506d37a469ae95911bedb65d4e3dd40f9c2bc0c6533b",
  "repo_slug": "yogirk/gemini-callme",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_yogirk_gemini_callme_1e3d7c00/readme"
}