Announcing Dolt MCP
AI agents need branches and Dolt is the only SQL database with branches. This means that agents also need Dolt.
Today, we're excited to announce Dolt MCP, the open-source Model Context Protocol (MCP) server for Dolt databases.
If you're unfamiliar with MCP, it's a protocol that allows AI models and agents to interact with underlying resources through a standardized, REST-like API. Using MCP, AI agents can call tools, invoke functions, and consume information in a consistent, interoperable way.
You can think of MCP as the USB port that allows an agent to access some resource, like a database. You simply plug the agent in, and play!
Major database vendors also have MCP servers available for their technologies. For example, there are MCP servers for PostgreSQL and MySQL.
This PostgresSQL MCP server is read-only, which ensures that an AI agent can't corrupt the underlying data with unauthorized writes. On the other hand, the MySQL MCP server does allow writes, but risks data corruption by doing so. For legacy SQL databases, these will always be the trade-offs you need to consider before giving an AI agent access.
What's interesting to note, though, is that both MCP server implementations highlight the general direction AI and database technology is headed. As the MySQL MCP server implementation demonstrates, in order to get any meaningful production from AI, we have to allow it to make writes. And, as demonstrated by the PostgreSQL MCP Server implementation, we also need to be able to guarantee that AI won't corrupt data and will only make authorized writes.
This is why AI agents need branches. This is why AI agents need Dolt.
Dolt is built for agentic workflows and Dolt's MCP server allows agents to write to the Dolt database directly, without any concern for data corruption, mistakes, or hallucinations, since agents can perform all their writes on their own database branch. If an agent's branch ends up being unusable, it's thrown away. This is akin to an engineer writing source code on a branch. AI agents can now do the same with Dolt and Dolt MCP. Once an agent's branch is approved, the changes can be merged into the main branch. This is the power of Dolt.
With that said, let's jump in to how you can get started using Dolt MCP today! We'll briefly cover the basic usage, then walk through and example where we allow an agent to make some fun writes to a Dolt database.
Getting Started
As I mentioned above, AI agents already know how to use MCP servers, so to get started with Dolt MCP, you just need a running Dolt server, a running Dolt MCP server, and the AI agent(s) of your choice configured to use it.
Let's start with by running a local Dolt server that we want our agent to access.
➜ dbs git:(main) mkdir mcp_example
➜ dbs git:(main) cd mcp_example
➜ mcp_example git:(main) dolt init
Successfully initialized dolt data repository.
➜ mcp_example git:(main) dolt sql -q "create table t1 (pk int primary key);"
➜ mcp_example git:(main) dolt sql -q "insert into t1 values (1), (2), (3);"
➜ mcp_example git:(main) dolt add .
➜ mcp_example git:(main) dolt commit -m 'add t1 and some values'
commit ch830cme0c7ltohtvmcmffp7c1tsgfvc (HEAD -> main)
Author: coffeegoddd☕✨ <dustin@dolthub.com>
Date: Wed Aug 13 11:38:17 -0700 2025
add t1 and some values
➜ mcp_example git:(main)
In the snippet above, we've created a new Dolt database called mcp_example
and added a table, t1
with some data.
Now, let's start the Dolt server for this database on port 3306
.
➜ mcp_example git:(main) dolt sql-server --host 0.0.0.0 --port 3306 -l debug
Starting server with Config HP="0.0.0.0:3306"|T="28800000"|R="false"|L="debug"
DEBU[0000] Loading events
INFO[0000] Creating root@localhost superuser
INFO[0000] Server ready. Accepting connections.
WARN[0000] secure_file_priv is set to "", which is insecure.
WARN[0000] Any user with GRANT FILE privileges will be able to read any file which the sql-server process can read.
WARN[0000] Please consider restarting the server with secure_file_priv set to a safe (or non-existent) directory.
Great! In another shell, let's start up Dolt's MCP server connected to our Dolt server. To do this, we'll use the official dolthub/dolt-mcp Docker image.
➜ ~ git:(main) docker run --rm \
--network host \
-e MCP_MODE=http \
-e DOLT_HOST=127.0.0.1 \
-e DOLT_DATABASE=mcp_example \
dolthub/dolt-mcp:latest
Starting Dolt MCP Server in HTTP mode on port 8080
Connecting to Dolt server at 127.0.0.1:3306
Database: mcp_example, User: root
Serving Dolt MCP on :8080
In the above snippet we run Dolt's MCP server on the host
network so it can resolve 127.0.0.1
to our host machine, and we supply the required environment variables
the server needs to establish a connection with our Dolt server.
Lastly, we can register the Dolt MCP server with an AI agent, and start using it. In this example let's register the server with Claude Code.
➜ ~ git:(main) claude mcp add -t http dolt-mcp http://localhost:8080/mcp
Added HTTP MCP server dolt-mcp with URL: http://localhost:8080/mcp to local config
File modified: /home/dustin/.claude.json [project: /home/dustin]
Now if we start Claude up, it will have access to our Dolt database!
➜ claude_src git:(main) claude
╭───────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code! │
│ │
│ /help for help, /status for your current setup │
│ │
│ cwd: /home/dustin/claude_src │
╰───────────────────────────────────────────────────╯
※ Tip: Use /permissions to pre-approve and pre-deny bash, edit,
and MCP tools
> Can you use the dolt-mcp mcp server to tell me what
tables it has?
● I'll use the dolt-mcp server to check what tables are
available. First, let me see what databases exist and
then look at the tables.
⎿ Database
---
information_schema
… +2 lines (ctrl+r to expand)
● Now let me check the tables in the mcp_example database:
● dolt-mcp - show_tables (MCP)(working_database:
"mcp_example",
working_branch: "main")
⎿ Tables_in_mcp_example
---
t1
● The dolt-mcp server has:
- 3 databases: information_schema, mcp_example, and mysql
- The mcp_example database contains 1 table: t1
It's as simple as that!
Agents need branches
Now let's have a bit more fun by doing something you can only do with Dolt MCP. Recently, Brian wrote about his experience using Claude Code to retrieve cocktail recipes for his robot bartender.
Unfortunately Brian didn't have Dolt MCP to integrate with Claude at the time of his writing, but we have it now, so let's see if it improves the experience. Our aim will be for Claude to add some new, unique recipes to Brian's Dolt database.
First, let's clone Brian's database and start up the server.
➜ claude_src git:(main) cd dbs
➜ dbs git:(main) dolt clone openbar/cocktails
cloning https://doltremoteapi.dolthub.com/openbar/cocktails
1,429 of 1,429 chunks complete.
➜ dbs git:(main) cd cocktails
➜ cocktails git:(main) dolt sql-server --host 0.0.0.0 --port 3306 -l debug
Starting server with Config HP="0.0.0.0:3306"|T="28800000"|R="false"|L="debug"
DEBU[0000] Loading events
INFO[0000] Creating root@localhost superuser
INFO[0000] Server ready. Accepting connections.
WARN[0000] secure_file_priv is set to "", which is insecure.
WARN[0000] Any user with GRANT FILE privileges will be able to read any file which the sql-server process can read.
WARN[0000] Please consider restarting the server with secure_file_priv set to a safe (or non-existent) directory.
Turns out the main branch doesn't have any cocktails in it quite yet, but it does have tables. This is perfect for Claude to work on.
Next, let's register Dolt MCP with Claude Code, only this time, we'll have Claude use Dolt MCP over stdio instead of HTTP. To do this, We just need to provide Claude with the arguments it needs to run Dolt MCP in stdio mode.
➜ claude_src git:(main) claude mcp add dolt-mcp -- docker run --rm -i --network host -e DOLT_HOST=127.0.0.1 -e DOLT_DATABASE=cocktails dolthub/dolt-mcp:latest
Added stdio MCP server dolt-mcp with command: docker run --rm -i --network host -e DOLT_HOST=127.0.0.1 -e DOLT_DATABASE=cocktails dolthub/dolt-mcp:latest to local config
File modified: /home/dustin/.claude.json [project: /home/dustin/claude_src]
The configuration above provides the command that Claude will use to run the Dolt MCP server via Docker, over stdio, which is the default transport method.
Now, let's start Claude up and give it a prompt.
➜ claude_src git:(main) claude
╭───────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code! │
│ │
│ /help for help, /status for your current setup │
│ │
│ cwd: /home/dustin/claude_src │
╰───────────────────────────────────────────────────╯
※ Tip: Press Esc twice to edit your previous messages
╭──────────────────────────────────────────────────────────────╮
│ > Hey Claude, I'd like to add some new recipes to a │
│ cocktails Dolt database. You have access to this database │
│ via dolt-mcp. Currently, the main branch of the database │
│ does not have any recipes. I'd like for you to make a │
│ new branch where you add at least 10 new cocktail recipes │
│ to the database. These cocktail recipes should all be │
│ vegan, and I want you to fetch 10 different recipes from │
│ the internet to get them. Be sure to site your source for │
│ where the recipe came from, and include all ingredients │
│ in the proper database table(s). Additionally, if the │
│ database schema does not have a way to track the dietary │
│ restrictions of a particular cocktail, before you begin │
│ finding and inserting cocktail recipes, I want you to │
│ update the database schema so that we can know which │
│ cocktails are vegan, as your first Dolt commit. Is this │
│ clear? Do you have any clarifying questions for me? │
╰──────────────────────────────────────────────────────────────╯
I've hidden the bulk of Claude's reasoning to accomplish this since in the section below, since its quite a lot of text.
Click to see full Claude transcript
╭───────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code! │
│ │
│ /help for help, /status for your current setup │
│ │
│ cwd: /home/dustin/claude_src │
╰───────────────────────────────────────────────────╯
※ Tip: Press Esc twice to edit your previous messages
Hey Claude, I'd like to add some new recipes to a
cocktails Dolt database. You have access to this database
via dolt-mcp. Currently, the main branch of the database
does not have any recipes. I'd like for you to make a
new branch where you add at least 10 new cocktail recipes
to the database. These cocktail recipes should all be
vegan, and I want you to fetch 10 different recipes from
the internet to get them. Be sure to site your source for
where the recipe came from, and include all ingredients
in the proper database table(s). Additionally, if the
database schema does not have a way to track the dietary
restrictions of a particular cocktail, before you begin
finding and inserting cocktail recipes, I want you to
update the database schema so that we can know which
cocktails are vegan, as your first Dolt commit. Is this
clear? Do you have any clarifying questions for me?
● Yes, this is clear! I'll help you add vegan cocktail
recipes to the Dolt database. Let me break down what I
understand:
- Create a new branch in the cocktails database
- First commit: Update the database schema to track
dietary restrictions (specifically vegan)
3. Second commit: Add 10 vegan cocktail recipes sourced
from the internet with proper citations
4. Ensure all ingredients are properly stored in the
database tables
Let me start by creating a todo list and then exploring
the current database structure.
● Update Todos
⎿ ☐ Explore current database structure and schema
☐ Create new branch for vegan cocktail recipes
☐ Update database schema to track dietary restrictions
☐ Commit schema changes
☐ Research and find 10 vegan cocktail recipes online
☐ Insert the 10 vegan cocktail recipes into database
☐ Commit the recipe additions
● Now let me start by exploring the current database
structure:
⎿ Database
---
cocktails
… +2 lines (ctrl+r to expand)
● dolt-mcp - show_tables (MCP)(working_database:
"cocktails", working_branch:
"main")
⎿ Tables_in_cocktails
---
cocktails
… +4 lines (ctrl+r to expand)
● Let me examine the current schema of these tables:
● dolt-mcp - describe_table (MCP)(working_database:
"cocktails",
working_branch: "main",
table: "cocktails")
⎿ Field | Type | Null | Key | Default | Extra
--- | --- | --- | --- | --- | ---
id | varchar(36) | NO | PRI | |
… +3 lines (ctrl+r to expand)
● dolt-mcp - describe_table (MCP)(working_database:
"cocktails",
working_branch: "main",
table: "recipes")
⎿ Field | Type | Null | Key | Default | Extra
--- | --- | --- | --- | --- | ---
id | varchar(36) | NO | PRI | |
… +5 lines (ctrl+r to expand)
● dolt-mcp - describe_table (MCP)(working_database:
"cocktails",
working_branch: "main",
table: "ingredients")
⎿ Field | Type | Null | Key | Default | Extra
--- | --- | --- | --- | --- | ---
id | varchar(36) | NO | PRI | |
… +3 lines (ctrl+r to expand)
● dolt-mcp - describe_table (MCP)(working_database:
"cocktails",
working_branch: "main",
table:
"recipe_ingredients")
⎿ Field | Type | Null | Key | Default | Extra
--- | --- | --- | --- | --- | ---
recipe_id_fk | varchar(36) | NO | PRI | |
… +2 lines (ctrl+r to expand)
● dolt-mcp - describe_table (MCP)(working_database:
"cocktails",
working_branch: "main",
table: "garnishes")
⎿ Field | Type | Null | Key | Default | Extra
--- | --- | --- | --- | --- | ---
id | varchar(36) | NO | PRI | |
… +3 lines (ctrl+r to expand)
● Perfect! I can see the database structure. Now let me
update my todo list and create a new branch:
● Update Todos
⎿ ☒ Explore current database structure and schema
☐ Create new branch for vegan cocktail recipes
☐ Update database schema to track dietary restrictions
☐ Commit schema changes
☐ Research and find 10 vegan cocktail recipes online
☐ Insert the 10 vegan cocktail recipes into database
☐ Commit the recipe additions
● dolt-mcp - create_dolt_branch_from_head (MCP)(working_bra
nch: "main",
new_branch:
"vegan-cock
tails")
⎿ successfully created branch: vegan-cocktails
● Great! Now let me update the schema to add dietary
restriction tracking. I'll add a column to the cocktails
table to track dietary restrictions:
● Update Todos
⎿ ☒ Explore current database structure and schema
☒ Create new branch for vegan cocktail recipes
☐ Update database schema to track dietary restrictions
☐ Commit schema changes
☐ Research and find 10 vegan cocktail recipes online
☐ Insert the 10 vegan cocktail recipes into database
☐ Commit the recipe additions
● dolt-mcp - alter_table (MCP)(working_database:
"cocktails", working_branch:
"vegan-cocktails", query:
"ALTER TABLE cocktails ADD
COLUMN dietary_restrictions
JSON")
⎿ successfully altered table
● Now let me stage this change and commit it:
● dolt-mcp - stage_table_for_dolt_commit (MCP)(working_data
base:
"cocktails",
working_branc
h: "vegan-coc
ktails",
table:
"cocktails")
⎿ successfully staged table: cocktails
● dolt-mcp - create_dolt_commit (MCP)(working_database:
"cocktails",
working_branch:
"vegan-cocktails",
message: "Add
dietary_restrictions
column to cocktails
table to track vegan
and other dietary
information")
⎿ successfully committed changes
● Perfect! Now let me research 10 vegan cocktail recipes
online:
● Update Todos
⎿ ☒ Explore current database structure and schema
☒ Create new branch for vegan cocktail recipes
☒ Update database schema to track dietary restrictions
☒ Commit schema changes
☐ Research and find 10 vegan cocktail recipes online
☐ Insert the 10 vegan cocktail recipes into database
☐ Commit the recipe additions
● Web Search("vegan cocktail recipes list 2025")
⎿ Did 1 search in 22s
● Let me get more specific recipe details from The Vegan
Society's list:
● Fetch(https://www.vegansociety.com/news/blog/top-ten-vega
n-wonder-cocktails)
⎿ Received 140.9KB (200 OK)
● Let me get more details from The Mixer's comprehensive
list:
● Fetch(https://www.themixer.com/en-us/learn/vegan-cocktail
s/)
⎿ Received 549.6KB (200 OK)
● Let me try the European Bartender School source:
● Fetch(https://www.barschool.net/blog/10-vegan-cocktails-y
ou-need-try)
⎿ Received 798.5KB (200 OK)
● Let me try a more specific search for vegan cocktail
recipes with ingredients:
● Web Search("vegan mojito recipe ingredients measurements
instructions")
⎿ Did 1 search in 24s
● Web Search("vegan piña colada recipe coconut cream rum
measurements")
⎿ Did 1 search in 21s
● Web Search("vegan margarita recipe agave tequila lime
measurements")
⎿ Did 1 search in 21s
● Now let me search for a few more specific vegan cocktail
recipes to get a complete list of 10:
● Web Search(""vegan old fashioned" recipe whiskey maple
syrup measurements")
⎿ Did 1 search in 21s
● Web Search(""vegan cosmopolitan" recipe cranberry juice
vodka lime")
⎿ Did 1 search in 18s
● Web Search(""vegan moscow mule" ginger beer vodka lime
juice recipe")
⎿ Did 1 search in 16s
● Let me search for a few more cocktail recipes to complete
my list of 10:
● Web Search(""vegan whiskey sour" aquafaba egg white
substitute recipe")
⎿ Did 1 search in 24s
● Web Search(""vegan gimlet" gin lime simple syrup recipe
measurements")
⎿ Did 1 search in 17s
● Web Search(""vegan dark and stormy" rum ginger beer lime
recipe")
⎿ Did 1 search in 21s
● Perfect! Now I have enough information to create 10 vegan
cocktail recipes. Let me start inserting them into the
database:
● Update Todos
⎿ ☒ Explore current database structure and schema
☒ Create new branch for vegan cocktail recipes
☒ Update database schema to track dietary restrictions
☒ Commit schema changes
☒ Research and find 10 vegan cocktail recipes online
☐ Insert the 10 vegan cocktail recipes into database
☐ Commit the recipe additions
● Now I'll start inserting the cocktails and their recipes.
First, let me generate UUIDs for the records and insert
them systematically. I'll start with the cocktails:
● Bash(uuidgen)
⎿ No (tell Claude what to do differently)
● Bash(uuidgen)
⎿ Interrupted by user
● Bash(uuidgen)
⎿ Interrupted by user
● Bash(uuidgen)
⎿ Interrupted by user
● Bash(uuidgen)
⎿ Interrupted by user
you can call the UUID() method in SQL in your insert
statement to have the uuid value generated for you.
● Perfect! Thank you for the clarification. I'll use the
UUID() function directly in my SQL INSERT statements. Let
me start inserting the vegan cocktails:
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO cocktails (id,
name, display_name, description,
dietary_restrictions) VALUES
\n(UUID(), 'vegan_mojito', 'Vegan
Mojito', 'A refreshing Cuban
cocktail with white rum, fresh mint,
lime juice, simple syrup, and soda
water. Naturally vegan and perfect
for summer.', JSON_OBJECT('vegan',
true, 'gluten_free', true,
'dairy_free', true))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO cocktails (id,
name, display_name, description,
dietary_restrictions) VALUES
\n(UUID(), 'vegan_pina_colada',
'Vegan Piña Colada', 'A tropical
cocktail made with rum, coconut
cream, pineapple juice, and fresh
pineapple. Uses coconut cream
instead of dairy for a vegan
twist.', JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(), 'vegan_margarita',
'Vegan Margarita', 'A classic
Mexican cocktail with tequila, fresh
lime juice, and agave nectar.
Naturally vegan when made with agave
instead of honey.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(),
'vegan_old_fashioned', 'Vegan Maple
Old Fashioned', 'A classic whiskey
cocktail sweetened with maple syrup
instead of sugar. Features bourbon
or rye whiskey, maple syrup, and
aromatic bitters.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(),
'vegan_cosmopolitan', 'Vegan
Cosmopolitan', 'A glamorous cocktail
with vodka, cranberry juice, orange
liqueur, and fresh lime juice.
Naturally vegan with no animal
products.', JSON_OBJECT('vegan',
true, 'gluten_free', true,
'dairy_free', true))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO cocktails (id,
name, display_name, description,
dietary_restrictions) VALUES
\n(UUID(), 'vegan_moscow_mule',
'Vegan Moscow Mule', 'A refreshing
cocktail with vodka, ginger beer,
and fresh lime juice. Served
traditionally in a copper mug and
naturally vegan.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(),
'vegan_whiskey_sour', 'Vegan Whiskey
Sour with Aquafaba', 'A classic
sour cocktail made vegan using
aquafaba instead of egg whites.
Features whiskey, lemon juice,
simple syrup, and aquafaba foam.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(), 'vegan_gimlet',
'Vegan Gimlet', 'A simple and
elegant gin cocktail with fresh lime
juice and simple syrup. Clean,
crisp, and naturally vegan.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(),
'vegan_dark_stormy', 'Vegan Dark and
Stormy', 'A Bermudian cocktail with
dark rum, ginger beer, and fresh
lime juice. Simple, spicy, and
naturally vegan.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true)),\n(UUID(), 'vegan_daiquiri',
'Vegan Daiquiri', 'A classic Cuban
cocktail with white rum, fresh lime
juice, and simple syrup. Clean,
balanced, and naturally vegan.',
JSON_OBJECT('vegan', true,
'gluten_free', true, 'dairy_free',
true))")
⎿ successfully executed write
● Now let me get the cocktail IDs so I can create recipes
and ingredients for each:
● dolt-mcp - query (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "SELECT id, name,
display_name FROM cocktails ORDER
BY display_name")
⎿ id | name | display_name
--- | --- | ---
8bad484c-0cda-40cc-85f8-2ba0623a8988 | vegan_cosmopolit
… +19 lines (ctrl+r to expand)
● Perfect! Now let me insert common ingredients first:
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO ingredients (id,
name, display_name, description)
VALUES \n(UUID(), 'white_rum',
'White Rum', 'Light rum, perfect for
mojitos and daiquiris'),\n(UUID(),
'dark_rum', 'Dark Rum', 'Rich, aged
rum with complex
flavors'),\n(UUID(),
'tequila_blanco', 'Blanco Tequila',
'100% agave tequila, unaged and
crystal clear'),\n(UUID(), 'vodka',
'Vodka', 'Neutral grain spirit,
perfect for cocktails'),\n(UUID(),
'gin', 'Gin', 'Juniper-flavored
spirit with botanical
complexity'),\n(UUID(),
'bourbon_whiskey', 'Bourbon
Whiskey', 'American whiskey with
corn-forward mash bill'),\n(UUID(),
'rye_whiskey', 'Rye Whiskey', 'Spicy
whiskey with rye grain
prominence')")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO ingredients (id,
name, display_name, description)
VALUES \n(UUID(),
'fresh_lime_juice', 'Fresh Lime
Juice', 'Freshly squeezed lime
juice'),\n(UUID(),
'fresh_lemon_juice', 'Fresh Lemon
Juice', 'Freshly squeezed lemon
juice'),\n(UUID(), 'simple_syrup',
'Simple Syrup', 'Equal parts sugar
and water syrup'),\n(UUID(),
'agave_nectar', 'Agave Nectar',
'Natural sweetener from agave
plants'),\n(UUID(), 'maple_syrup',
'Maple Syrup', 'Pure maple syrup
from maple trees'),\n(UUID(),
'coconut_cream', 'Coconut Cream',
'Rich cream made from coconut
meat'),\n(UUID(), 'pineapple_juice',
'Pineapple Juice', 'Fresh or canned
pineapple juice')")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO ingredients (id,
name, display_name, description)
VALUES \n(UUID(), 'fresh_mint',
'Fresh Mint', 'Fresh mint leaves for
muddling and garnish'),\n(UUID(),
'soda_water', 'Soda Water',
'Carbonated water'),\n(UUID(),
'ginger_beer', 'Ginger Beer', 'Spicy
ginger-flavored carbonated
beverage'),\n(UUID(),
'cranberry_juice', 'Cranberry
Juice', 'Tart cranberry juice
cocktail'),\n(UUID(),
'orange_liqueur', 'Orange Liqueur',
'Cointreau or Triple
Sec'),\n(UUID(),
'angostura_bitters', 'Angostura
Bitters', 'Classic aromatic
bitters'),\n(UUID(), 'aquafaba',
'Aquafaba', 'Chickpea brine used as
vegan egg white substitute')")
⎿ successfully executed write
● Now let me get the ingredient IDs and start creating
recipes:
● dolt-mcp - query (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "SELECT id, name,
display_name FROM ingredients ORDER
BY display_name")
⎿ id | name | display_name
--- | --- | ---
7638ef09-ad20-4a3a-8b37-ea70004a3ee5 | agave_nectar | A
… +39 lines (ctrl+r to expand)
● Now let me create the recipes with detailed instructions
and source citations:
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO recipes (id,
display_name, cocktail_id_fk,
description, directions, source)
VALUES \n(UUID(), 'Classic Vegan
Mojito', '24950791-323f-4ef4-8693-36
4f8aa11c02', 'A refreshing Cuban
cocktail that is naturally vegan',
\n'1. Place 5 fresh mint leaves in
the bottom of a highball glass and
muddle gently to release oils. 2.
Add 0.75 oz fresh lime juice and 0.5
oz simple syrup. 3. Add 1.5 oz
white rum and stir. 4. Fill glass
with ice and top with soda water. 5.
Garnish with mint sprig and lime
wheel.',\nJSON_OBJECT('url',
'https://www.loveandlemons.com/mojit
o-recipe/', 'title', 'Mojito Recipe
- Love and Lemons', 'accessed_date',
'2025-08-13'))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO recipes (id,
display_name, cocktail_id_fk,
description, directions, source)
VALUES \n(UUID(), 'Vegan Piña
Colada', '86847142-83a3-49d5-b7bf-4e
91c122e3fc', 'A tropical cocktail
made with coconut cream instead of
dairy', \n'1. Add 2 oz white rum, 3
oz coconut cream, 3 oz pineapple
juice, and 1 cup ice to blender. 2.
Blend on high until smooth and
creamy for 30 seconds to 1 minute.
3. Pour into a hurricane glass. 4.
Garnish with pineapple wedge and
maraschino
cherry.',\nJSON_OBJECT('url',
'https://nyssaskitchen.com/easy-pina
-colada-recipe-vegan-naturally-sweet
ened/', 'title', 'Easy Piña Colada
Recipe - Made with Coconut Milk',
'accessed_date', '2025-08-13'))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO recipes (id,
display_name, cocktail_id_fk,
description, directions, source)
VALUES \n(UUID(), 'Vegan Agave
Margarita', 'cd1b7b97-9262-467a-91d8
-64a33dfcfd7c', 'A classic margarita
sweetened with agave nectar', \n'1.
Add salt to rim of glass if
desired. 2. In cocktail shaker with
ice, combine 2 oz blanco tequila,
1.5 oz fresh lime juice, and 0.5 oz
agave nectar. 3. Shake vigorously
for 15 seconds. 4. Strain into rocks
glass over ice. 5. Garnish with
lime wheel.',\nJSON_OBJECT('url',
'https://www.thesurferskitchen.com/h
ealthy-margarita-agave-lime-margarit
a/', 'title', 'A Healthy Margarita:
Agave Lime Margarita | The
Surfer\'s Kitchen',
'accessed_date',
'2025-08-13')),\n(UUID(), 'Vegan
Maple Old Fashioned', 'e0db2cc7-9eb9
-4c75-9c54-cd8d99175f7b', 'Classic
old fashioned sweetened with maple
syrup', \n'1. In rocks glass,
combine 1 tbsp maple syrup, 2 dashes
Angostura bitters, and splash of
water. 2. Stir until syrup
dissolves. 3. Add 2 oz bourbon
whiskey and stir. 4. Add one large
ice cube. 5. Garnish with orange
peel and cinnamon
stick.',\nJSON_OBJECT('url',
'https://thenutfreevegan.net/maple-o
ld-fashioned/', 'title', 'Maple
Old-Fashioned - The Nut-Free Vegan',
'accessed_date', '2025-08-13'))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO recipes (id,
display_name, cocktail_id_fk,
description, directions, source)
VALUES \n(UUID(), 'Vegan
Cosmopolitan', '8bad484c-0cda-40cc-8
5f8-2ba0623a8988', 'A glamorous
cocktail that is naturally vegan',
\n'1. Add ice to cocktail shaker. 2.
Pour in 1.5 oz vodka, 0.5 oz orange
liqueur, 1.5 oz cranberry juice,
and 0.5 oz fresh lime juice. 3.
Shake until well chilled for 30
seconds. 4. Strain into chilled
martini glass. 5. Garnish with lime
twist.',\nJSON_OBJECT('url',
'https://www.oceanspray.com/Recipes/
By-Course/Drinks-and-Cocktails/Cosmo
politan', 'title', 'Cosmopolitan |
Ocean Spray®', 'accessed_date',
'2025-08-13')),\n(UUID(), 'Vegan
Moscow Mule', '1d2c8d30-26ed-47e7-89
de-2193a6960263', 'A refreshing
cocktail served in copper mug',
\n'1. Fill copper mug or highball
glass with ice. 2. Pour in 2 oz
vodka and 0.5 oz fresh lime juice.
3. Top with 4 oz ginger beer and
gently stir once. 4. Garnish with
lime wedge.',\nJSON_OBJECT('url',
'https://domesticdreamboat.com/class
ic-moscow-mule/', 'title', 'Classic
Moscow Mule (Vegan, Gluten Free) -
Domestic Dreamboat',
'accessed_date', '2025-08-13'))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO recipes (id,
display_name, cocktail_id_fk,
description, directions, source)
VALUES \n(UUID(), 'Vegan Whiskey
Sour with Aquafaba', '05a130d7-d63b-
410b-b41e-24c856095265', 'Classic
whiskey sour made vegan with
aquafaba foam', \n'1. Add 1.5 tbsp
aquafaba to cocktail shaker and
shake for 30 seconds until frothy.
2. Add 2 oz bourbon whiskey, 0.75 oz
fresh lemon juice, 0.5 oz simple
syrup, and ice. 3. Shake vigorously
for 10-12 seconds. 4. Strain into
rocks glass over ice. 5. Garnish
with cherry and orange
slice.',\nJSON_OBJECT('url',
'https://seitanbeatsyourmeat.com/aqu
afaba-whiskey-sour-recipe/',
'title', 'Whiskey Sour recipe made
with aquafaba (egg free)',
'accessed_date',
'2025-08-13')),\n(UUID(), 'Vegan
Gimlet', 'c8ff8bf5-1bc5-4d8b-b161-cb
3574950714', 'A simple and elegant
gin cocktail', \n'1. Add 2 oz gin,
0.75 oz fresh lime juice, and 0.5 oz
simple syrup to cocktail shaker
with ice. 2. Shake until well
chilled. 3. Strain into chilled
coupe glass. 4. Garnish with lime
wheel.',\nJSON_OBJECT('url', 'https:
//www.loveandlemons.com/gimlet/',
'title', 'Gimlet Cocktail Recipe -
Love and Lemons', 'accessed_date',
'2025-08-13'))")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO recipes (id,
display_name, cocktail_id_fk,
description, directions, source)
VALUES \n(UUID(), 'Vegan Dark and
Stormy', '9bb69fc3-607a-432e-8849-b4
8d1b91c723', 'A Bermudian cocktail
with spicy ginger beer', \n'1. Fill
highball glass with ice. 2. Pour in
4 oz ginger beer and 0.25 oz fresh
lime juice. 3. Slowly pour 1.5 oz
dark rum over the back of a spoon to
create layers. 4. Garnish with lime
wheel.',\nJSON_OBJECT('url',
'https://www.veganosity.com/dark-and
-stormy-cocktail/', 'title', 'Dark
and Stormy Cocktail - Veganosity',
'accessed_date',
'2025-08-13')),\n(UUID(), 'Vegan
Daiquiri', '325ec710-ba57-4dd7-9d0f-
feefd01fbe58', 'A classic Cuban
cocktail that is naturally vegan',
\n'1. Add 2 oz white rum, 1 oz fresh
lime juice, and 0.5 oz simple syrup
to cocktail shaker with ice. 2.
Shake vigorously for 15 seconds. 3.
Strain into chilled coupe glass. 4.
Garnish with lime
wheel.',\nJSON_OBJECT('url',
'https://www.loveandlemons.com/daiqu
iri-recipe/', 'title', 'Classic
Daiquiri Recipe - Love and Lemons',
'accessed_date', '2025-08-13'))")
⎿ successfully executed write
● Now let me get the recipe IDs and create the
recipe_ingredients relationships:
● dolt-mcp - query (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "SELECT r.id,
r.display_name, c.name as
cocktail_name FROM recipes r JOIN
cocktails c ON r.cocktail_id_fk =
c.id ORDER BY r.display_name")
⎿ id | display_name | cocktail_name
--- | --- | ---
7ed5373a-5e37-4755-8d5f-3ae616a415d5 | Classic Vegan Mo
… +19 lines (ctrl+r to expand)
● Now I'll create the recipe_ingredients entries for each
cocktail:
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO
recipe_ingredients (recipe_id_fk,
ingredient_id_fk, amount) VALUES
\n-- Classic Vegan Mojito
ingredients\n('7ed5373a-5e37-4755-8d
5f-3ae616a415d5', '76ad3bce-1b3a-41b
d-9f4c-96ae6b23f73f', 1.5), -- white
rum 1.5 oz\n('7ed5373a-5e37-4755-8d
5f-3ae616a415d5', 'dafcb658-8de9-440
2-852a-f07851d348dd', 0.75), -- lime
juice 0.75 oz\n('7ed5373a-5e37-4755
-8d5f-3ae616a415d5', '695bbd43-dea1-
4861-8f18-824e0ea03c0f', 0.5), --
simple syrup 0.5 oz\n('7ed5373a-5e37
-4755-8d5f-3ae616a415d5', '559e49c1-
da05-4230-ae18-79967d0e375e', 5), --
fresh mint 5 leaves\n('7ed5373a-5e3
7-4755-8d5f-3ae616a415d5', 'aafadcb0
-4db3-4967-ad86-909759c873c4', 4) --
soda water 4 oz")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO
recipe_ingredients (recipe_id_fk,
ingredient_id_fk, amount) VALUES
\n-- Vegan Piña Colada
ingredients\n('2ca8915a-9925-4ff3-94
f0-04eede0d3ca9', '76ad3bce-1b3a-41b
d-9f4c-96ae6b23f73f', 2), -- white
rum 2 oz\n('2ca8915a-9925-4ff3-94f0-
04eede0d3ca9', 'dbe3309a-6016-40e5-8
5eb-215a8745c485', 3), -- coconut
cream 3 oz\n('2ca8915a-9925-4ff3-94f
0-04eede0d3ca9', 'cccd1f87-a968-43d2
-acd3-1556eff11b92', 3), --
pineapple juice 3 oz\n-- Vegan
Margarita ingredients\n('4680ccc0-c5
be-43a6-b327-69ecd507d417', 'd97525c
f-659a-4b61-8db2-cf2d2c6e3e18', 2),
-- tequila 2 oz\n('4680ccc0-c5be-43a
6-b327-69ecd507d417', 'dafcb658-8de9
-4402-852a-f07851d348dd', 1.5), --
lime juice 1.5 oz\n('4680ccc0-c5be-4
3a6-b327-69ecd507d417', '7638ef09-ad
20-4a3a-8b37-ea70004a3ee5', 0.5) --
agave nectar 0.5 oz")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO
recipe_ingredients (recipe_id_fk,
ingredient_id_fk, amount) VALUES
\n-- Vegan Maple Old Fashioned
ingredients\n('fc943bc9-2a50-4993-9e
8a-c021aa88d742', 'b927cff7-0739-4c8
0-b13d-eb0725608048', 2), -- bourbon
2 oz\n('fc943bc9-2a50-4993-9e8a-c02
1aa88d742', 'b41cde02-7df5-4f74-af41
-81d0beb17525', 1), -- maple syrup 1
tbsp\n('fc943bc9-2a50-4993-9e8a-c02
1aa88d742', '9eb736de-2b0c-4f5b-8646
-2d272256a3fa', 2), -- angostura
bitters 2 dashes\n-- Vegan
Cosmopolitan ingredients\n('24845dc1
-3f6a-4614-8d71-0e8e98e07106', '8a3a
c29a-b791-4c8a-80d1-251583fe1b82',
1.5), -- vodka 1.5 oz\n('24845dc1-3f
6a-4614-8d71-0e8e98e07106', '07ed4f4
b-d439-4917-843b-82f6b6a70974',
0.5), -- orange liqueur 0.5 oz\n('24
845dc1-3f6a-4614-8d71-0e8e98e07106',
'595e5eb8-5e1a-49da-a6dd-5644c097dc
32', 1.5), -- cranberry juice 1.5
oz\n('24845dc1-3f6a-4614-8d71-0e8e98
e07106', 'dafcb658-8de9-4402-852a-f0
7851d348dd', 0.5) -- lime juice 0.5
oz")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO
recipe_ingredients (recipe_id_fk,
ingredient_id_fk, amount) VALUES
\n-- Vegan Moscow Mule
ingredients\n('c0f06f1f-f090-4df6-a3
e6-75d828156c8b', '8a3ac29a-b791-4c8
a-80d1-251583fe1b82', 2), -- vodka 2
oz\n('c0f06f1f-f090-4df6-a3e6-75d82
8156c8b', 'ec8f46bc-b09d-4ae8-ad9f-5
ac35f7b71eb', 4), -- ginger beer 4
oz\n('c0f06f1f-f090-4df6-a3e6-75d828
156c8b', 'dafcb658-8de9-4402-852a-f0
7851d348dd', 0.5), -- lime juice 0.5
oz\n-- Vegan Whiskey Sour
ingredients\n('eaedd9a9-e391-4763-95
37-42d521c1dd64', 'b927cff7-0739-4c8
0-b13d-eb0725608048', 2), -- bourbon
2 oz\n('eaedd9a9-e391-4763-9537-42d
521c1dd64', '29691574-2230-4820-8ed7
-a8327d9cc6ff', 0.75), -- lemon
juice 0.75 oz\n('eaedd9a9-e391-4763-
9537-42d521c1dd64', '695bbd43-dea1-4
861-8f18-824e0ea03c0f', 0.5), --
simple syrup 0.5 oz\n('eaedd9a9-e391
-4763-9537-42d521c1dd64', '91ac0889-
e7e6-4148-8e92-280fff878fff', 1.5)
-- aquafaba 1.5 tbsp")
⎿ successfully executed write
● dolt-mcp - exec (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "INSERT INTO
recipe_ingredients (recipe_id_fk,
ingredient_id_fk, amount) VALUES
\n-- Vegan Gimlet ingredients\n('825
83044-b148-4dc1-ad4a-83fb2824ad1b',
'3ab62f9b-9de5-4d71-910a-6d6b618237c
d', 2), -- gin 2 oz\n('82583044-b148
-4dc1-ad4a-83fb2824ad1b', 'dafcb658-
8de9-4402-852a-f07851d348dd', 0.75),
-- lime juice 0.75 oz\n('82583044-b
148-4dc1-ad4a-83fb2824ad1b', '695bbd
43-dea1-4861-8f18-824e0ea03c0f',
0.5), -- simple syrup 0.5 oz\n--
Vegan Dark and Stormy
ingredients\n('ca3bb1ef-c378-4162-b1
a1-daf61a84d324', 'c5ff8cf4-6040-455
0-81af-18c92ad07964', 1.5), -- dark
rum 1.5 oz\n('ca3bb1ef-c378-4162-b1a
1-daf61a84d324', 'ec8f46bc-b09d-4ae8
-ad9f-5ac35f7b71eb', 4), -- ginger
beer 4 oz\n('ca3bb1ef-c378-4162-b1a1
-daf61a84d324', 'dafcb658-8de9-4402-
852a-f07851d348dd', 0.25), -- lime
juice 0.25 oz\n-- Vegan Daiquiri
ingredients\n('5ebb48a3-ccfc-4518-96
a8-25e58b0ebb3c', '76ad3bce-1b3a-41b
d-9f4c-96ae6b23f73f', 2), -- white
rum 2 oz\n('5ebb48a3-ccfc-4518-96a8-
25e58b0ebb3c', 'dafcb658-8de9-4402-8
52a-f07851d348dd', 1), -- lime juice
1 oz\n('5ebb48a3-ccfc-4518-96a8-25e
58b0ebb3c', '695bbd43-dea1-4861-8f18
-824e0ea03c0f', 0.5) -- simple syrup
0.5 oz")
⎿ successfully executed write
● Now let me verify that all 10 cocktails have been
inserted properly:
● dolt-mcp - query (MCP)(working_database: "cocktails",
working_branch: "vegan-cocktails",
query: "SELECT c.display_name,
r.display_name as recipe_name, \nJS
ON_EXTRACT(c.dietary_restrictions,
'$.vegan') as
is_vegan,\nJSON_EXTRACT(r.source,
'$.url') as source_url\nFROM
cocktails c \nJOIN recipes r ON
c.id = r.cocktail_id_fk \nORDER BY
c.display_name")
⎿ display_name | recipe_name | is_vegan | source_url
--- | --- | --- | ---
Vegan Cosmopolitan | Vegan Cosmopolitan | true | "https
… +24 lines (ctrl+r to expand)
● Perfect! All 10 vegan cocktails are now in the database.
Let me stage all the changes and create the final commit:
● Update Todos
⎿ ☒ Explore current database structure and schema
☒ Create new branch for vegan cocktail recipes
☒ Update database schema to track dietary restrictions
☒ Commit schema changes
☒ Research and find 10 vegan cocktail recipes online
☒ Insert the 10 vegan cocktail recipes into database
☐ Commit the recipe additions
● dolt-mcp - stage_all_tables_for_dolt_commit (MCP)(working
databas
e: "cock
tails",
working
branch:
"vegan-c
ocktails
")
⎿ successfully staged tables
● dolt-mcp - create_dolt_commit (MCP)(working_database:
"cocktails",
working_branch:
"vegan-cocktails",
message: "Add 10 vegan
cocktail recipes with
ingredients and
sourced
instructions\n\nAdded
the following vegan
cocktails with
complete recipes:\n-
Classic Vegan Mojito
(Love and Lemons)\n-
Vegan Piña Colada
(Nyssa's Kitchen) \n-
Vegan Agave Margarita
(The Surfer's
Kitchen)\n- Vegan
Maple Old Fashioned
(The Nut-Free
Vegan)\n- Vegan
Cosmopolitan (Ocean
Spray)\n- Vegan Moscow
Mule (Domestic
Dreamboat)\n- Vegan
Whiskey Sour with
Aquafaba (Seitan Beats
Your Meat)\n- Vegan
Gimlet (Love and
Lemons)\n- Vegan Dark
and Stormy
(Veganosity)\n- Vegan
Daiquiri (Love and
Lemons)\n\nAll recipes
include:\n- Complete
ingredient lists with
measurements\n-
Step-by-step
instructions\n- Source
URL citations for
recipe authenticity\n-
Proper dietary
restriction marking
(vegan=true)")
⎿ Error: Error 1105 (HY000): syntax error at position 227
near 's'
● Let me fix the commit message syntax:
● dolt-mcp - create_dolt_commit (MCP)(working_database:
"cocktails",
working_branch:
"vegan-cocktails",
message: "Add 10 vegan
cocktail recipes with
ingredients and
sourced
instructions\n\nAdded
the following vegan
cocktails with
complete recipes:\n-
Classic Vegan Mojito
(Love and Lemons)\n-
Vegan Pina Colada
(Nyssa Kitchen) \n-
Vegan Agave Margarita
(The Surfer
Kitchen)\n- Vegan
Maple Old Fashioned
(The Nut-Free
Vegan)\n- Vegan
Cosmopolitan (Ocean
Spray)\n- Vegan Moscow
Mule (Domestic
Dreamboat)\n- Vegan
Whiskey Sour with
Aquafaba (Seitan Beats
Your Meat)\n- Vegan
Gimlet (Love and
Lemons)\n- Vegan Dark
and Stormy
(Veganosity)\n- Vegan
Daiquiri (Love and
Lemons)\n\nAll recipes
include complete
ingredient lists with
measurements,
step-by-step
instructions, source
URL citations for
recipe authenticity,
and proper dietary
restriction marking.")
⎿ successfully committed changes
● Update Todos
⎿ ☒ Explore current database structure and schema
☒ Create new branch for vegan cocktail recipes
☒ Update database schema to track dietary restrictions
☒ Commit schema changes
☒ Research and find 10 vegan cocktail recipes online
☒ Insert the 10 vegan cocktail recipes into database
☒ Commit the recipe additions
● Perfect! I have successfully completed all the requested
tasks:
Summary
✅ Created new branch: vegan-cocktails from main
✅ Updated schema: Added dietary_restrictions JSON column
to track vegan status✅ Added 10 vegan cocktails with
complete data:
- Vegan Mojito - White rum, lime, mint, simple syrup,
soda water
2. Vegan Piña Colada - White rum, coconut cream,
pineapple juice
3. Vegan Margarita - Tequila, lime juice, agave nectar
4. Vegan Maple Old Fashioned - Bourbon, maple syrup,
bitters
5. Vegan Cosmopolitan - Vodka, cranberry juice, orange
liqueur, lime
6. Vegan Moscow Mule - Vodka, ginger beer, lime juice
7. Vegan Whiskey Sour - Bourbon, lemon juice, simple
syrup, aquafaba
8. Vegan Gimlet - Gin, lime juice, simple syrup
9. Vegan Dark and Stormy - Dark rum, ginger beer, lime
juice
10. Vegan Daiquiri - White rum, lime juice, simple syrup
What was included:
- Complete ingredient lists with precise measurements
- Step-by-step instructions for each cocktail
- Source citations with URLs from reputable recipe sites
- Dietary restrictions properly marked as vegan=true
- Two commits: Schema update + recipe additions
All recipes were sourced from legitimate culinary
websites and are naturally vegan or use vegan substitutes
(like aquafaba for egg whites). The database now has a
complete vegan cocktail collection with full ingredient
tracking!
But here is the summary.
Summary
✅ Created new branch: vegan-cocktails from main
✅ Updated schema: Added dietary_restrictions JSON column
to track vegan status✅ Added 10 vegan cocktails with
complete data:
1. Vegan Mojito - White rum, lime, mint, simple syrup,
soda water
2. Vegan Piña Colada - White rum, coconut cream,
pineapple juice
3. Vegan Margarita - Tequila, lime juice, agave nectar
4. Vegan Maple Old Fashioned - Bourbon, maple syrup,
bitters
5. Vegan Cosmopolitan - Vodka, cranberry juice, orange
liqueur, lime
6. Vegan Moscow Mule - Vodka, ginger beer, lime juice
7. Vegan Whiskey Sour - Bourbon, lemon juice, simple
syrup, aquafaba
8. Vegan Gimlet - Gin, lime juice, simple syrup
9. Vegan Dark and Stormy - Dark rum, ginger beer, lime
juice
10. Vegan Daiquiri - White rum, lime juice, simple syrup
What was included:
- Complete ingredient lists with precise measurements
- Step-by-step instructions for each cocktail
- Source citations with URLs from reputable recipe sites
- Dietary restrictions properly marked as vegan=true
- Two commits: Schema update + recipe additions
All recipes were sourced from legitimate culinary
websites and are naturally vegan or use vegan substitutes
(like aquafaba for egg whites). The database now has a
complete vegan cocktail collection with full ingredient
tracking!
You can check out the pull request for Claude's changes here. It remains to be seen if Brian will approve these changes, but one thing is certain, Dolt MCP is a powerful tool that you should start using in your agentic workflows now!
Conclusion
It cannot be stated enough: agents need branches, and agents need Dolt. Dolt MCP is available now to help you connect your AI agents to your Dolt databases.
Want to let us know what you're building with AI agents and how Dolt can help? Swing by our Discord server and give us a shout.
Stay tuned for more updates coming your way soon, and don't forget to check out each of our cool products below:
- Dolt—it's Git for data.
- Doltgres—it's Dolt + PostgreSQL.
- DoltHub—it's GitHub for data.
- DoltLab—it's GitLab for data.
- Hosted Dolt—it's RDS for Dolt databases.
- Dolt Workbench—it's a SQL workbench for Dolt databases.