Home
back

MCP Client 作成 作例

id: 192, 2025-05-23

### 音声概要

・AIで生成された 音声概要になります。


タスク管理の登録, 表示 Vercel AI SDK + MCPクライアント 作例

  • 前回同様、Vercel AI SDK の例になります。
  • LLM = gemini の構成になります。
  • d1 databaseに、データ保存します.。

### 構成

  • Vercel AI SDK
  • LLM gemini
  • Vercel AI SDK
  • electron
  • React
  • d1 + CF-workers

### 書いたコード


  • .env
  • 設定: gemini の、API_KEY設定
  • TASK_API_URL: タスク管理の外部連携APIサービス
  • TASK_API_KEY: タスク管理の認証鍵
GOOGLE_GENERATIVE_AI_API_KEY="api-key"
TASK_API_URL="API_URL=http://localhost:8787"
TASK_API_KEY="123"

  • tool , 登録
  • mcp-client-ui-3/src/tools/addTask.cjs

https://github.com/kuc-arc-f/mcp_client_1ex/blob/main/mcp-client-ui-3/src/tools/addTask.cjs


  • プロンプト参考
addTaskを使って、プロジェクトID 24 , タイトル テスト工程-1 , 開始日 2025-04-18 , 終了日 2025-04-22 を送信して。
  • 表示は、外部webアプリで表示

  • 動画、 登録& 表示

https://x.com/k_nakashima/status/1916026381018009930


Express + Vercel AI SDK + MCP作例

  • 前回同様、Vercel AI SDK の例になります。
  • LLM = gemini の構成になります。

### 構成

  • Vercel AI SDK
  • LLM gemini
  • Vercel AI SDK
  • express
  • React
  • node20
  • d1 + CF-workers

### 書いたコード


  • .env
  • 設定: gemini の、API_KEY設定
  • ユーザー名、パスワード
GOOGLE_GENERATIVE_AI_API_KEY="api-key"
USER_NAME="user1@example.com"
PASSWORD="123"

  • 参考: vercelデプロイで、env変数の設定
  • Settings > Environment Variables
  • Git push時に、 .envファイルをアップしなくて楽でした。

  • プロンプト参考
サイコロを振ってください。1から6までの整数を返してください。

  • tree
  • src/tools : tool配置
$ tree .
.
├── nodemon.json
├── package.json
├── public
│   ├── empty
├── rolldown.config.js
├── src
│   ├── App.tsx
│   ├── client
│   │   ├── Home.tsx
│   │   ├── Login.tsx
│   │   ├── about.tsx
│   │   └── lib
│   │       ├── HttpCommon.ts
│   │       └── LibConfig.ts
│   ├── components
│   │   └── Head.tsx
│   ├── config.ts
│   ├── entry-client.jsx
│   ├── entry-server.jsx
│   ├── index.ts
│   ├── lib
│   │   ├── Common.ts
│   │   └── LibConfig.ts
│   ├── main.css
│   ├── pages
│   │   └── App.tsx
│   ├── routes
│   │   ├── common.ts
│   │   ├── index.ts
│   │   ├── mcpRouter.ts
│   │   └── user.ts
│   └── tools
│       ├── addItemPrice.ts
│       ├── addTask.ts
│       ├── addTodo.ts
│       ├── getNumber.ts
│       ├── getTodoList.ts
│       ├── getWeatherInfo.ts
│       ├── getWorkList.ts
│       └── saveWorkHour.ts
├── tsconfig.json
└── vite.config.ts

Qwen3 + Ollama 、MCP 作成

  • 前回同様、Ollama 版の例になります。
  • LLM = Qwen3 の構成になります。
  • qwen3:8b を使用 (サイズ 5.2GB)

### 構成

  • LLM qwen3:8b
  • node20

### 書いたコード


  • プロンプト参考
get-random-number を使って、数字を返す。

  • tree
  • src/mcp-servers に、McpServer 配置
$ tree .
.
├── package.json
├── src
│   ├── index.ts
│   ├── libs
│   │   └── direct-transport.ts
│   └── mcp-servers
│       ├── get-random-number.ts
│       └── mcp-2ex-test.ts
└── tsconfig.json

  • McpServerの例
  • mcp-cli-4/src/mcp-servers/get-random-number.ts

https://github.com/kuc-arc-f/mcp_client_1ex/blob/main/mcp-cli-4/src/mcp-servers/get-random-number.ts


  • start
npm run dev