Skip to main content
Glama
KimTsegzc

xinPlugin_Chroma_fastMCP

by KimTsegzc

xChroma_1fastMCP

Die Vektorabrufschicht der MinIO-Wissensdatenbank: extrahiert den Text aus den in MinIO hochgeladenen Dokumenten (PDF/txt/md) → zerlegt ihn in Chunks → speichert die Vektoren in Chroma und stellt die „Suche“ über FastMCP als MCP-Tool bereit, damit der dsh-mcp-client von DSH (DeepSeek Harness) sich verbinden kann und der Agent beim Beantworten von Fragen direkt den Originaltext durchsucht.

Aufbau

Datei

Rolle

chroma_store.py

Chroma-Persistenz + Chunking (mit Seiten-/Zeilennummern) + Hybride Suche (semantisch + Zeichen-Bigramm-BM25, RRF-Fusion)

ingest.py

CLI-Import: python ingest.py <文件> [source名], gibt eine JSON-Zusammenfassung aus (zur Anbindung durch das MinIO-Plugin)

server.py

FastMCP-stdio-Dienst, bereit für search / ingest_file / list_sources

requirements.txt

chromadb / fastmcp / pypdf

Related MCP server: Modular RAG MCP Server

Installation

pip install -r requirements.txt
# 首次检索会下载默认 embedding(all-MiniLM-L6-v2,约 80MB,缓存在 ~/.cache/chroma)

Verwendung

# 入库
python ingest.py "广州十五五规划.pdf" "广州十五五规划.pdf"

# 检索(或经 MCP 工具 search)
python -c "from chroma_store import search; import json; print(json.dumps(search('广州 人工智能+ 大模型 算力 数据要素', 6), ensure_ascii=False))"

MCP-Werkzeuge

  • search(query, top_k=6): Hybride Suche aus Semantik und Schlüsselwörtern, retourniert Fragmente des Originaltexts samt Herkunft (Datei + Seite + Zeile).

  • ingest_file(path, source_name): synchronisiert eine lokale Datei in den Bestand.

  • list_sources(): Liste der bereits importierten Quellen.

Auf der DSH-Seite wird server.py per stdio verbunden (dsh-mcp-client); die Werkzeugnamen haben etwa die Form mcp__chroma__search.

Suchprinzip

  • Chunking: Der Text wird asynchron in Seiten gebrochen, Seitennr/Header/Footer werden herausgefiltert, aus je 6 Zeilen ein Absatz (mit 1 gemeinsamer Zeile) erzeugt, Metadaten werden unter source/page/line_start/line_end gespeichert.

  • Hybride Suche: Chroma-Semantikvektoren (Kosinus) + Zeichen-Bigramm-BM25-Suchschicht, RRF-Fusion – bei einer schwachen semantischen Einbettung Chinesischer Begriffe fängt BM25 exakte Schlüsselwörter wie „大模型/算力/数据要素“ ab und garantiert damit eine stabile Quellenlage.

  • Abgeleitete Sparse-Cache wird bei Ingest neu gefüllt; erneuter Import merged und überschreibt vorhandene Bestände.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search, deep-read, and build knowledge bases from Markdown, PDF, DOCX, and PPTX documents via MCP tools for retrieval, document navigation, and ingestion.
    21 npm
    645
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that indexes a knowledge base into Chroma and provides search tools for retrieving document fragments via vector embeddings.
    -