Skip to main content
Glama
privetin

Chroma MCP Server

by privetin

Chroma MCP サーバー

Chroma を介してベクターデータベース機能を提供するモデルコンテキストプロトコル(MCP)サーバー実装。このサーバーは、セマンティックドキュメント検索、メタデータフィルタリング、そして永続ストレージによるドキュメント管理を可能にします。

要件

  • Python 3.8以上

  • Chroma 0.4.0以降

  • MCP SDK 0.1.0+

Related MCP server: Chroma MCP Server

コンポーネント

リソース

サーバーは、Chroma のベクター データベースを通じてドキュメントの保存と取得を提供します。

  • コンテンツとメタデータを含むドキュメントを保存します

  • src/chroma/dataディレクトリにデータを保存します

  • 意味的類似性検索をサポート

ツール

サーバーは CRUD 操作と検索機能を実装します。

ドキュメント管理

  • create_document : 新しいドキュメントを作成する

    • 必須: document_idcontent

    • オプション: metadata (キーと値のペア)

    • 戻り値: 成功確認

    • エラー: すでに存在します。入力が無効です

  • read_document : IDでドキュメントを取得する

    • 必須: document_id

    • 戻り値: ドキュメントのコンテンツとメタデータ

    • エラー: 見つかりません

  • update_document : 既存のドキュメントを更新する

    • 必須: document_idcontent

    • オプション: metadata

    • 戻り値: 成功確認

    • エラー: 見つかりません、入力が無効です

  • delete_document : ドキュメントを削除する

    • 必須: document_id

    • 戻り値: 成功確認

    • エラー: 見つかりません

  • list_documents : すべてのドキュメントを一覧表示する

    • オプション: limitoffset

    • 戻り値: コンテンツとメタデータを含むドキュメントのリスト

捜索活動

  • search_similar : 意味的に類似した文書を検索する

    • 必須: query

    • オプション: num_resultsmetadata_filtercontent_filter

    • 返されるもの: 距離スコアによる類似文書のランク付けされたリスト

    • エラー: 無効なフィルター

特徴

  • セマンティック検索: Chroma の埋め込みを使用して意味に基づいてドキュメントを検索します

  • メタデータフィルタリング: メタデータフィールドで検索結果をフィルタリングする

  • コンテンツフィルタリング: ドキュメントコンテンツに基づく追加のフィルタリング

  • 永続ストレージ: データはサーバーの再起動後もローカルディレクトリに保持されます

  • エラー処理: 明確なメッセージによる包括的なエラー処理

  • 再試行ロジック: 一時的な障害に対する自動再試行

インストール

  1. 依存関係をインストールします:

uv venv
uv sync --dev --all-extras

構成

クロードデスクトップ

Claude Desktop 構成にサーバー構成を追加します。

Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "chroma": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/MCP/server/community/chroma",
        "run",
        "chroma"
      ]
    }
  }
}

データストレージ

サーバーは次の場所にデータを保存します。

  • Windows: src/chroma/data

  • MacOS/Linux: src/chroma/data

使用法

  1. サーバーを起動します。

uv run chroma
  1. MCP ツールを使用してサーバーと対話します。

# Create a document
create_document({
    "document_id": "ml_paper1",
    "content": "Convolutional neural networks improve image recognition accuracy.",
    "metadata": {
        "year": 2020,
        "field": "computer vision",
        "complexity": "advanced"
    }
})

# Search similar documents
search_similar({
    "query": "machine learning models",
    "num_results": 2,
    "metadata_filter": {
        "year": 2020,
        "field": "computer vision"
    }
})

エラー処理

サーバーは、一般的なシナリオに対して明確なエラー メッセージを提供します。

  • Document already exists [id=X]

  • Document not found [id=X]

  • Invalid input: Missing document_id or content

  • Invalid filter

  • Operation failed: [details]

発達

テスト

  1. 対話型テストのために MCP Inspector を実行します。

npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma
  1. インスペクターの Web インターフェースを使用して次の操作を行います。

    • CRUD操作をテストする

    • 検索機能を確認する

    • エラー処理を確認する

    • サーバーログを監視する

建物

  1. 依存関係を更新します:

uv compile pyproject.toml
  1. ビルドパッケージ:

uv build

貢献

貢献を歓迎します!詳細については、貢献ガイドラインをご覧ください。

  • コードスタイル

  • テスト要件

  • プルリクエストプロセス

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/privetin/chroma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server