Uberall MCP Server for Multi-Location Listings
Manage multi-location listings, reviews, and social posts with the Uberall MCP server to boost local presence and streamline location management.
npx -y @uberall/uberall-mcp-serverOverview
The Uberall MCP Server is a reference implementation for managing multi-location listings, reviews, and social posts via a centralized API. It exposes endpoints to create, update, query and batch-manage location data and associated assets (reviews, posts), enabling teams to automate local presence workflows across many storefronts or service points.
Designed for integration into marketing stacks and back-office systems, the MCP Server helps synchronize location metadata, ingest customer feedback, and schedule or publish social content tied to specific locations. It can be run locally for development, deployed in containers, and integrated with third-party systems (CMS, CRM, ticketing) to streamline large-scale location operations.
Features
- RESTful API for locations, reviews, and social posts
- Batch operations for efficient multi-location updates
- Pagination, filtering, and basic validation on resources
- Webhook support for event-driven workflows (review created, post published)
- Health checks and basic observability (logs, metrics-ready)
- Configurable authentication and secrets via environment variables
- Container-friendly (Docker) for easy deployment
- Reference clients / OpenAPI / Postman collection (where provided in the repo)
Installation / Configuration
Clone the repository and run the server locally, or run it in a container.
- Clone and run locally (node/npm example)
- Environment variables (.env example)
Create a .env file in the project root with values appropriate to your environment:
PORT=8080
NODE_ENV=development
DATABASE_URL=postgres://user:pass@localhost:5432/mcp
MCP_API_KEY=your-api-key
WEBHOOK_SECRET=your-webhook-secret
LOG_LEVEL=info
- Run with Docker
Build and run the container:
# build
# run
Or using docker-compose:
version: "3.8"
services:
mcp:
image: uberall-mcp-server:latest
ports:
- "8080:8080"
env_file:
- .env
restart: unless-stopped
- Basic health check
# expected: {"status":"ok"}
Available Resources
The server exposes a set of core endpoints to manage location-centric resources. Below is a condensed mapping of common endpoints (refer to the repository’s API docs/OpenAPI for full details).
| Resource | Method | Path | Purpose |
|---|---|---|---|
| Locations | GET | /locations | List or search locations (filter, pagination) |
| Locations | POST | /locations | Create a new location |
| Locations | PUT | /locations/{id} | Update location metadata |
| Reviews | GET | /locations/{id}/reviews | Retrieve reviews for a location |
| Reviews | POST | /reviews | Ingest a review or batch import |
| Posts | POST | /locations/{id}/posts | Create/schedule a social post for a location |
| Webhooks | POST | /webhooks | Receive change/event callbacks |
| Health | GET | /health | Liveness/readiness check |
Additional resources you may find in the repo:
- OpenAPI / Swagger specification
- Postman collection for quick testing
- Example client snippets (curl, Node/Python)
- Sample data fixtures and seeding scripts
Use Cases
- Centralized location sync
- A retail chain maintains a master database of locations (hours, addresses, services). Use the MCP Server to push changes in batches and ensure local listings reflect accurate info across distribution channels.
- Automated review workflows
- Ingest customer reviews via webhook or API, tag them by sentiment, and create tickets in a support system when negative feedback is detected. Use /locations/{id}/reviews to retrieve recent feedback for reporting.
- Multi-location social posting
- Schedule and publish promotional posts targeted to specific locations. Use the posts endpoint to set publication times, content, and target location groups.
- Integration testing and development
- The project provides a local, containerized server you can run to validate integrations before enabling production connectors. Use the provided Postman/OpenAPI artifacts to mock calls and verify client behavior.
Getting Started Tips
- Use the provided OpenAPI/Swagger spec to generate typed clients for your language (TypeScript, Python, Java).
- Start with Docker for parity between dev and production environments.
- Store secrets (API keys, webhook secret) in a secure vault or environment rather than in source.
- Enable request logging during development to observe payloads and workflow timing when importing large batches.
For full API details, examples, and deployment guides, refer to the repository at https://github.com/uberall/uberall-mcp-server.