@libations.menu/mcp
v0.2.0
Published
MCP server for Libations — let an AI assistant create and manage drinks, menus, and recipes via your Libations API key.
Downloads
207
Maintainers
Readme
@libations.menu/mcp
An MCP server that lets an AI assistant create drinks and menus in your Libations account, backed by the hosted tRPC API and authenticated with a personal API key.
Setup
- In the web app, go to Settings → AI access and create an API key. Copy it (it's shown only once).
- Build the server:
pnpm --filter @libations.menu/mcp build. - Register it in your MCP client (e.g. Claude desktop) with two env vars:
{
"mcpServers": {
"libations": {
"command": "node",
"args": ["/absolute/path/to/apps/mcp/dist/index.js"],
"env": {
"LIBATIONS_API_KEY": "lib_sk_...",
"LIBATIONS_BASE_URL": "https://libations.menu"
}
}
}
}For local development you can use tsx instead of building:
"command": "pnpm", "args": ["--filter", "@libations.menu/mcp", "dev"].
Tools
Comprehensive read + create/update/delete coverage:
- Read:
list_bars,list_drinks,get_drink,list_menus,list_categories,list_ingredients,list_component_types,list_component_options,list_units. - Drinks:
create_drink,update_drink,delete_drink. A drink's full recipe (ingredients, build steps, glassware, ice, garnish, custom) is set via thecomponentsarray on create/update — usecomponentTypeIdfromlist_component_typesfor custom/glass-prep parts, or thetypeshortcut for the common ones. Set a drink image with theimageUrlfield. - Images:
upload_imagere-hosts an image on Libations' own storage and returns a hosted URL. Give it asourceUrl(we fetch and re-host it) or base64data+contentType, then pass the returned URL asimageUrloncreate_drink/update_drink. Keeps images on our infrastructure rather than hotlinking external URLs. - Menus:
create_menu,update_menu(set status to publish),delete_menu,add_drink_to_menu,remove_drink_from_menu. - Categories:
create_category,update_category,delete_category. - Ingredients:
create_ingredient,update_ingredient,delete_ingredient. - Component types:
create_component_type,update_component_type,delete_component_type. - Component options:
create_component_option,update_component_option,delete_component_option. - Units:
create_unit,update_unit,delete_unit.
Tools that change data require the target bar to have an active or trialing subscription and a role of owner/manager (the key acts as you). Resolve IDs with the read tools first.
How auth works
The server sends Authorization: Bearer <LIBATIONS_API_KEY> to
LIBATIONS_BASE_URL/api/trpc. The API hashes the key, looks it up, and runs the
request as the key's owner — all the usual role and subscription checks apply.
Revoke a key anytime from Settings → AI access.
