View as Markdown

Foursquare Integration

Manage Foursquare search places, get place, get place tips, get place photos, autocomplete places

The Foursquare integration provides access to manage Foursquare search places, get place, get place tips, get place photos, autocomplete places through the Integrate MCP server.

Installation

The Foursquare integration is included with the SDK:

import { foursquareIntegration } from "integrate-sdk/server";

Setup

1. Create a Foursquare OAuth App

  1. Create an OAuth application for Foursquare
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Foursquare integration to your server configuration. The integration automatically reads FOURSQUARE_CLIENT_ID and FOURSQUARE_CLIENT_SECRET from your environment variables:

import { createMCPServer, foursquareIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    foursquareIntegration({
      scopes: ["places", "tips", "photos"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

foursquareIntegration({
  clientId: process.env.CUSTOM_FOURSQUARE_ID,
  clientSecret: process.env.CUSTOM_FOURSQUARE_SECRET,
      scopes: ["places", "tips", "photos"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("foursquare");
const result = await client.foursquare.searchPlaces({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, foursquareIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [foursquareIntegration()],
});

Configuration Options

export interface FoursquareIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • places
  • tips
  • photos

Tools

foursquare_search_places

Search places

export interface FoursquareSearchPlacesParams { "query"?: string;

foursquare_get_place

Get place

export interface FoursquareGetPlaceParams { fsq_id: string }

foursquare_get_place_tips

Get place tips

export interface FoursquareGetPlaceTipsParams { fsq_id: string;

foursquare_get_place_photos

Get place photos

export interface FoursquareGetPlacePhotosParams { fsq_id: string;

foursquare_autocomplete_places

Autocomplete places

export interface FoursquareAutocompletePlacesParams { "query"?: string;

Notes

  • Category: Food
  • Authentication mode: OAuth