Pinecone MCP server を使って Pinecone 自体のドキュメント検索や、ベクトルデータベースからベクトル検索してみた

Pinecone MCP server を使って Pinecone 自体のドキュメント検索や、ベクトルデータベースからベクトル検索してみた

Clock Icon2025.04.22

こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。

MCP を使っていますでしょうか。

2025年04月21日に Pinecone でも MCP サーバーがリリースされました。

https://docs.pinecone.io/guides/operations/mcp-server

Pinecone MCP server

Pinecone MCP server は名前の通り、 Pinecone の機能やドキュメントにアクセス可能な MCP サーバーです。執筆時点では以下の機能が提供されています。

かなり多機能な MCP サーバーですね。ベクトルデータベースの作成を含めて RAG の機能を利用可能な MCP サーバーのように思えます。

  • search-docs
  • list-indexes
  • describe-index
  • describe-index-stats
  • create-index-for-model
  • upsert-records
  • search-records
  • cascading-search
  • rerank-documents

やってみる

それでは今回はドキュメント検索、インデックスの作成、クエリ実行までやってみます。

前提条件

前提条件として以下の2つが必要です。

  • Pinecone API キーを発行しておくこと
  • Node.js をインストールし、PATH に node と npx が実行できること

Before you begin

MCP Client への設定

それでは MCP Client へサーバーを利用するよう設定します。ドキュメントでは Cursor と Claude Desktop が紹介されています。

私は Roo Code で実装しました。MCP Server を選択し、グローバル MCP を編集から利用する MCP サーバーを設定します。

2025-04-22 at 19.04.42-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

Roo Code では MCP Server の設定は mcp_settings.json から実装します。

