RaspberryPints MCP by usefulapi
Read taps, beers and pours; add beers and tap them in RaspberryPints.
我该使用它吗
质量与安全性
发现(3)
- LOW在 raspberrypints_get_beer_by_external_id 中
- LOW在 raspberrypints_get_tap_by_external_id 中
- LOW在 raspberrypints_get_pour_by_external_id 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"raspberrypints": {
"url": "https://raspberrypints.usefulapi.io/mcp"
}
}
}远程端点
https://raspberrypints.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(15)
🟢raspberrypints_get_brewery
Get the brewery that the API key belongs to: name, subdomain and type. Good first call to confirm the connection. GET /partner/breweries/{breweryId}.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_list_beers
List the beers in the brewery's menu: name, style, ABV, IBU, SRM, price and externalId. GET /partner/breweries/{breweryId}/beers.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_get_beer(beer_id)
Get one beer by its RaspberryPints beer id. GET /partner/breweries/{breweryId}/beers/{beerId}.
输入模式
{
"type": "object",
"properties": {
"beer_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The beer id (from raspberrypints_list_beers)."
}
},
"required": [
"beer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_get_beer_by_external_id(external_id)
Get one beer by the externalId your system set on it. GET /partner/breweries/{breweryId}/beers/external/{externalId}.
输入模式
{
"type": "object",
"properties": {
"external_id": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,255}$",
"description": "Partner-defined external id (max 255 chars, letters, digits and . _ : -)."
}
},
"required": [
"external_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_list_taps
List the brewery's taps with the beer on each tap and the active keg session (volume start and remaining). GET /partner/breweries/{breweryId}/taps.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_get_tap(tap_id)
Get one tap with its beer and active keg session. GET /partner/breweries/{breweryId}/taps/{tapId}.
输入模式
{
"type": "object",
"properties": {
"tap_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The tap id (from raspberrypints_list_taps)."
}
},
"required": [
"tap_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_get_tap_by_external_id(external_id)
Get one tap by the externalId your system set on it. GET /partner/breweries/{breweryId}/taps/external/{externalId}.
输入模式
{
"type": "object",
"properties": {
"external_id": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,255}$",
"description": "Partner-defined external id (max 255 chars, letters, digits and . _ : -)."
}
},
"required": [
"external_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_get_taplist
Get the brewery's taplist: its taplist id and brewery id. GET /partner/breweries/{breweryId}/taplist.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_list_pours(since, tap_id, limit)
List recorded pours, newest first. Pass 'since' (ISO 8601) for incremental sync, and 'tap_id' to scope to one tap. GET /partner/breweries/{breweryId}/pours.
输入模式
{
"type": "object",
"properties": {
"since": {
"description": "Only pours after this ISO 8601 timestamp.",
"type": "string"
},
"tap_id": {
"description": "Only pours from this tap id.",
"type": "string"
},
"limit": {
"description": "Maximum pours to return (the server default applies when omitted).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢raspberrypints_get_pour_by_external_id(external_id)
Get one recorded pour by the externalId your system set on it. GET /partner/breweries/{breweryId}/pours/external/{externalId}.
输入模式
{
"type": "object",
"properties": {
"external_id": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,255}$",
"description": "Partner-defined external id (max 255 chars, letters, digits and . _ : -)."
}
},
"required": [
"external_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴raspberrypints_create_beer(name, style, abv, ibu, srm, ...)
Add a beer to the brewery's menu. Name, style, ABV, IBU, SRM and brewery name are required. POST /partner/breweries/{breweryId}/beers.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Beer name."
},
"style": {
"type": "string",
"minLength": 1,
"description": "Beer style, for example 'West Coast IPA'."
},
"abv": {
"type": "number",
"minimum": 0,
"description": "Alcohol by volume, in percent."
},
"ibu": {
"type": "number",
"minimum": 0,
"description": "International Bitterness Units."
},
"srm": {
"type": "number",
"minimum": 0,
"description": "Standard Reference Method colour value."
},
"brewery_name": {
"type": "string",
"minLength": 1,
"description": "Brewery name shown with the beer."
},
"description": {
"description": "Beer description.",
"type": "string"
},
"price": {
"description": "Price per serving.",
"type": "number",
"minimum": 0
},
"external_id": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,255}$",
"description": "Partner-defined external id (max 255 chars, letters, digits and . _ : -)."
},
"metadata": {
"description": "Arbitrary string key-value metadata (max 10 keys).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"name",
"style",
"abv",
"ibu",
"srm",
"brewery_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡raspberrypints_update_beer(beer_id, name, style, abv, ibu, ...)
Update a beer on the brewery's menu. The API requires name, style, ABV, IBU, SRM and brewery name on every update: read the beer first and resend them. PATCH /partner/breweries/{breweryId}/beers/{beerId}.
输入模式
{
"type": "object",
"properties": {
"beer_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The beer id to update."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Beer name."
},
"style": {
"type": "string",
"minLength": 1,
"description": "Beer style, for example 'West Coast IPA'."
},
"abv": {
"type": "number",
"minimum": 0
},
"ibu": {
"type": "number",
"minimum": 0
},
"srm": {
"type": "number",
"minimum": 0
},
"brewery_name": {
"type": "string",
"minLength": 1,
"description": "Brewery name shown with the beer."
},
"description": {
"type": "string"
},
"price": {
"type": "number",
"minimum": 0
},
"external_id": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,255}$",
"description": "Partner-defined external id (max 255 chars, letters, digits and . _ : -)."
},
"metadata": {
"description": "Arbitrary string key-value metadata (max 10 keys).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"beer_id",
"name",
"style",
"abv",
"ibu",
"srm",
"brewery_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴raspberrypints_create_tap(taplist_id, external_id, metadata)
Add a tap to a taplist. The license tier caps the tap count: at the cap the API returns TAP_LIMIT_EXCEEDED. POST /partner/breweries/{breweryId}/taps.
输入模式
{
"type": "object",
"properties": {
"taplist_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The taplist id (from raspberrypints_get_taplist)."
},
"external_id": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,255}$",
"description": "Partner-defined external id (max 255 chars, letters, digits and . _ : -)."
},
"metadata": {
"description": "Arbitrary string key-value metadata (max 10 keys).",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"taplist_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴raspberrypints_tap_beer(tap_id, beer_id, volume_start)
Put a beer on a tap and start a keg session. A tap with an active session returns 409: untap it first. POST /partner/breweries/{breweryId}/taps/{tapId}/tap.
输入模式
{
"type": "object",
"properties": {
"tap_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The tap id (from raspberrypints_list_taps)."
},
"beer_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The beer id to put on the tap."
},
"volume_start": {
"description": "Starting keg volume in fluid ounces (1984 for a half barrel, 640 for a corny keg). Default 0.",
"type": "number",
"minimum": 0
}
},
"required": [
"tap_id",
"beer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴raspberrypints_untap_tap(tap_id)
Remove the current beer and its session from a tap. POST /partner/breweries/{breweryId}/taps/{tapId}/untap.
输入模式
{
"type": "object",
"properties": {
"tap_id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The tap id to clear."
}
},
"required": [
"tap_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据