Foursquare Server
FreeNot checkedExposes Foursquare/Swarm check-in data and user activity through 13 tools, enabling user management, check-in history, venue details, mayorships, lists, and cro
About
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.
README
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
Installing Foursquare Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/jbeker/foursquare_mcpFAQ
Is Foursquare Server MCP free?
Yes, Foursquare Server MCP is free — one-click install via Unyly at no cost.
Does Foursquare Server need an API key?
No, Foursquare Server runs without API keys or environment variables.
Is Foursquare Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Foursquare Server in Claude Desktop, Claude Code or Cursor?
Open Foursquare Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Foursquare Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
