mcpField
A
AI Agent with MCP

AI Agent with MCP

ローカル
github.com/moises-paschoalickAI・エージェント270 週間前に更新

AI Agent with MCP について

AI Agent with MCPは、MCPで外部リソースを扱うAIエージェントを示すNode.jsプロジェクトです。ユーザーと挨拶のリソース、MCPクライアント、ターミナル・REST API・Cursorからの利用例を含みます。

主な機能

  1. 01ユーザーと挨拶のリソースを公開するMCPサーバー
  2. 02リソース取得用のMCPクライアント
  3. 03REST APIによる直接アクセス
  4. 04ターミナルとCursorの利用例

活用シーン

  1. 01登録ユーザー一覧の取得
  2. 02挨拶リソースの取得
  3. 03CursorやターミナルからMCPアクセスを試す

MCP 対応

ユーザーと挨拶のリソースを公開するMCPサーバーと、それらを利用するMCPクライアントを提供します。REST APIから直接アクセスする方法も示します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ai-agent-with": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

NodeJS で MCP サーバーを作成する(ai-agent-with-mcp)

このプロジェクトは、Model Context Protocol(MCP)を使用して外部リソースとやり取りする AI エージェントを実装します。

リポジトリに含まれるもの:

ユーザーとメッセージ向けの REST リソースを備えた、動作する MCP サーバー。

プロトコル経由でこれらのリソースを利用する MCP クライアント。

ターミナル、REST API、または Cursor から直接リソースにアクセスする実践的な例。

利用可能なリソース

MCP サーバーは次のリソースを提供します:

ユーザーリソース
  • api://users: システムに登録されているすべてのユーザーを一覧表示します
    • ID、名前、電話番号、スレッド ID などの情報を返します
    • 形式:JSON
    • 応答例:
      {
        "content": [
          {
            "id": 1,
            "phoneNumber": "553496341404",
            "name": "Moisés Paschoalick",
            "threadId": "thread_bZEPVYVBvHxY9Ok6WqR63M2D"
          },
          {
            "id": 2,
            "phoneNumber": "553496338888",
            "name": "José Silva",
            "threadId": "1thread_t8SFjKio6yN9pppqypilwGoR__"
          },
          {
            "id": 3,
            "phoneNumber": "553496338889",
            "name": "Maria Antonia",
            "threadId": "1thread_t8SFjKio6yN9pppqypilwGoR__"
          }
        ],
        "pageable": {
          "pageNumber": 0,
          "pageSize": 12,
          "sort": {
            "empty": false,
            "sorted": true,
            "unsorted": false
          },
          "offset": 0,
          "paged": true,
          "unpaged": false
        },
        "last": true,
        "totalPages": 1,
        "totalElements": 3,
        "first": true,
        "size": 12,
        "number": 0,
        "sort": {
          "empty": false,
          "sorted": true,
          "unsorted": false
        },
        "numberOfElements": 3,
        "empty": false
      }
      
メッセージリソース
  • hello://world: シンプルな挨拶メッセージを返します
    • 形式:プレーンテキスト(text/plain)
    • 応答例:"Hello, World! This is my first MCP resource."

Cursor へのインストール

まず、Cursor がインストールされており、システムで npm が設定されていることを確認してください。

オプション 1:ターミナルからインストール

ターミナルで次のコマンドを実行します:

npx -y @smithery/cli@latest install @wonderwhy-er/desktop-commander --client cursor --key dda23bec-caa6-4487-a1e9-eb74e22e33eb

注:記載されているキーはあくまで例です。ご自身のキーを追加してください。

Cursor の実行中に設定を変更した場合は、再起動してください。

オプション 2:手動でインストール

mcp.json ファイルに適切なエントリを追加します:

Mac/Linux の場合:

Linux の場合:~/.config/cursor.json

{
  "mcpServers": {
    "desktop-commander": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@wonderwhy-er/desktop-commander",
        "--key",
        "dda23bec-caa6-4487-a1e9-eb74e22e33eb"
      ]
    }
  }
}
Windows の場合:
{
  "mcpServers": {
    "desktop-commander": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@smithery/cli@latest",
        "run",
        "@wonderwhy-er/desktop-commander",
        "--key",
        "dda23bec-caa6-4487-a1e9-eb74e22e33eb"
      ]
    }
  }
}

Cursor の実行中に設定を変更した場合は、再起動してください。

オプション 3:ローカルにクローン

クローンしてビルドします:

git clone https://github.com/moises-paschoalick/ai-agent-with-mcp.git
cd ai-agent-with-mcp
npm run setup

Cursor の実行中に設定を変更した場合は、再起動してください。

セットアップコマンドは次の処理を行います:

  • 依存関係をインストールする
  • サーバーをビルドする
  • Cursor を設定する
  • 必要に応じて、Cursor の設定に MCP サーバーを追加する

使い方

MCP クライアント

このプロジェクトには、利用可能なリソースへのアクセスに使用できる MCP クライアントが含まれています:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

async function main() {
  const client = new Client({
    name: "hello-mcp-client",
    version: "1.0.0"
  });
  const transport = new StdioClientTransport({
    command: "node",
    args: ["build/index.js"]
  });
  
  try {
    await client.connect(transport);
    
    // Listar recursos disponíveis
    const resources = await client.listResources();
    console.log("Recursos disponíveis:", resources);
    
    // Ler o recurso de usuários
    const content = await client.readResource({ uri: "api://users" });
    console.log("\nLista de Usuários:", content);
  } catch (error) {
    console.error("Erro ao executar o cliente:", error);
  }
}

main().catch(console.error);
REST API への直接アクセス

REST API を使用して、リソースに直接アクセスすることもできます:

# Listar todos os usuários
curl http://3.238.149.189:8080/users

インストールと実行

# Instalar dependências
npm install

# Compilar o projeto
npm run build

# Executar o servidor
npm start

# Executar em modo de desenvolvimento
npm run dev

要件

  • Node.js(AbortController と互換性のあるバージョン)
  • TypeScript
  • @modelcontextprotocol/sdk

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。