mcp_settings.json
{
  "mcpServers": {
    "pinecone": {
      "command": "npx",
      "args": [
        "-y", "@pinecone-database/mcp"
      ],
      "env": {
        "PINECONE_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

search-docs

まずはドキュメント検索してみましょう。Toolsintegrated inference という表現が気になったので、「Pinecone の世界での integrated inference って何ですか?」と聞いてみます。クエリを実行する API 利用を求められました。承諾しちゃいましょう。

2025-04-22 at 21.23.14-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

回答が返ってきていますね。テキストデータの埋め込み(embedding)やリランキング(reranking)といったAI推論処理を、Pineconeのベクトルデータベースの操作と一体化して自動で行う機能 のようです。

回答内容
Pineconeの「integrated inference(インテグレーテッド・インファレンス)」とは、テキストデータの埋め込み(embedding)やリランキング(reranking)といったAI推論処理を、Pineconeのベクトルデータベースの操作と一体化して自動で行う機能です。

従来はユーザーが自分でテキストを埋め込みモデルでベクトル化し、そのベクトルをPineconeに登録・検索していましたが、integrated inferenceを使うと、  
- インデックス作成時に埋め込みモデルを指定  
- テキストデータをそのままupsert(登録)するとPineconeが自動でベクトル化  
- 検索時もテキストクエリをそのまま渡すだけでベクトル化・検索・リランキングまで一気通貫

つまり、ユーザーはAI推論の実装や管理から解放され、シンプルなAPI操作だけで高機能なベクトル検索が可能になります。

公式ドキュメントにも「embeddingとrerankingがデータベース操作と統合され、追加の手順なしで利用できる」と明記されています。

2025-04-22 at 21.24.08-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

list-indexes

続いて list-indexes です。名前の通り、アカウント内にある Pinecone インデックスを一覧化する Tool です。

わかりやすいよう、「Pinecone インデックスを一覧化して」と質問してみます。こちらもうまく質問の意図を読み取ってくれました。

2025-04-22 at 21.29.48-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

検索結果もうまく出力されています。

2025-04-22 at 21.29.52-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

API の実行結果は以下のとおりです。

list-indexes.json
{
  "indexes": [
    {
      "name": "knowledge-base-us-west-2",
      "dimension": 1024,
      "metric": "cosine",
      "host": "knowledge-base-us-west-2-XXXXXX.svc.XXXXXXXXXXXXXX.pinecone.io",
      "deletionProtection": "disabled",
      "spec": {
        "serverless": {
          "cloud": "aws",
          "region": "us-west-2"
        }
      },
      "status": {
        "ready": true,
        "state": "Ready"
      },
      "vectorType": "dense"
    }
  ]
}

インデックスの情報取得

続いてインデックス情報を取得する、describe-indexdescribe-index-stats です。先ほど出力された knowledge-base-us-west-2 を例に API 実行してみましょう。

knowledge-base-us-west-2 について教えて」と実行してみました。まずは describe-index が実行されていますね。

2025-04-22 at 21.32.14-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

実行結果は list-indexes から特定のインデックスを抜き取ったような形でした。

describe-index.json
{
  "name": "knowledge-base-us-west-2",
  "dimension": 1024,
  "metric": "cosine",
  "host": "knowledge-base-us-west-2-XXXXXX.svc.XXXXXXXXXXXXXX.pinecone.io",
  "deletionProtection": "disabled",
  "spec": {
    "serverless": {
      "cloud": "aws",
      "region": "us-west-2"
    }
  },
  "status": {
    "ready": true,
    "state": "Ready"
  },
  "vectorType": "dense"
}

続いて describe-index-stats です。こちらは次の API 実行結果を取得していました。

describe-index-stats.json
{
  "namespaces": {
    "": {
      "recordCount": 36
    }
  },
  "dimension": 1024,
  "totalRecordCount": 36
}

2025-04-22 at 21.40.29-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

最終的な回答は以下のとおりでした。うまく回答できていますね。

Pineconeインデックス「knowledge-base-us-west-2」の詳細は以下の通りです。

- インデックス名: knowledge-base-us-west-2
- ベクトル次元数: 1024
- 類似度メトリクス: cosine
- ホスト: knowledge-base-us-west-2-XXXXXX.svc.XXXXXXXXXXXXXX.pinecone.io
- 削除保護: 無効
- サーバーレス: AWS us-west-2
- ステータス: Ready(利用可能)
- ベクトルタイプ: dense
- namespace: デフォルト(空文字列)
- 総レコード数: 36件

このインデックスは、1024次元のdenseベクトルをcosine類似度で検索する構成となっており、現在36件のレコードが格納されています。

2025-04-22 at 21.32.47-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

create-index-for-model

create-index-for-model は、先ほどの integrated inference で提供されるモデルを利用しながら、インデックスを作成します。

シンプルに「Pinecone インデックスを作りたいです。」と問い合わせしてみました。すると、インデックス名、使用したい埋め込みモデル、テキストフィールド名の組み合わせを求められました。

今回は インデックス名: my-index、埋め込みモデル: multilingual-e5-large、テキストフィールド名: text を選択しました。

2025-04-22 at 21.43.25-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

リクエスト

{
  "name": "my-index",
  "embed": {
    "model": "multilingual-e5-large",
    "fieldMap": {
      "text": "text"
    }
  }
}

レスポンス

{
  "name": "my-index",
  "dimension": 1024,
  "metric": "cosine",
  "host": "my-index-XXXXXX.svc.XXXXXXXXXXXXXX.pinecone.io",
  "deletionProtection": "disabled",
  "tags": {
    "embedding_model": "multilingual-e5-large",
    "source": "mcp"
  },
  "embed": {
    "model": "multilingual-e5-large",
    "metric": "cosine",
    "dimension": 1024,
    "vectorType": "dense",
    "fieldMap": {
      "text": "text"
    },
    "readParameters": {
      "input_type": "query",
      "truncate": "END"
    },
    "writeParameters": {
      "input_type": "passage",
      "truncate": "END"
    }
  },
  "spec": {
    "serverless": {
      "cloud": "aws",
      "region": "us-east-1"
    }
  },
  "status": {
    "ready": true,
    "state": "Ready"
  },
  "vectorType": "dense"
}

コンソールに入るとインデックスが作成されていました。source:mcp となっていますね。

2025-04-22 at 21.46.40-Indexes  Pinecone Console@2x.png

upsert-records

upsert-records でレコードの追加を行います。インデックスに "AWS Summit Japan 2025 は 06/25,26 に開催です!"と追加してください といった内容で問い合わせしました。こちらも upsert-records を利用してレコードの追加を試みています。

2025-04-22 at 22.00.46-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

Data upserted successfully と返答が返ってきていますね。

2025-04-22 at 22.02.27-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

同じように AWS re:Inforce 2025 は 6月16日から18日までの3日間、ペンシルベニア州フィラデルフィアにて開催です!と追加してください。AWS re:Invent 2025 は 12月01日から5日にラスベガスで開催です!と追加してください と投げかけてレコードを登録しました。

検索

最後に検索です。こちらは search-records を使います。AWS Summit はいつ開催?と聞いてみます。

2025-04-22 at 22.04.20-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

スコアから確認したい内容が上位に来ていることがわかります。

2025-04-22 at 21.59.42-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

最終的な回答も意図した内容になっています。

2025-04-22 at 21.59.50-39anYCLJGPxojTc9zDK9rW.md — blog@2x.png

まとめ

「Pinecone MCP server を使って Pinecone 自体のドキュメント検索や、ベクトルデータベースからベクトル検索してみた」でした。

インデックスの作成からクエリまでのやりとりが MCP 経由で完結しているため、簡単に RAG 作りたいケースだと重宝しそうな予感がしました。

このブログがどなたかの参考になれば幸いです。クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.