Skip to main content
Glama
Yusuke-Shibata23

Cocktail

README.md
# Cocktail MCP Server

TheCocktailDB APIを利用したMCPサーバー。Claude Desktopに接続すると、自然言語でカクテルのレシピ検索・材料情報の取得ができるようになります。

## セットアップ

```bash
npm install
npm run build
```

## Claude Desktop接続設定

`claude_desktop_config.json` に以下を追加:

```json
{
  "mcpServers": {
    "cocktail": {
      "command": "node",
      "args": ["/path/to/cocktail-mcp-server/dist/index.js"]
    }
  }
}
```

## ツール一覧

| ツール名 | 説明 | 引数 |
|----------|------|------|
| `search_cocktail` | カクテル名でレシピ検索 | `name: string` |
| `search_by_ingredient` | 材料からカクテル逆引き | `ingredient: string` |
| `get_random_cocktail` | ランダムにカクテルを1杯おすすめ | なし |
| `get_ingredient_info` | 材料の詳細情報を取得 | `ingredient: string` |
| `filter_cocktails` | カテゴリ/アルコール有無でフィルタ | `filter_type: "category" \| "alcoholic"`, `value: string` |

## 会話例

```
ユーザー: モヒートの作り方教えて
Claude: モヒートのレシピですね!
  【材料】ライトラム 2-3 oz、ライムジュース 1 oz、砂糖 2 tsp、ミント...

ユーザー: ウォッカで作れるカクテル何がある?
Claude: ウォッカを使ったカクテルはこちらです!
  1. Moscow Mule  2. Vodka Martini  3. Cosmopolitan...

ユーザー: 今日のおすすめカクテル出して
Claude: こんなのはいかがですか? Old Fashioned...
```

## 開発

```bash
npm test            # テスト実行
npm run test:watch  # ウォッチモード
```

## 技術スタック

- TypeScript / Node.js
- @modelcontextprotocol/sdk (MCP SDK)
- Zod(バリデーション)
- Vitest(テスト)
- TheCocktailDB API(テストAPIキー `"1"`)

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct operation: searching by name, filtering by category, searching by ingredient, getting ingredient info, and random discovery. No overlaps in purpose.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., filter_cocktails, search_by_ingredient, get_random_cocktail), making it easy to predict functionality.

Tool Count5/5

Five tools is an ideal scope for a cocktail recipe server, covering search, filter, ingredient lookup, and random discovery without unnecessary bloat.

Completeness4/5

The set covers search, filtering, ingredient details, and random discovery. Missing features like rating or user-added recipes are not essential for a reference server.

Maintenance

ActivityInactive
ResponsivenessSyncing