RaspberryPints MCP by usefulapi

Read taps, beers and pours; add beers and tap them in RaspberryPints.

我该使用它吗

质量与安全性

A
描述质量
95%
模式完整度
80%
命名质量
76%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(3)

  • LOWTool 'raspberrypints_get_beer_by_external_id' name length outside 3-30 range在 raspberrypints_get_beer_by_external_id 中
  • LOWTool 'raspberrypints_get_tap_by_external_id' name length outside 3-30 range在 raspberrypints_get_tap_by_external_id 中
  • LOWTool 'raspberrypints_get_pour_by_external_id' name length outside 3-30 range在 raspberrypints_get_pour_by_external_id 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,540token 数(工具定义)
~1.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.98%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 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"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本15 个工具