Data source: In-memory curated collection
https://context.gnist.ai/mcp/cocktails/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (7)
get_cocktaillist_cocktailssearch_cocktailsget_random_cocktailsearch_cocktails_by_ingredientlist_base_spiritsreport_feedback
get_cocktailGet a specific cocktail recipe by its ID.
Returns full recipe including ingredients, instructions, and metadata.
| Parameter | Type | Required | Description |
|---|---|---|---|
cocktail_id | string | required | Cocktail slug ID (e.g. 'margarita', 'old-fashioned'). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_cocktail",
"arguments": {
"cocktail_id": "example"
}
}
}list_cocktailsList cocktail recipes with optional filters.
Returns matching cocktails filtered by category, base spirit, or alcoholic status.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | any | optional | Filter by category (e.g. Classic, Tiki, Sour, Highball, Martini, Shot, Mocktail). |
base_spirit | any | optional | Filter by base spirit (e.g. Vodka, Gin, Rum, Tequila, Whiskey). |
alcoholic | any | optional | Filter by alcoholic (true) or non-alcoholic (false). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "list_cocktails",
"arguments": {}
}
}search_cocktailsSearch for cocktail recipes by keyword.
Searches across cocktail names, ingredient names, and descriptions. Case-insensitive.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search keyword — matches cocktail name, ingredients, or description. |
max_results | any | optional | Maximum number of results (default: 20, max: 100). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_cocktails",
"arguments": {
"query": "example"
}
}
}get_random_cocktailGet a random cocktail recipe.
Returns a random cocktail, optionally filtered by alcoholic or non-alcoholic.
| Parameter | Type | Required | Description |
|---|---|---|---|
alcoholic | any | optional | Filter by alcoholic (true) or non-alcoholic (false). Omit for any. |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_random_cocktail",
"arguments": {}
}
}search_cocktails_by_ingredientFind cocktails containing a specific ingredient.
Partial, case-insensitive match on ingredient names.
| Parameter | Type | Required | Description |
|---|---|---|---|
ingredient | string | required | Ingredient name to search for (e.g. 'lime', 'bourbon', 'mint'). |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_cocktails_by_ingredient",
"arguments": {
"ingredient": "example"
}
}
}list_base_spiritsList all base spirits in the cocktail database.
Returns the spirit names that can be used to filter cocktails.
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "list_base_spirits",
"arguments": {}
}
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "report_feedback",
"arguments": {
"feedback": "example"
}
}
}Quick Start
curl -X POST "https://context.gnist.ai/mcp/cocktails/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_cocktail", "arguments": {"cocktail_id": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/cocktails/",
headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_cocktail",
"arguments": {
"cocktail_id": "example"
}
}
},
)
print(resp.json())