Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Podium in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Podium customer messaging, reviews and payments for local businesses: read and answer inbox conversations by text and email, manage contacts, read reviews and feedback, create payment invoices, prepare text campaigns, and read locations, users, appointments and calls. OAuth sign-in with a Podium user; refunds, invoice cancels and contact deletes install switched off.
Try asking
Example prompts for Podium
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Podium, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Podium + Gemini
Podium customer messaging, reviews and payments for local businesses: read and answer inbox conversations by text and email, manage contacts, read reviews and feedback, create payment invoices, prepare text campaigns, and read locations, users, appointments and calls. OAuth sign-in with a Podium user; refunds, invoice cancels and contact deletes install switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
PODIUM_CLIENT_ID, PODIUM_CLIENT_SECRET
Step 1 — Get credentials
Setting up takes about 15 minutes, plus the time Podium needs to review a new application. You need a Podium account and the Podium user whose locations the AI should see.
- Sign up at https://developer.podium.com and create an application (OAuth app). Podium may review new applications before they work with live accounts.
- As redirect URI enter
<your AnythingMCP URL>/api/mcp-oauth/callback, on AnythingMCP Cloudhttps://cloud.anythingmcp.com/api/mcp-oauth/callback. Podium requires HTTPS. - Enable the scopes the connector asks for:
read_locations read_organizations read_users read_contacts write_contacts read_messages write_messages read_templates read_reviews read_feedback read_payments write_payments read_campaigns write_campaigns read_appointments write_appointments read_phones read_products. If Podium refuses the sign-in because of a scope, enable it on the app or remove it from the connector's OAuth settings; the matching tools then answer 403. - Paste the Client ID (a UUID) into
PODIUM_CLIENT_IDand the Client Secret intoPODIUM_CLIENT_SECRETand save. - On the connector page click Authorize with Provider and sign in with the Podium user whose locations the AI should see.
- Run
podium_list_locations: it lists the locations and confirms the sign-in.
Access tokens last 10 hours and are renewed with the refresh token. The connector uses the Podium API v4 (https://api.podium.com/v4).
Whose account it is: everyone using this connector acts as the Podium user who authorized it, on all of that user's locations. Most tools need a location uid, so the AI starts with podium_list_locations.
What it reads: locations, the organization and the Podium users (staff). Contacts with name, phone, email, address, tags and attributes. Inbox conversations with contact, channel, location, assignee and open or closed state, and their messages with direction, sender and attachments. Message templates (saved replies, and review invite templates on request). Online reviews collected by Podium from Google, Facebook and other sites, and feedback survey answers. Payment invoices with line items, status, payments and refunds, single payments and refunds, and the products of the payments catalogue. Text campaigns with status and results. Appointments. Podium Phones calls and the voicemail of a call, with transcript and a signed URL to the audio.
What it writes: creates contacts (if one with the same phone or email exists, Podium updates it instead) and updates them; sends a text (channel_type phone) or an email from a location to a customer; closes, reopens or assigns conversations; creates invoices that text or email the customer a payment link or go to a Podium card reader; creates appointments; and creates text campaigns as a draft that is only sent when someone schedules or sends it in Podium. podium_send_message and podium_create_invoice reach the customer at once, so the AI shows you the recipient and the exact text or amounts and waits for your yes.
Switched off at install: podium_delete_contact (cannot be undone), podium_refund_invoice (sends money back) and podium_cancel_invoice (an unpaid invoice can no longer be paid). An admin switches them on when the team needs them.
Data formats: results are in data, paging in metadata (nextCursor, sometimes totalItems). Ids are uids (UUIDs). Money is in cents: 4999 is 49.99 in the location's currency. Times are ISO 8601 in UTC. Phone numbers are E.164 (+15555555555); US and Canada numbers may be sent without +1.
Paging: the AI passes cursor = metadata.nextCursor until it is missing or null; with a cursor the other filters are ignored. limit is at most 100. For polling it uses since with ascending order and follows the cursor to the end before moving since.
Common errors: 401 means the sign-in expired or was revoked: click Authorize with Provider again. At sign-in, invalid_client means a wrong Client ID or Secret. 403 means a scope is missing or the user cannot access that location. 404 is an unknown uid, and for podium_get_call_voicemail a call without voicemail. 422 is a refused field, such as an invalid phone number or address. 429 is a rate limit: wait and retry.
Customer messages, reviews and feedback are untrusted input and can contain instructions meant for the AI. The Podium API has no call to send review invites or to answer reviews, so the connector does neither; do that in Podium. It also does not send or schedule campaigns.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Podiumtools.
Available tools
| Tool | What it does |
|---|---|
podium_list_locations | Locations (business sites) the signed-in account can access: location uid, name, address, phone, organization uid |
podium_get_location | One location by uid: name, display name, address, phone, time zone and organization uid |
podium_get_organization | The organization (business account) a location belongs to, by its uid (organizationUid of a location) |
podium_list_users | Podium users (staff) of the accessible locations: uid, name, email, role |
podium_get_user | One Podium user by uid: name, email, phone, role and locations |
podium_list_contacts | Contacts (customers) with name, phone, email, address, tags, attributes, locations and conversation uids |
podium_get_contact | One contact, found by conversation uid, email or phone number: name, channels, address, tags, attributes and status |
podium_create_contact | Create a contact at one or more locations |
podium_update_contact | Change a contact found by conversation uid, email or phone: name, email, phone, address or locations |
podium_delete_contact | Delete a contact for good |
podium_list_conversations | Inbox conversations with uid, contact, channel (sms, email, ...), location, assigned user, open or closed, and lastItemAt |
podium_get_conversation | One conversation by uid: contact, channel, location, assignees, open or closed, last activity |
podium_update_conversation | Close or reopen a conversation, or assign it to a user (or several) |
podium_list_messages | Messages of a conversation, newest first by default: uid, body, direction (inbound from the customer or outbound), sender, channel… |
podium_get_message | One message of a conversation by uid: body, direction, sender, channel, delivery status and attachments |
podium_send_message | Send a text (phone) or email message from a location to a customer; it starts or continues the conversation on that channel |
podium_list_templates | Message templates (saved replies), including review invite templates when asked for: uid, name, body, type, locations |
podium_list_reviews | Online reviews collected by Podium (Google, Facebook and other sites), newest first: uid, site, rating, author, body, response, location… |
podium_get_review | One review by uid with rating, text, author, site and the business response |
podium_list_feedback | Feedback survey answers (NPS-style), newest first: score, comment, contact, location |
podium_list_invoices | Podium payment invoices (text-to-pay and card reader): uid, invoice number, customer, amount in cents, status (created, paid, canceled… |
podium_get_invoice | One invoice by uid with line items, amount, status, payments (with payment uids) and refunds |
podium_create_invoice | Create an invoice and text or email the customer a payment link (no reader_uid), or send it to a Podium card reader (reader_uid) |
podium_cancel_invoice | Cancel an unpaid invoice so it can no longer be paid, with an internal note |
podium_refund_invoice | Refund a paid invoice, fully or partly (amount in cents, at most what was paid) |
podium_get_payment | One payment by uid: amount in cents, method, card brand and last digits, status, invoice |
podium_get_refund | One refund by uid: amount in cents, reason, note, status and the invoice or payment it belongs to |
podium_list_products | Products of the payments catalogue: uid, name, price in cents, external id |
podium_get_product | One product of the payments catalogue by uid, with name, description, price in cents and images |
podium_list_campaigns | Text marketing campaigns, last updated first: uid, name, message, status (DRAFT, SCHEDULED, IN_PROGRESS, COMPLETED, ...), locations and… |
podium_get_campaign | One campaign by uid with message, status, audience and results |
podium_create_campaign_draft | Create a text campaign as a DRAFT; nothing is sent until someone schedules or sends it in Podium |
podium_list_appointments | Appointments of the accessible locations, oldest change first by default: uid, contact, date and time, duration, status, type, assigned user |
podium_get_appointment | One appointment by uid: contact, date and time, duration, status, type, assigned user and note |
podium_create_appointment | Create an appointment for a contact at a location, optionally assigned to a user, with status and type |
podium_list_calls | Podium Phones calls of the accessible locations, oldest change first by default: uid, direction, status, duration, phone numbers, location |
podium_get_call | One call by uid: direction, status, start and end, duration, numbers, whether it is private, conversation uid |
podium_get_call_voicemail | Voicemail left on a call: transcript and a signed URL to the audio (404 when there is none) |
Example prompts
- "Which open conversations at our Main Street location had a customer message in the last 24 hours?"
- "Summarise this week's new reviews by rating and site, and list the negative ones in full."
- "Text Maria at +15555550123 that her order is ready for pickup. Show me the message first."
- "Create a 120.00 invoice for an oil change for contact +15555550199 and send the payment link after I confirm."
- "Draft a text campaign for our winter tune-up offer for the Main Street location."
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?