UB
OfficialLocation

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.

Quick Install
npx -y @uberall/uberall-mcp-server

Overview

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.

  1. Clone and run locally (node/npm example)
git clone https://github.com/uberall/uberall-mcp-server.git
cd uberall-mcp-server
npm install
npm run start
  1. 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
  1. Run with Docker

Build and run the container:

# build
docker build -t uberall-mcp-server .

# run
docker run -p 8080:8080 --env-file .env uberall-mcp-server

Or using docker-compose:

version: "3.8"
services:
  mcp:
    image: uberall-mcp-server:latest
    ports:
      - "8080:8080"
    env_file:
      - .env
    restart: unless-stopped
  1. Basic health check
curl http://localhost:8080/health
# 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).

ResourceMethodPathPurpose
LocationsGET/locationsList or search locations (filter, pagination)
LocationsPOST/locationsCreate a new location
LocationsPUT/locations/{id}Update location metadata
ReviewsGET/locations/{id}/reviewsRetrieve reviews for a location
ReviewsPOST/reviewsIngest a review or batch import
PostsPOST/locations/{id}/postsCreate/schedule a social post for a location
WebhooksPOST/webhooksReceive change/event callbacks
HealthGET/healthLiveness/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.