Chroma Mcp Server
Übersicht
Was ist Chroma?
Chroma ist ein Open-Source-Projekt, das entwickelt wurde, um einen leistungsstarken und flexiblen MCP (Minecraft: Java Edition) Server bereitzustellen. Es ermöglicht den Spielern, Minecraft auf eine einzigartige Weise zu erleben und bietet verschiedene Funktionen, die das Gameplay und das Servermanagement verbessern. Das Projekt wird auf GitHub unter dem Benutzer "privetin" gehostet und ist öffentlich zugänglich für Beiträge und Verbesserungen.
Funktionen von Chroma
- Anpassbare Servereinstellungen: Chroma ermöglicht es Serveradministratoren, verschiedene Einstellungen anzupassen, um das Spielerlebnis nach ihren Wünschen zu gestalten.
- Benutzerfreundliche Oberfläche: Das Projekt kommt mit einer benutzerfreundlichen Oberfläche, die das Servermanagement und die Konfiguration vereinfacht.
- Aktive Community-Unterstützung: Als Open-Source-Projekt profitiert Chroma von einer aktiven Community, die zur Entwicklung beiträgt und den Benutzern Unterstützung bietet.
- Regelmäßige Updates: Das Projekt wird regelmäßig aktualisiert, um Fehler zu beheben, die Leistung zu verbessern und neue Funktionen hinzuzufügen, um ein reibungsloses Spielerlebnis zu gewährleisten.
- Kompatibilität: Chroma ist so konzipiert, dass es mit verschiedenen Minecraft-Versionen kompatibel ist, was es vielseitig für unterschiedliche Spielergruppen macht.
So verwenden Sie Chroma
- Installation: Um mit Chroma zu beginnen, laden Sie die neueste Version aus dem GitHub-Repository herunter. Befolgen Sie die Installationsanweisungen, die in der Dokumentation bereitgestellt werden.
- Konfiguration: Nach der Installation konfigurieren Sie die Servereinstellungen nach Ihren Vorlieben. Dazu gehört die Einrichtung von Spielerberechtigungen, Spielmodi und anderen Serverparametern.
- Server starten: Sobald die Konfiguration abgeschlossen ist, starten Sie den Server und laden Sie die Spieler ein, beizutreten. Stellen Sie sicher, dass Ihr Server die richtige Version von Minecraft für die Kompatibilität ausführt.
- Community-Engagement: Engagieren Sie sich mit der Chroma-Community auf GitHub für Unterstützung, Funktionsanfragen und Beiträge. Sie können Probleme melden, Verbesserungen vorschlagen oder sogar Code beitragen.
Häufig gestellte Fragen
F: Ist Chroma kostenlos zu verwenden?
A: Ja, Chroma ist ein Open-Source-Projekt und für jeden kostenlos zu verwenden.
F: Wie kann ich zu Chroma beitragen?
A: Sie können beitragen, indem Sie Probleme melden, Funktionen vorschlagen oder Codeänderungen über Pull-Requests im GitHub-Repository einreichen.
F: Welche Versionen von Minecraft unterstützt Chroma?
A: Chroma ist so konzipiert, dass es mit mehreren Versionen von Minecraft kompatibel ist. Überprüfen Sie immer die Dokumentation für die neuesten Kompatibilitätsinformationen.
F: Wo kann ich Unterstützung für Chroma finden?
A: Unterstützung finden Sie im Abschnitt "Issues" des GitHub-Repositorys, wo Sie Fragen stellen und Probleme melden können. Darüber hinaus können Community-Foren weitere Hilfe bieten.
F: Kann ich das Spielerlebnis auf meinem Chroma-Server anpassen?
A: Absolut! Chroma bietet umfangreiche Anpassungsoptionen, um das Spielerlebnis nach Ihren Wünschen zu gestalten.
Detail
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.
Serverkonfiguration
{
"mcpServers": {
"chroma": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--privetin--chroma--chroma",
"chroma"
],
"env": {}
}
}
}