关于 Compass Daas
Compass DaaS MCP 是面向需要餐厅搜索和饮食适配信息的 AI Agent 的只读服务。它通过 Compass REST API 提供搜索、餐厅信息补全和适配判断,覆盖美国 50 个州及华盛顿特区。
主要功能
- 01用自然语言搜索餐厅
- 02匹配并补全餐厅信息
- 03按饮食偏好判断餐厅适配度
- 04提供纯素菜品和菜单信息
- 05覆盖美国各州及华盛顿特区
适用场景
- 01按菜品和地点查找餐厅
- 02检查餐厅是否符合饮食偏好
- 03根据名称和地址匹配餐厅
MCP 相关
该 MCP 服务提供三个只读工具:`compass_search`、`compass_enrich_restaurant` 和 `compass_decide_fit`。它使用 API 密钥调用 Compass REST API;不提供过敏原或安全服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| include_evidence | boolean | 否 | 是否在可用时包含依据摘要 |
| limit | integer | 否 | 返回的餐厅数量上限 |
| location | object | 否 | 用于位置感知搜索的可选坐标半径筛选条件 |
| location.lat | number | 是 | 半径筛选的纬度 |
| location.lng | number | 是 | 半径筛选的经度 |
| location.radius_m | integer | 否 | 搜索半径,单位为米;未指定时默认为 5000 |
| mode | enum | 否 | 响应详细程度模式;rich 会包含更完整的依据和推理fast | rich |
| query | string | 是 | 自然语言查询,例如 'strict vegan ramen in Brooklyn under $20' |
| user_profile | object | 否 | 可选的饮食资料,用于提供各结果的适配建议 |
| user_profile.allergens | array | 否 | 用户希望避免的过敏原或成分;将其谨慎地视为用户偏好 |
| user_profile.diet | enum | 否 | 偏好输入。安全敏感及宗教饮食值是保守的信号,并非餐厅公开的认证或不含某成分的事实。strict_vegan | vegetarian | pescatarian | gluten_free | halal | kosher | low_fodmap | nut_free | dairy_free | egg_free | shellfish_free |
| user_profile.dietary_rules | array | 否 | 其他简短的用户饮食规则或忌避项 |
| user_profile.exclude_cross_contamination | boolean | 否 | 为 true 时,对未知或共用备餐区造成的交叉污染证据采取保守处理 |
详细介绍
Compass DaaS MCP
适用于 Compass DaaS 的 MCP 服务。它通过 Model Context Protocol 提供三个只读餐厅工具(搜索、补充信息、判断是否符合条件),并使用你的 API 密钥调用 Compass REST API。覆盖美国 50 个州和华盛顿特区。
Compass 不是过敏原或安全服务。
此软件包取代了不再更新的
@compass-food/mcp。请在 MCP 客户端配置中将@compass-food/mcp改为@compassfoodtech/mcp。
快速开始
npx -y @compassfoodtech/mcp
启动服务前,请设置 COMPASS_API_KEY:
export COMPASS_API_KEY="<paste the key from signup>"
对于暂存环境或本地测试,请设置:
export COMPASS_BASE_URL=https://daas-api-veganmapai-1a8b7.a.run.app
安装
Claude Desktop
编辑 ~/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
添加到 Cursor MCP 设置中(全局配置使用 ~/.cursor/mcp.json,工作区配置使用 .cursor/mcp.json):
{
"mcpServers": {
"compass": {
"command": "npx",
"args": ["-y", "@compassfoodtech/mcp"],
"env": {
"COMPASS_API_KEY": "<paste the key from signup>"
}
}
}
}
Codex CLI
编辑 ~/.codex/config.toml:
[mcp_servers.compass]
command = "npx"
args = ["-y", "@compassfoodtech/mcp"]
[mcp_servers.compass.env]
COMPASS_API_KEY = "<paste the key from signup>"
获取 API 密钥
注册——系统会立即保存一个可用的沙盒密钥,提供 250 个额度,有效期为 72 小时。确认电子邮件后,共享免费额度将提升至每月 1,000 个额度。
工具
compass_search
封装 POST /v1/search。
mode 工具参数会作为 X-Compass-Mode 标头发送到 REST API。
在 dish 中传入菜品,在 place 或 location 中传入目的地,不要同时使用两者。每条结果都包含 vegan_dining(最多五道相关纯素菜品和 menu_collected_at)。如果菜品查询没有找到提供该菜品的餐厅,则返回 result_status: "no_match";若 50 km 范围内存在匹配项,还会返回 nearest_match。设置 include_cuisine_matches,还会列出提供相同菜系但不含该菜品的餐厅,并标记为 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
封装 POST /v1/enrich/restaurant。
精确查询时使用 compass_id 或 google_place_id(二选一,不能同时使用),也可以使用 name 加 address,或 name 加 place。仅当 identity_status 为 resolved 时,matched 才为 true;否则,match_candidates 会列出可能的餐厅。
{
"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
封装 POST /v1/decision/restaurant-fit。
mode 工具参数会作为 X-Compass-Mode 标头发送到 REST API。
只发送 compass_id 或 google_place_id 中的一项。vegan_options 是 strict_vegan 的别名;设置 fully_vegan_only,仅接受完全纯素的餐厅。素食(vegetarian)判断依据是纯素相关证据;其他受理的饮食类型会返回 unknown 和 DIET_NOT_SUPPORTED。
exclude_cross_contamination 默认为 false。如果未知的共用备餐证据应导致返回 unknown,请将其设为 true。
当 google_place_id 未映射到餐厅或映射到多家餐厅时,响应会返回 resolution 和 coverage,而不是判断结果。
{
"compass_id": "rest_xyz789",
"user_profile": {
"diet": "strict_vegan"
},
"mode": "rich"
}
API 密钥解析
服务会按以下顺序检查:
COMPASS_API_KEY~/.compass/config.json
配置文件:
{
"api_key": "<paste the key from signup>",
"base_url": "https://api.compassfoodtechnologies.com"
}
隐私
此软件包只会将工具调用发送到已配置的 Compass API 基础 URL。它不会发送次要使用数据。
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。