酒吧助理MCP服务器
MCP(模型上下文协议)服务器 酒吧助理 -管理你的家庭酒吧货架,发现你可以制作的鸡尾酒。
特性
- 📋 查看酒吧货架上的食材
- 🍸 看看你可以用你的东西做的鸡尾酒
- ➕ 将配料添加到货架上
- ➖ 从架子上取下配料
- 🔍 按名称搜索配料
- 🏪 发现您可用的酒吧
- 🧪 创造新的成分
- 🍹 创建新的鸡尾酒食谱
- ✏️ 更新现有鸡尾酒配方
安装
使用uvx(推荐)
直接用uvx运行:
uvx --from git+https://github.com/the-real-py/bar-assistant-mcp bar-assistant-mcp \
https://bar.johnprovost.com/bar/api \
your_token_here \
1或者在中设置环境变量 .env 并运行:
uvx --from git+https://github.com/the-real-py/bar-assistant-mcp bar-assistant-mcp使用pip
pip install git+https://github.com/the-real-py/bar-assistant-mcp
bar-assistant-mcp配置
创建一个 .env 项目目录中的文件:
BAR_ASSISTANT_API_URL=https://bar.johnprovost.com/bar/api
BAR_ASSISTANT_TOKEN=your_bearer_token_here
BAR_ASSISTANT_BAR_ID=1或者将它们作为命令行参数传递:
bar-assistant-mcp 获取您的凭据
- API URL:您的Bar Assistant实例URL+API路径
- 标准设置: http://localhost:8000/api - 自定义设置:检查您的反向代理配置(例如。, https://bar.example.com/bar/api)
- 代币:从您的酒吧助理配置文件设置生成个人访问令牌
- 酒吧ID:使用
list_bars工具来查找您的酒吧ID,或者通常1你的第一家酒吧
重要:The BAR_ASSISTANT_BAR_ID 是可选的。如果你不设置它,你可以提供 bar_id 调用工具时使用参数,或使用 list_bars 工具首先发现您可用的酒吧。
使用Claude Desktop
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"bar-assistant": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/the-real-py/bar-assistant-mcp",
"bar-assistant-mcp",
"https://bar.johnprovost.com/bar/api",
"your_token_here",
"1"
]
}
}
}或者使用环境变量:
{
"mcpServers": {
"bar-assistant": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/the-real-py/bar-assistant-mcp",
"bar-assistant-mcp"
],
"env": {
"BAR_ASSISTANT_API_URL": "https://bar.johnprovost.com/bar/api",
"BAR_ASSISTANT_TOKEN": "your_token_here",
"BAR_ASSISTANT_BAR_ID": "1"
}
}
}
}可用工具
list_bars
发现您可以访问的所有酒吧并获取其ID。
get_shelf_ingredients
列出酒吧货架上的所有配料。
参数:
bar_id(可选):要查询的栏IDpage(可选):分页页码
get_shelf_cocktails
查看您可以用当前食材制作的所有鸡尾酒。
参数:
bar_id(可选):要查询的栏IDpage(可选):分页页码
add_ingredients_to_shelf
按ID将配料添加到货架上。
参数:
ingredient_ids(必填):成分ID数组bar_id(可选):要更新的栏ID
remove_ingredients_from_shelf
从架子上取下配料。
参数:
ingredient_ids(必填):成分ID数组bar_id(可选):要更新的栏ID
search_ingredients
按名称搜索成分以查找其ID。
参数:
name(必填):要搜索的成分名称bar_id(可选):栏ID上下文
create_ingredient
在酒吧数据库中创建新的配料。当一种成分不存在,需要在添加到鸡尾酒中之前创建时,请使用此功能。
参数:
name(必填):成分名称strength(可选):酒精浓度/百分比(例如,40%ABV为40)description(可选):成分说明origin(可选):成分的原产地/国家color(可选):十六进制颜色代码(例如“#ffffff”)parent_ingredient_id(可选):用于分类的父成分IDunits(可选):此成分的默认单位(例如,“ml”、“oz”、“dash”)bar_id(可选):栏ID上下文
create_cocktail
创建一个新的鸡尾酒配方。先用 search_ingredients 要查找成分ID,请使用 create_ingredient 对于任何缺失的成分。
参数:
name(必填):鸡尾酒名称instructions(必填):制作鸡尾酒的分步说明ingredients(必填):包含以下成分的数组:
- ingredient_id (必填):成分ID - amount (必填):配料量 - units (可选):数量单位(例如,“ml”、“oz”、“dash”) - optional (可选):此成分是否可选 - note (可选):此成分的附加说明 - sort (可选):成分的排序顺序
description(可选):鸡尾酒描述garnish(可选):装饰鸡尾酒source(可选):食谱的来源/产地glass_id(可选):要使用的玻璃类型的IDmethod_id(可选):混合方法的ID(摇动、搅拌等)tags(可选):鸡尾酒标签数组bar_id(可选):栏ID上下文
示例-制作玛格丽塔酒:
1. search_ingredients(name="tequila") → ID: 45
2. search_ingredients(name="lime juice") → ID: 89
3. search_ingredients(name="triple sec") → ID: 23
4. create_cocktail(
name="Margarita",
instructions="1. Add all ingredients to shaker with ice\n2. Shake well\n3. Strain into salt-rimmed glass",
ingredients=[
{"ingredient_id": 45, "amount": 60, "units": "ml"},
{"ingredient_id": 89, "amount": 30, "units": "ml"},
{"ingredient_id": 23, "amount": 30, "units": "ml"}
],
garnish="Lime wheel, salt rim"
)update_cocktail
更新现有的鸡尾酒配方。使用此选项可以修改鸡尾酒的名称、说明、成分或其他细节。
参数:
id(必填):要更新的鸡尾酒IDname(必填):鸡尾酒名称instructions(必填):制作鸡尾酒的分步说明ingredients(必填):包含以下成分的数组:
- ingredient_id (必填):成分ID - amount (必填):配料量 - units (可选):数量单位(例如,“ml”、“oz”、“dash”) - optional (可选):此成分是否可选 - note (可选):此成分的附加说明 - sort (可选):成分的排序顺序
description(可选):鸡尾酒描述garnish(可选):装饰鸡尾酒source(可选):食谱的来源/产地glass_id(可选):要使用的玻璃类型的IDmethod_id(可选):混合方法的ID(摇动、搅拌等)tags(可选):鸡尾酒标签数组bar_id(可选):栏ID上下文
资源
bar://shelf/ingredients-您的酒吧货架配料bar://shelf/cocktails-你可以做的鸡尾酒
发展
在开发模式下克隆和安装:
git clone https://github.com/the-real-py/bar-assistant-mcp
cd bar-assistant-mcp
pip install -e .故障排除
查找您的API URL
Bar Assistant API URL取决于您的设置:
- 标准Docker设置:
http://localhost:8000/api - 自定义反向代理:检查API路由的nginx/Traefik配置
- 云托管:通常由您的托管服务提供
若要验证API URL是否正确,请运行:
curl -H "Accept: application/json" YOUR_API_URL/server/version您应该得到一个包含版本信息的JSON响应。
许可证
麻省理工学院
