Compass DaaS
OfficialCompass DaaS MCP is a read-only MCP server for searching, enriching, and deciding dietary fit for US restaurants through the Compass API.
Search restaurants by natural-language dietary query, with optional location radius, diet profile, allergens/rules, cross-contamination preference, mode, limit, and evidence controls.
Enrich/match a restaurant using Compass ID, Google Place ID, or name/address to get VeganScore, dietary profile, evidence, and candidate matches if unresolved.
Decide restaurant fit for a given Compass ID and user dietary profile, returning fit/not_fit/unknown with confidence, reason codes, evidence, risk flags, freshness, and user wording.
Use it conservatively for vegan/vegetarian/diet preference guidance; it does not provide allergen-safe, certification, or free-from guarantees.
Requires a Compass API key via environment variable or local config file, and calls only the configured Compass API base URL.
Compass DaaS MCP
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/mcpto@compassfoodtech/mcpin your MCP client config.
Quick Start
npx -y @compassfoodtech/mcpSet 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.appRelated MCP server: Maître d'MCP
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:
COMPASS_API_KEY~/.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
Support: support@compassfoodtechnologies.com
License: MIT
Available Tools
3 toolscompass_decide_fitDecide restaurant fitARead-onlyIdempotent
Conservative fit decision for a restaurant against a user dietary profile. Returns "fit", "not_fit", or "unknown" with reason codes, evidence, and user wording. Returns "unknown" rather than overclaiming.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Response detail mode; rich includes fuller evidence and reasoning | rich |
| compass_id | Yes | Compass restaurant ID, obtained from compass_search or compass_enrich_restaurant | |
| user_profile | Yes | Required dietary profile for the restaurant fit decision |
Output Schema
| Name | Required | Description |
|---|---|---|
| decision | Yes | Conservative decision for the submitted profile |
| evidence | Yes | Evidence supporting the decision |
| compass_id | Yes | Stable Compass restaurant ID |
| confidence | Yes | Decision confidence |
| risk_flags | No | Risk flags that should be surfaced to the user |
| reason_codes | Yes | Compass public reason codes explaining the decision |
| source_freshness | No | Age and refresh guidance for the evidence behind a result |
| last_evaluated_at | No | When Compass last evaluated this restaurant for decision freshness |
| recommended_user_text | No | Conservative user-facing wording |
| verification_required | No | True when the user should verify with the restaurant before relying on the result |
compass_enrich_restaurantEnrich restaurantARead-onlyIdempotent
Match a restaurant by name and address, then return Compass enrichment data including VeganScore, vegan dietary profile, and evidence. Does not return certification/free-from facts. Returns "matched: false" with candidates if confidence is below threshold.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Restaurant name | |
| address | No | Street address (improves match) | |
| compass_id | No | Compass restaurant ID for direct lookup | |
| google_place_id | No | Google Place ID (highest match confidence) |
Output Schema
| Name | Required | Description |
|---|---|---|
| matched | Yes | Whether Compass confidently matched the submitted restaurant |
| evidence | No | Evidence for the enrichment result |
| candidates | No | Candidate matches returned when confidence is below threshold |
| compass_id | No | Stable Compass restaurant ID for the matched restaurant, when matched |
| confidence | No | Match confidence when available |
| restaurant | No | Compass restaurant result |
| vegan_score | No | Deterministic Compass VeganScore summary |
| dietary_profile | No | Public restaurant dietary facts supported by launch evidence. Compass does not expose allergen-safe or certification claims. |
compass_searchSearch restaurantsARead-onlyIdempotent
Search restaurants by natural-language dietary query. Returns ranked results with VeganScore, evidence, and confidence. Conservative: returns "unknown" when evidence is insufficient and does not return certification/free-from facts.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Response detail mode; rich includes fuller evidence and reasoning | rich |
| limit | No | Maximum number of restaurants to return | |
| query | Yes | Natural language query, e.g. 'strict vegan ramen in Brooklyn under $20' | |
| location | No | Optional coordinate radius filter for location-aware search | |
| user_profile | No | Optional dietary profile for per-result fit guidance | |
| include_evidence | No | Whether to include evidence snippets when available |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | Ranked Compass restaurant results |
| compass_request_id | No | Compass request identifier for support and tracing |
| query_interpretation | No | Best-effort interpretation of the submitted search query |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
compass_decide_fit - First observed
compass_enrich_restaurant - First observed
compass_search
TDQS
Scored across 3 tools
Each tool has a distinct purpose: decide_fit makes a dietary fit determination, enrich_restaurant returns enrichment data for a specific restaurant, and search allows natural-language queries. There is no overlap or ambiguity.
All tools follow the consistent pattern 'compass_verb_noun' (decide_fit, enrich_restaurant, search). The naming is predictable and uniform.
With only 3 tools, the set is appropriately scoped for the narrow domain of restaurant dietary matching. Each tool is essential and there is no bloat.
The tools cover search, enrichment, and fit decision, which are the core operations for the domain. No obvious gaps exist given the stated purpose of providing dietary data service.
Maintenance
Related MCP Connectors
Find restaurants and sourced dietary dish evidence. Free discovery; metered menus need an API key.
AI-native restaurant discovery: verified/menu-indexed/discovered tiers + signed allergy-safety data.
OSM-sourced local business data across 9 niches — cuisine, dietary options, delivery, accessibility.
Per-restaurant MCP servers: menu, hours, delivery terms; live example below
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP Compass is a discovery and recommendation service that assists AI assistants in finding and understanding Model Context Protocol servers through natural language queries.1200 npm248MIT
- FlicenseAqualityDmaintenanceAn MCP server for restaurant discovery and booking across Resy and OpenTable via natural language. It integrates Google Places data with dietary preferences, visit history, and weather awareness to provide personalized dining recommendations and group reservation management.23-
- FlicenseNot gradedqualityNot gradedmaintenanceAn AI-native restaurant discovery service that enables searching and receiving natural language recommendations for over 2,200 restaurants across 15+ US cities. It provides tools for accessing detailed restaurant info, curated lists, and cuisine-specific searches through the Model Context Protocol.-
- AlicenseNot gradedqualityDmaintenancePersonalized restaurant recommendations, table bookings, and delivery via MCP, CLI, or API, learning user taste and acting proactively.MIT