Skip to main content
Glama
iijimam

RAGandLLM-MCP

by iijimam
README.md
# RAG + 生成 AI であそぼう!の MCP サーバのコード

[RAG + 生成AIであそぼう!](https://intersystems-dc.connpass.com/event/364272/)のウェビナーで使用した MCP サーバー側コードです。

※ REST API 側のコードは https://github.com/Intersystems-jp/RAGandLLM-Asobo にあります。

※ 参考にしたページ:https://qiita.com/Maki-HamarukiLab/items/2f3230d5293beff2ca46

## 含まれるコンポーネント

### ツール

この MCP サーバに含まれるツールは以下の通りです。

- upload_file

  魚の画像ファイルをUploadすると、魚名と魚IDが返ります。

  応答JSON例
  ```
  {
    "FishID": "f025",
    "FishName": "シーバス"
  }
  ```

- get_recipe

  レシピ生成を依頼できます。
  
  upload_file 実行時の応答とユーザの好みの情報や料理経験が入力情報で必要です。

  POST 要求の Body に指定している実際の JSON は以下の通りです。
  ```
  {
    "FishID": "f025",
    "FishName": "シーバス",
    "UserInput": "地元料理でフライパン1つで作れるレシピ"
  }
  ```  

- register_choka

  釣った魚の釣果を登録できます。

  upload_file で得られた魚名(FishName)と魚ID(FishID)を使用します。

  POST 要求の Body に指定している実際の JSON は以下の通りです。

  ```
  {
    "FishID": "f025",
    "FishName": "シーバス",
    "FishSize": "50",
    "FishCount": 2
  }
  ```


## Quickstart

### Install

#### Claude Desktop の開発者用設定

- On MacOS

  `~/Library/Application\ Support/Claude/claude_desktop_config.json`

- On Windows:

  `%APPDATA%/Claude/claude_desktop_config.json`


#### 設定内容

Claude desktop の ファイル>設定>開発者 を開き「設定を編集」をクリックし設定用JSONに以下指定します。

```
"mcpServers": {
  "RAGandLLM-MCP": {
    "command": "uv",
    "args": [
      "--directory",
      "C:\\WorkSpace\\MCPTest\\RAGandLLM-MCP",
      "run",
      "RAGandLLM-MCP"
    ]
  }
}
```

TDQS

C2.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_recipe generates recipes, register_choka registers fishing catches, and upload_file identifies fish from images. There is no overlap in functionality, and an agent can easily tell them apart based on their unique operations.

Naming Consistency4/5

The tools follow a consistent verb_noun pattern (get_recipe, register_choka, upload_file), with all using snake_case. The minor deviation is that 'choka' is a domain-specific term (Japanese for fishing catch), but the naming structure remains predictable and readable throughout.

Tool Count3/5

With only 3 tools, the server feels thin for its apparent scope in RAG and LLM applications related to fishing and recipes. While each tool is distinct, the set lacks depth for comprehensive workflows, such as managing recipes or handling multiple fishing data operations, making it borderline for the domain.

Completeness2/5

There are significant gaps in the tool surface for a RAG/LLM server focused on fishing and recipes. Missing operations include updating or deleting recipes, querying fishing data, managing user profiles, or integrating with LLM models beyond basic generation. This incompleteness will likely cause agent failures in extended tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues