Foursquare MCP Server

Foursquare MCP Server

Exposes Foursquare/Swarm check-in data and user activity through 13 tools, enabling user management, check-in history, venue details, mayorships, lists, and cross-user search.

Category
Visit Server

README

Foursquare MCP Server

An MCP server that exposes Foursquare/Swarm checkin data and user activity through 13 tools. Built with FastMCP, it supports stdio and HTTP transports.

Features

  • User management — register multiple Foursquare accounts by OAuth token
  • Checkins — fetch checkin history with date filtering and pagination, or get full detail for a single checkin
  • Venue details — look up any venue by ID
  • Venue history — unique venues visited with visit counts and timestamps
  • Mayorships — current venues where a user is mayor
  • Lists — saved, created, and followed lists with full venue details
  • Tastes — user food/experience preferences
  • Cross-user search — query checkins across all registered users at once

Requirements

  • Python 3.11+
  • uv (recommended) or pip

Setup

1. Install

cd foursquare_mcp
uv sync

Or with pip:

pip install -e .

2. Get a Foursquare OAuth Token

Option A — Interactive OAuth flow:

Create a .env file with your Foursquare app credentials (see .env.example):

FOURSQUARE_CLIENT_ID=your_client_id
FOURSQUARE_CLIENT_SECRET=your_client_secret

Then run the setup command:

foursquare-mcp setup --username alice

This opens a browser-based OAuth flow and saves the token automatically.

Option B — Manual token:

If you already have an OAuth token:

foursquare-mcp add-user --username alice --token YOUR_OAUTH_TOKEN

Tokens are stored in ~/.config/foursquare-mcp/users.json.

3. Run the Server

stdio (default, for local MCP clients):

foursquare-mcp serve

HTTP (for remote or shared access):

foursquare-mcp serve --transport streamable-http --host 0.0.0.0 --port 8006

MCP Client Configuration

Add to your MCP client config (e.g. .mcp.json):

stdio:

{
  "mcpServers": {
    "foursquare": {
      "command": "foursquare-mcp",
      "args": ["serve"]
    }
  }
}

Streamable HTTP:

{
  "mcpServers": {
    "foursquare": {
      "type": "streamable-http",
      "url": "http://localhost:8006/mcp"
    }
  }
}

Tools

User Management

Tool Description
list_users List all registered Foursquare usernames
add_user Register a user's OAuth token
remove_user Remove a registered user
get_user_details Get a user's Foursquare profile

Checkins

Tool Description
get_user_checkins Get checkins with optional date range and limit
get_checkin_detail Get full detail for a single checkin (comments, photos, overlaps)
search_all_users_checkins Search checkins across all registered users

Venues

Tool Description
get_venue_details Get full venue info by venue ID
get_user_venue_history Get unique venues visited with visit counts and timestamps

Social

Tool Description
get_user_mayorships Get venues where the user is currently mayor
get_user_lists Get all lists (saved, created, followed)
get_list_detail Get full list detail with all venue items
get_user_tastes Get taste preferences (food types, experiences)

CLI Commands

foursquare-mcp serve          Start the MCP server
foursquare-mcp setup          Authenticate via OAuth and save token
foursquare-mcp add-user       Register a token manually
foursquare-mcp remove-user    Remove a registered user
foursquare-mcp list-users     List registered users

Run foursquare-mcp --help for full option details.

Running as a systemd Service

# ~/.config/systemd/user/foursquare-mcp.service
[Unit]
Description=Foursquare MCP Server

[Service]
WorkingDirectory=/path/to/foursquare_mcp
ExecStart=/path/to/uv run foursquare-mcp serve --transport streamable-http --host 0.0.0.0 --port 8006
Restart=on-failure

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now foursquare-mcp

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured