Chroma Mcp 伺服器
概覽
什麼是 Chroma?
Chroma 是一個開源項目,旨在提供一個強大且靈活的 MCP(Minecraft:Java 版)伺服器。它允許玩家以獨特的方式體驗 Minecraft,提供各種增強遊戲玩法和伺服器管理的功能。該項目在 GitHub 上由用戶 "privetin" 托管,並公開供貢獻和改進。
Chroma 的特點
- 可自定義的伺服器設置:Chroma 允許伺服器管理員自定義各種設置,以根據自己的喜好調整遊戲體驗。
- 友好的用戶界面:該項目配備了友好的用戶界面,簡化了伺服器管理和配置。
- 活躍的社區支持:作為一個開源項目,Chroma 受益於活躍的社區,該社區為其開發做出貢獻並為用戶提供支持。
- 定期更新:該項目定期更新,以修復錯誤、改善性能並添加新功能,確保流暢的遊戲體驗。
- 兼容性:Chroma 設計為與多個 Minecraft 版本兼容,使其對不同玩家群體具有多樣性。
如何使用 Chroma
- 安裝:要開始使用 Chroma,請從 GitHub 存儲庫下載最新版本。按照文檔中提供的安裝說明進行操作。
- 配置:安裝後,根據您的偏好配置伺服器設置。這包括設置玩家權限、遊戲模式和其他伺服器參數。
- 啟動伺服器:配置完成後,啟動伺服器並邀請玩家加入。確保您的伺服器運行的是正確版本的 Minecraft 以保持兼容性。
- 社區參與:在 GitHub 上與 Chroma 社區互動以獲取支持、功能請求和貢獻。您可以報告問題、建議改進,甚至提交代碼。
常見問題解答
問:Chroma 是免費使用的嗎?
答:是的,Chroma 是一個開源項目,對所有人免費使用。
問:我如何能為 Chroma 做出貢獻?
答:您可以通過報告問題、建議功能或通過 GitHub 存儲庫的拉取請求提交代碼更改來貢獻。
問:Chroma 支持哪些版本的 Minecraft?
答:Chroma 設計為與多個版本的 Minecraft 兼容。請始終查看文檔以獲取最新的兼容性信息。
問:我可以在哪裡找到 Chroma 的支持?
答:支持可以在 GitHub 存儲庫的問題部分找到,您可以在那裡提出問題和報告問題。此外,社區論壇可能提供進一步的幫助。
問:我可以自定義我的 Chroma 伺服器上的遊戲體驗嗎?
答:當然可以!Chroma 提供廣泛的自定義選項,以根據您的喜好調整遊戲體驗。
詳細
Chroma MCP Server
A Model Context Protocol (MCP) server implementation that provides vector database capabilities through Chroma. This server enables semantic document search, metadata filtering, and document management with persistent storage.
Requirements
- Python 3.8+
- Chroma 0.4.0+
- MCP SDK 0.1.0+
Components
Resources
The server provides document storage and retrieval through Chroma's vector database:
- Stores documents with content and metadata
- Persists data in
src/chroma/data
directory - Supports semantic similarity search
Tools
The server implements CRUD operations and search functionality:
Document Management
-
create_document
: Create a new document- Required:
document_id
,content
- Optional:
metadata
(key-value pairs) - Returns: Success confirmation
- Error: Already exists, Invalid input
- Required:
-
read_document
: Retrieve a document by ID- Required:
document_id
- Returns: Document content and metadata
- Error: Not found
- Required:
-
update_document
: Update an existing document- Required:
document_id
,content
- Optional:
metadata
- Returns: Success confirmation
- Error: Not found, Invalid input
- Required:
-
delete_document
: Remove a document- Required:
document_id
- Returns: Success confirmation
- Error: Not found
- Required:
-
list_documents
: List all documents- Optional:
limit
,offset
- Returns: List of documents with content and metadata
- Optional:
Search Operations
search_similar
: Find semantically similar documents- Required:
query
- Optional:
num_results
,metadata_filter
,content_filter
- Returns: Ranked list of similar documents with distance scores
- Error: Invalid filter
- Required:
Features
- Semantic Search: Find documents based on meaning using Chroma's embeddings
- Metadata Filtering: Filter search results by metadata fields
- Content Filtering: Additional filtering based on document content
- Persistent Storage: Data persists in local directory between server restarts
- Error Handling: Comprehensive error handling with clear messages
- Retry Logic: Automatic retries for transient failures
Installation
- Install dependencies:
uv venv
uv sync --dev --all-extras
Configuration
Claude Desktop
Add the server configuration to your Claude Desktop config:
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"
]
}
}
}
Data Storage
The server stores data in:
- Windows:
src/chroma/data
- MacOS/Linux:
src/chroma/data
Usage
- Start the server:
uv run chroma
- Use MCP tools to interact with the server:
### 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"
}
})
Error Handling
The server provides clear error messages for common scenarios:
Document already exists [id=X]
Document not found [id=X]
Invalid input: Missing document_id or content
Invalid filter
Operation failed: [details]
Development
Testing
- Run the MCP Inspector for interactive testing:
npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma
- Use the inspector's web interface to:
- Test CRUD operations
- Verify search functionality
- Check error handling
- Monitor server logs
Building
- Update dependencies:
uv compile pyproject.toml
- Build package:
uv build
Contributing
Contributions are welcome! Please read our Contributing Guidelines for details on:
- Code style
- Testing requirements
- Pull request process
License
This project is licensed under the MIT License - see the LICENSE file for details.
伺服器配置
{
"mcpServers": {
"chroma": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--privetin--chroma--chroma",
"chroma"
],
"env": {}
}
}
}