Skip to main content
Glama
jbeker

Foursquare MCP Server

by jbeker

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

Related MCP server: Zaim API MCP Server

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
F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Aggregates multiple third-party APIs into unified MCP tools, providing out-of-the-box access to 10 popular services including OpenWeather, Google Maps, GitHub, Notion, Spotify, and more. Enables users to interact with weather data, search places, manage repositories, create content, and access various web services through a single MCP server.
    Last updated
    34
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables users to manage their Zaim household account data through OAuth 1.0a authentication. It provides 14 tools to retrieve, create, update, and delete financial records and master data like categories and accounts.
    Last updated
    14
    6
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Real-time X (Twitter) data platform with 2 MCP tools covering 120+ REST API endpoints. Search tweets, look up users, get timelines, extract followers/likes/retweets in bulk, monitor accounts, run giveaway draws, and perform write actions (tweet, like, retweet, follow, DM). OAuth 2.1 authentication with PKCE.
    Last updated
    2
    2
    213
    174
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Search concert setlists, artists, venues, tours, and cities from setlist.fm via natural language. Provides 16 read-only tools for exploring live music data.
    Last updated
    20
    356
    MIT

View all related MCP servers

Related MCP Connectors

  • Unified social-media data across 10 networks: profiles, posts, search, comments, cross-search.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

  • One key for 284 tools across 59 US public-data domains. Resale-safe government and open data.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jbeker/foursquare_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server