mcpField
C
Compass Daas

Compass Daas

Local
github.com/compass-foodMaps & Travel0Updated 1w ago

About Compass Daas

Compass DaaS MCP is a read-only server for AI agents that need restaurant search and dietary fit information. It provides search, restaurant enrichment, and fit decisions through the Compass REST API, with coverage across the 50 US states and Washington, DC.

Key features

  1. 01Search restaurants in natural language
  2. 02Match and enrich restaurant details
  3. 03Assess restaurant fit for dietary profiles
  4. 04Return vegan dish and menu information
  5. 05Support US-wide restaurant coverage

Use cases

  1. 01Find restaurants for a dish and location
  2. 02Check dietary fit for a restaurant
  3. 03Resolve a restaurant from its name and address

MCP support

The MCP server exposes three read-only tools: `compass_search`, `compass_enrich_restaurant`, and `compass_decide_fit`. It calls the Compass REST API using an API key; it is not an allergen or safety service.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"compass": {
"command": "npx",
"args": [
"-y",
"@compass-food/mcp"
],
"env": {
"COMPASS_API_KEY": "<COMPASS_API_KEY>"
}
}
}
}
Run commandnpx -y @compass-food/mcp
Environment variables to set
COMPASS_API_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@compass-food/mcp

Tools

3

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
include_evidencebooleanNoWhether to include evidence snippets when available
limitintegerNoMaximum number of restaurants to return
locationobjectNoOptional coordinate radius filter for location-aware search
location.latnumberYesLatitude for radius filtering
location.lngnumberYesLongitude for radius filtering
location.radius_mintegerNoSearch radius in meters; defaults to 5000 when omitted
modeenumNoResponse detail mode; rich includes fuller evidence and reasoningfast | rich
querystringYesNatural language query, e.g. 'strict vegan ramen in Brooklyn under $20'
user_profileobjectNoOptional dietary profile for per-result fit guidance
user_profile.allergensarrayNoAllergens or ingredients the user wants to avoid; handled conservatively as user preferences
user_profile.dietenumNoPreference input. Safety-sensitive and religious-diet values are conservative signals, not public certification/free-from restaurant facts.strict_vegan | vegetarian | pescatarian | gluten_free | halal | kosher | low_fodmap | nut_free | dairy_free | egg_free | shellfish_free
user_profile.dietary_rulesarrayNoAdditional short user dietary rules or avoidances
user_profile.exclude_cross_contaminationbooleanNoWhen true, treat unknown or shared-prep cross-contamination evidence conservatively

Details

From the project README

Compass DaaS MCP

Smithery badge

MCP server for Compass DaaS. It exposes three read-only restaurant tools (search, enrich, decide fit) over the Model Context Protocol and calls the Compass REST API with your API key. Coverage is the 50 US states and Washington, DC.

Compass is not an allergen or safety service.

This package replaces @compass-food/mcp, which is no longer updated. Change @compass-food/mcp to @compassfoodtech/mcp in your MCP client config.

Quick Start

npx -y @compassfoodtech/mcp

Set COMPASS_API_KEY before starting the server:

export COMPASS_API_KEY="<paste the key from signup>"

For staging or local testing, set:

export COMPASS_BASE_URL=https://daas-api-veganmapai-1a8b7.a.run.app

Install

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "compass": {
      "command": "npx",
      "args": ["-y", "@compassfoodtech/mcp"],
      "env": {
        "COMPASS_API_KEY": "<paste the key from signup>"
      }
    }
  }
}
Cursor

Add to Cursor MCP settings (~/.cursor/mcp.json globally, or .cursor/mcp.json in a workspace):

{
  "mcpServers": {
    "compass": {
      "command": "npx",
      "args": ["-y", "@compassfoodtech/mcp"],
      "env": {
        "COMPASS_API_KEY": "<paste the key from signup>"
      }
    }
  }
}
Codex CLI

Edit ~/.codex/config.toml:

[mcp_servers.compass]
command = "npx"
args = ["-y", "@compassfoodtech/mcp"]

[mcp_servers.compass.env]
COMPASS_API_KEY = "<paste the key from signup>"
Get an API key

Sign up — a working sandbox key is saved immediately, with 250 credits for 72 hours. Confirming email raises the shared free allowance to 1,000 credits per month.

Tools

compass_search

Wraps POST /v1/search. The mode tool argument is sent to the REST API as the X-Compass-Mode header. Pass a dish in dish and the destination as place or location, not both. Each result carries vegan_dining (up to five relevant vegan dishes and menu_collected_at). A dish query with no restaurant that has the dish returns result_status: "no_match" and, when one exists within 50 km, nearest_match. Set include_cuisine_matches to also list same-cuisine restaurants without the dish, marked cuisine_only.

{
  "query": "ramen",
  "dish": "ramen",
  "place": { "country_code": "US", "region": "NY", "city": "Brooklyn" },
  "user_profile": { "diet": "strict_vegan" },
  "limit": 5
}
{
  "query": "vegan ramen in Brooklyn",
  "user_profile": {
    "diet": "strict_vegan",
    "exclude_cross_contamination": true
  },
  "location": {
    "lat": 40.6782,
    "lng": -73.9442,
    "radius_m": 5000
  },
  "limit": 10,
  "mode": "rich"
}
compass_enrich_restaurant

Wraps POST /v1/enrich/restaurant. Use compass_id or google_place_id for an exact lookup (one of them, not both), name plus address, or name plus place. matched is true only when identity_status is resolved; otherwise match_candidates lists possible restaurants.

{
  "name": "Buddha Bodai",
  "address": "5 Mott St, New York, NY"
}
{
  "name": "Blossom",
  "place": { "country_code": "US", "region": "NY", "city": "New York" },
  "dish": "seitan"
}
compass_decide_fit

Wraps POST /v1/decision/restaurant-fit. The mode tool argument is sent to the REST API as the X-Compass-Mode header. Send exactly one of compass_id or google_place_id. vegan_options is an alias of strict_vegan; set fully_vegan_only to accept only fully vegan restaurants. vegetarian is judged from vegan evidence; other accepted diets return unknown with DIET_NOT_SUPPORTED. exclude_cross_contamination defaults to false. Send true when unknown shared-prep evidence should return unknown. When a google_place_id maps to no restaurant or to several, the response has resolution and coverage instead of a decision.

{
  "compass_id": "rest_xyz789",
  "user_profile": {
    "diet": "strict_vegan"
  },
  "mode": "rich"
}

API Key Resolution

The server checks:

  1. COMPASS_API_KEY
  2. ~/.compass/config.json

Config file:

{
  "api_key": "<paste the key from signup>",
  "base_url": "https://api.compassfoodtechnologies.com"
}

Privacy

This package sends tool calls only to the configured Compass API base URL. It does not send secondary usage data.

Links

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.