Kontextportal MCP (ConPort)
(Es ist eine Erinnerungsbank!)
Ein datenbankgestützter Model Context Protocol (MCP)-Server zur Verwaltung strukturierter Projektkontexte, der für die Verwendung durch KI-Assistenten und Entwicklertools innerhalb von IDEs und anderen Schnittstellen konzipiert ist.
Was ist der Context Portal MCP-Server (ConPort)?
Context Portal (ConPort) ist die Gedächtnisbank Ihres Projekts. Es ist ein Tool, das KI-Assistenten hilft, Ihr spezifisches Softwareprojekt besser zu verstehen, indem es wichtige Informationen wie Entscheidungen, Aufgaben und Architekturmuster strukturiert speichert. Stellen Sie sich das als Aufbau einer projektspezifischen Wissensdatenbank vor, auf die die KI leicht zugreifen und die sie nutzen kann, um Ihnen präzisere und hilfreichere Antworten zu geben.
Was es bewirkt:
- Behält den Überblick über Projektentscheidungen, den Projektfortschritt und die Systemdesigns.
- Speichert benutzerdefinierte Projektdaten (wie Glossare oder Spezifikationen).
- Hilft der KI, relevante Projektinformationen schnell zu finden (wie eine intelligente Suche).
- Ermöglicht KI, den Projektkontext für bessere Antworten zu nutzen (RAG).
- Effizienter für die Verwaltung, Suche und Aktualisierung von Kontext im Vergleich zu einfachen, auf Textdateien basierenden Speicherbänken.
ConPort bietet KI-Assistenten eine robuste und strukturierte Möglichkeit, verschiedene Projektkontexte zu speichern, abzurufen und zu verwalten. Es erstellt effektiv einen projektspezifischen Wissensgraphen , der Entitäten wie Entscheidungen, Fortschritt und Architektur sowie deren Beziehungen erfasst. Diese strukturierte Wissensbasis, erweitert durch Vektoreinbettungen für die semantische Suche, dient dann als leistungsstarkes Backend für Retrieval Augmented Generation (RAG) und ermöglicht KI-Assistenten den Zugriff auf präzise, aktuelle Informationen für kontextbezogenere und präzisere Antworten.
Es ersetzt ältere dateibasierte Kontextverwaltungssysteme, indem es ein zuverlässigeres und abfragbareres Datenbank-Backend (SQLite pro Arbeitsbereich) bietet. ConPort ist als generisches Kontext-Backend konzipiert, das mit verschiedenen IDEs und Client-Schnittstellen kompatibel ist, die MCP unterstützen.
Zu den wichtigsten Funktionen gehören:
- Strukturierter Kontextspeicher mit SQLite (eine Datenbank pro Arbeitsbereich, automatisch erstellt).
- MCP-Server (
context_portal_mcp
), erstellt mit Python/FastAPI. - Eine umfassende Suite definierter MCP-Tools für die Interaktion (siehe „Verfügbare ConPort-Tools“ weiter unten).
- Unterstützung mehrerer Arbeitsbereiche über
workspace_id
. - Primärer Bereitstellungsmodus: STDIO für enge IDE-Integration.
- Ermöglicht den Aufbau eines dynamischen Projekt-Wissensgraphen mit expliziten Beziehungen zwischen Kontextelementen.
- Beinhaltet Vektordatenspeicherung und semantische Suchfunktionen zur Unterstützung erweiterter RAG.
- Dient als ideales Backend für Retrieval Augmented Generation (RAG) und stellt der KI einen präzisen, abfragbaren Projektspeicher zur Verfügung.
- Bietet strukturierten Kontext, den KI-Assistenten für schnelles Caching mit kompatiblen LLM-Anbietern nutzen können.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Folgendes installiert ist:
- Python: Version 3.8 oder höher wird empfohlen.
- Python herunterladen
- Stellen Sie sicher, dass Python während der Installation zum PATH Ihres Systems hinzugefügt wird (insbesondere unter Windows).
- uv: (Sehr empfehlenswert) Eine schnelle Python-Umgebung und ein Paketmanager. Die Verwendung von
uv
vereinfacht die Erstellung virtueller Umgebungen und die Installation von Abhängigkeiten erheblich.- UV installieren
- Wenn Sie
uv
nicht verwenden möchten, können Sie die Standard-Python-Programmevenv
undpip
verwenden, für dieses Projekt wird jedochuv
bevorzugt.
Installation über PyPI:
Erstellen und aktivieren Sie eine virtuelle Umgebung in dem Verzeichnis, in dem Sie Ihre MCP-Server installieren:
Verwendung von uv
(empfohlen):
Aktivieren Sie die Umgebung:
Linux/macOS (bash/zsh):
Windows (Eingabeaufforderung):
Windows (PowerShell):
(Wenn in PowerShell Probleme mit der Ausführungsrichtlinie auftreten, müssen Sie möglicherweise zuerst Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
ausführen.)
Standard- venv
verwenden (wenn kein uv
verwendet wird):
In Ihrem MCP-Serververzeichnis:
Die Aktivierungsbefehle sind dieselben wie oben für uv
.
Installieren Sie ConPort über PyPi:
Der PyPI-Installationsbefehl für context-portal-mcp mit uv lautet:
Wenn Sie Standard-PIP in einer virtuellen Umgebung verwenden, lautet der Befehl:
Konfiguration für die PyPI-Installation
Wenn Sie ConPort über PyPI ( pip install context-portal-mcp
) installiert haben, kann der ConPort-Server direkt mit dem Python-Interpreter in Ihrer virtuellen Umgebung gestartet werden. Diese Methode ist im Allgemeinen zuverlässiger, da sie explizit auf die ausführbare Datei verweist.
Wichtig: Sie MÜSSEN den Platzhalterpfad /home/USER/PATH/TO/.venv/bin/python
(oder C:\\Users\\USER\\PATH\\TO\\.venv\\Scripts\\python.exe
unter Windows) durch den absoluten Pfad zur ausführbaren Python-Datei in Ihrer spezifischen virtuellen ConPort-Umgebung ersetzen.
Linux/macOS-Beispiel:
Windows-Beispiel:
command
: Dies muss der absolute Pfad zur ausführbarenpython
(oderpython.exe
unter Windows) innerhalb der.venv
Ihrer ConPort-Installation sein.args
: Enthält die Argumente zum Ausführen des ConPort-Servermoduls (-m context_portal_mcp.main
) und die Argumente des Servers (--mode stdio --workspace_id "${workspaceFolder}"
).${workspaceFolder}
: Diese IDE-Variable wird verwendet, um automatisch den absoluten Pfad des aktuellen Projektarbeitsbereichs bereitzustellen.--log-file
: Optional: Pfad zu einer Datei, in die Serverprotokolle geschrieben werden. Falls nicht angegeben, werden die Protokolle anstderr
(Konsole) weitergeleitet. Nützlich für die dauerhafte Protokollierung und das Debuggen des Serververhaltens.--log-level
: Optional: Legt die minimale Protokollierungsstufe für den Server fest. Gültige Optionen sindDEBUG
,INFO
,WARNING
,ERROR
undCRITICAL
. Standardmäßig istINFO
eingestellt. Bei Einstellung aufDEBUG
erhalten Sie während der Entwicklung oder Fehlerbehebung ausführliche Ausgaben.
Bei der Installation über PyPI ist der Befehl conport-mcp
direkt im Pfad Ihrer virtuellen Umgebung verfügbar. Der Befehl zum Ausführen des Servers lässt sich folgendermaßen vereinfachen:
Installation aus dem Git-Repository
Diese Anleitung führt Sie durch die Einrichtung von ConPort, indem Sie das Git-Repository klonen und Abhängigkeiten installieren. Die Verwendung einer virtuellen Umgebung ist entscheidend.
- Klonen Sie das Repository: Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und führen Sie Folgendes aus:
- Erstellen und Aktivieren einer virtuellen Umgebung:
- Verwenden von
uv
(empfohlen): Imcontext-portal
:- Aktivieren Sie die Umgebung:
- Linux/macOS (bash/zsh):
- Windows (Eingabeaufforderung):
- Windows (PowerShell):(Wenn in PowerShell Probleme mit der Ausführungsrichtlinie auftreten, müssen Sie möglicherweise zuerst
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
ausführen.)
- Linux/macOS (bash/zsh):
- Aktivieren Sie die Umgebung:
- Verwenden von Standard-
venv
(wenn keinuv
verwendet wird): Imcontext-portal
:- Die Aktivierungsbefehle sind dieselben wie oben für
uv
.
- Die Aktivierungsbefehle sind dieselben wie oben für
- Verwenden von
- Abhängigkeiten installieren: Wenn Ihre virtuelle Umgebung aktiviert ist:
- Verwendung von
uv
(empfohlen):Hinweis:uv
kann die.venv
im aktuellen Verzeichnis häufig auch ohne explizite Aktivierung füruv pip install
erkennen und verwenden. Die Aktivierung ist jedoch weiterhin empfehlenswert, insbesondere wenn Sie Python-Skripte direkt ausführen möchten. - Standard-
pip
verwenden:
- Verwendung von
- Installation überprüfen (optional): Stellen Sie sicher, dass Ihre virtuelle Umgebung aktiviert ist.
- Verwenden von
uv
: - Standard
python
verwenden:bash python src/context_portal_mcp/main.py --help
Dies sollte die Befehlszeilenhilfe für den ConPort-Server ausgeben.
- Verwenden von
Empfohlene Konfiguration (direkter Python-Aufruf):
Diese Konfiguration ruft den Python-Interpreter direkt aus der virtuellen Umgebung des context-portal
auf. Dies ist eine zuverlässige Methode, die nicht davon abhängt, ob uv
der Befehl ist oder der Client ein cwd
-Feld für den Serverprozess unterstützt.
Wichtig:
- Sie MÜSSEN Platzhalterpfade durch die absoluten Pfade ersetzen, die dem Ort entsprechen, an dem Sie Ihr
context-portal
Repository geklont und eingerichtet haben. - Die Variable
"${workspaceFolder}"
für das Argument--workspace_id
ist ein allgemeiner IDE-Platzhalter, der zum absoluten Pfad Ihres aktuellen Projektarbeitsbereichs erweitert werden sollte.
Linux/macOS-Beispiel:
Stellen Sie sich vor, Ihr context-portal
Repository ist unter /home/youruser/mcp-servers/context-portal
geklont.
Windows-Beispiel:
Stellen Sie sich vor, Ihr context-portal
Repository ist unter C:\Users\YourUser\MCP-servers\context-portal
geklont. Beachten Sie die Verwendung von doppelten Backslashes \\
für Pfade in JSON-Strings.
command
: Dies muss der absolute Pfad zur ausführbarenpython
(oderpython.exe
unter Windows) innerhalb der.venv
Ihrercontext-portal
sein.- Erstes Argument in
args
: Dies muss der absolute Pfad zum Skriptmain.py
innerhalb Ihrercontext-portal
sein. --workspace_id "${workspaceFolder}"
: Dies teilt ConPort mit, welcher Projektkontext verwaltet werden soll.${workspaceFolder}
sollte von Ihrer IDE in den Stammpfad des aktuellen Projekts aufgelöst werden.--log-file
: Optional: Pfad zu einer Datei, in die Serverprotokolle geschrieben werden. Falls nicht angegeben, werden die Protokolle anstderr
(Konsole) weitergeleitet. Nützlich für die dauerhafte Protokollierung und das Debuggen des Serververhaltens.--log-level
: Optional: Legt die minimale Protokollierungsstufe für den Server fest. Gültige Optionen sindDEBUG
,INFO
,WARNING
,ERROR
undCRITICAL
. Standardmäßig istINFO
eingestellt. Bei Einstellung aufDEBUG
erhalten Sie während der Entwicklung oder Fehlerbehebung ausführliche Ausgaben.
Bei der Installation über ein geklontes Git-Repository erstellt und führt die IDE normalerweise einen Befehl ähnlich dem folgenden aus:
/path/to/your/context-portal/
ist der absolute Pfad, in den Sie das context-portal
Repository geklont haben. "/actual/path/to/your/project_workspace"
ist der absolute Pfad zum Stammverzeichnis des Projekts, dessen Kontext ConPort verwalten soll (z. B. ${workspaceFolder}
in VS Code). ConPort erstellt seine Datenbank automatisch unter your_project_workspace/context_portal/context.db
.
Zweck des Befehlszeilenarguments --workspace_id
:
Wenn Sie den ConPort-Server starten, insbesondere im STDIO-Modus ( --mode stdio
), dient das Argument --workspace_id
mehreren wichtigen Zwecken:
- Anfänglicher Serverkontext: Er stellt dem Serverprozess den absoluten Pfad zum Projektarbeitsbereich bereit, mit dem er anfänglich verknüpft werden soll.
- Kritische Sicherheitsüberprüfung: Im STDIO-Modus wird dieser Pfad für eine wichtige Überprüfung verwendet, die verhindert, dass der Server seine Datenbankdateien (
context.db
,conport_vector_data/
) versehentlich in seinem eigenen Installationsverzeichnis erstellt. Dies schützt vor Fehlkonfigurationen, bei denen der Client den Arbeitsbereichspfad möglicherweise nicht korrekt angibt. - Client-Startsignal: Dies ist die Standardmethode für einen MCP-Client (wie eine IDE-Erweiterung), dem Server zu signalisieren, für welches Projekt er gestartet wird.
Wichtiger Hinweis: Die beim Serverstart angegebene --workspace_id
wird nicht automatisch als workspace_id
-Parameter für jeden nachfolgenden MCP-Tool-Aufruf verwendet. ConPort-Tools sind so konzipiert, dass sie den workspace_id
Parameter bei jedem Aufruf explizit benötigen (z. B. get_product_context({"workspace_id": "..."})
). Dieses Design unterstützt die Möglichkeit, dass eine einzelne Serverinstanz mehrere Arbeitsbereiche verwaltet, und sorgt für Übersichtlichkeit bei jedem Vorgang. Ihre Client-IDE/Ihr MCP-Client ist dafür verantwortlich, bei jedem Tool-Aufruf die korrekte workspace_id
anzugeben.
Wichtigste Erkenntnis: ConPort ist zur Identifizierung des Zielprojekts unbedingt auf eine korrekte --workspace_id
angewiesen. Stellen Sie sicher, dass dieses Argument korrekt in den absoluten Pfad Ihres Projektarbeitsbereichs aufgelöst wird, entweder durch IDE-Variablen wie ${workspaceFolder}
oder durch Angabe eines direkten absoluten Pfads.
Python-Bytecode-Cache löschen
Nach der Aktualisierung oder Neuinstallation von ConPort kann es aufgrund veralteter Python-Bytecode-Dateien ( .pyc
), die in __pycache__
Verzeichnissen gespeichert sind, zu unerwartetem Verhalten oder Fehlern kommen. Das Leeren dieses Caches kann solche Probleme beheben.
Sie können den Befehl find
auf Unix-ähnlichen Systemen (Linux, macOS, WSL) verwenden, um diese Dateien und Verzeichnisse zu suchen und zu entfernen.
- Entfernen Sie
__pycache__
Verzeichnisse: - Entfernen Sie
.pyc
-Dateien:
Wo diese Befehle ausgeführt werden:
Das Verzeichnis, in dem Sie diese Befehle ausführen sollten, hängt davon ab, wie Sie ConPort installiert haben:
- Bei Installation aus dem Git-Repository: Führen Sie diese Befehle aus dem Stammverzeichnis Ihres geklonten
context-portal
-Repositorys aus. - Bei Installation über PyPI: Führen Sie diese Befehle aus dem Verzeichnis „site-packages“ der Python-Umgebung aus, in der ConPort installiert ist (z. B. aus dem Stammverzeichnis von
lib/pythonX.Y/site-packages/
Ihrer virtuellen Umgebung). - Beim Ausführen vom Docker-Image: Normalerweise führen Sie diese Befehle innerhalb des laufenden Docker-Containers mit
docker exec <container_id> <command>
aus.
Verwendung mit LLM-Agenten (Benutzerdefinierte Anweisungen)
Die Effektivität von ConPort mit LLM-Agenten wird durch die Bereitstellung spezifischer Anweisungen oder Systemaufforderungen für den LLM deutlich verbessert. Dieses Repository enthält maßgeschneiderte Strategiedateien für verschiedene Umgebungen:
- Für Roo Code:
roo_code_conport_strategy
: Enthält detaillierte Anweisungen für LLMs, die innerhalb der Roo Code VS Code-Erweiterung arbeiten, und erklärt ihnen, wie sie ConPort-Tools für die Kontextverwaltung verwenden.
- Für CLine:
cline_conport_strategy
: Enthält detaillierte Anweisungen für LLMs, die innerhalb der Cline VS Code-Erweiterung ausgeführt werden, und erklärt ihnen, wie sie ConPort-Tools für die Kontextverwaltung verwenden.
- Für Windsurf Cascade:
cascade_conport_strategy
: Spezifische Anleitung für LLMs, die in die Windsurf Cascade-Umgebung integriert sind. Wichtig : Beim Starten einer Sitzung in Cascade muss dem LLM explizit Folgendes mitgeteilt werden:
- Für die allgemeine/plattformunabhängige Verwendung:
generic_conport_strategy
: Bietet einen plattformunabhängigen Satz von Anweisungen für jedes MCP-fähige LLM. Der Schwerpunkt liegt auf der Verwendung der ConPort-Operationget_conport_schema
, um die genauen ConPort-Toolnamen und deren Parameter dynamisch zu ermitteln. Dadurch wird das LLM angewiesen, wann und warum konzeptionelle Interaktionen (wie das Protokollieren einer Entscheidung oder das Aktualisieren des Produktkontexts) durchgeführt werden sollen, anstatt spezifische Tool-Aufrufdetails fest zu codieren.
So verwenden Sie diese Strategiedateien:
- Identifizieren Sie die für die Umgebung Ihres LLM-Agenten relevante Strategiedatei.
- Kopieren Sie den gesamten Inhalt dieser Datei.
- Fügen Sie es in die benutzerdefinierten Anweisungen oder den Systemeingabeaufforderungsbereich Ihres LLM ein. Die Methode variiert je nach LLM-Plattform (IDE-Erweiterungseinstellungen, Web-UI, API-Konfiguration).
Diese Anweisungen vermitteln dem LLM das Wissen, um:
- Kontext von ConPort initialisieren und laden.
- Aktualisieren Sie ConPort mit neuen Informationen (Entscheidungen, Fortschritt usw.).
- Verwalten Sie benutzerdefinierte Daten und Beziehungen.
- Verstehen Sie die Bedeutung der
workspace_id
. Wichtiger Tipp zum Starten von Sitzungen: Um sicherzustellen, dass der LLM-Agent den Kontext korrekt initialisiert und lädt, insbesondere in Schnittstellen, die sich nicht immer strikt an die benutzerdefinierten Anweisungen der ersten Nachricht halten, empfiehlt es sich, die Interaktion mit einer klaren Anweisung wie „Initialize according to custom instructions.
Dies kann dazu beitragen, dass der Agent seine ConPort-Initialisierungssequenz gemäß seiner Strategiedatei ausführt.
Erste ConPort-Nutzung in einem Arbeitsbereich
Wenn Sie ConPort zum ersten Mal in einem neuen oder bestehenden Projektarbeitsbereich verwenden, wird die ConPort-Datenbank ( context_portal/context.db
) automatisch vom Server erstellt, falls sie noch nicht vorhanden ist. Um den initialen Projektkontext, insbesondere den Produktkontext , zu erstellen, beachten Sie Folgendes:
Verwenden einer projectBrief.md
Datei (empfohlen)
- Erstellen Sie
projectBrief.md
: Erstellen Sie im Stammverzeichnis Ihres Projektarbeitsbereichs eine Datei mit dem NamenprojectBrief.md
. - Inhalt hinzufügen: Füllen Sie diese Datei mit einer allgemeinen Übersicht über Ihr Projekt. Dies könnte Folgendes beinhalten:
- Das Hauptziel oder der Hauptzweck des Projekts.
- Hauptfunktionen oder Komponenten.
- Zielgruppe oder Benutzer.
- Allgemeiner Architekturstil oder Schlüsseltechnologien (sofern bekannt).
- Alle anderen grundlegenden Informationen, die das Projekt definieren.
- Automatische Eingabeaufforderung zum Importieren: Wenn ein LLM-Agent, der einen der bereitgestellten benutzerdefinierten ConPort-Befehlssätze (z. B.
roo_code_conport_strategy
) verwendet, im Arbeitsbereich initialisiert wird, ist er für Folgendes ausgelegt:- Überprüfen Sie, ob
projectBrief.md
vorhanden ist. - Wenn die Datei gefunden wird, wird sie gelesen und Sie werden gefragt, ob Sie ihren Inhalt in den ConPort- Produktkontext importieren möchten.
- Wenn Sie zustimmen, wird der Inhalt zu ConPort hinzugefügt und bietet eine sofortige Grundlage für den Produktkontext des Projekts.
- Überprüfen Sie, ob
Manuelle Initialisierung
Wenn projectBrief.md
nicht gefunden wird oder Sie es nicht importieren möchten:
- Der LLM-Agent (geleitet durch seine benutzerdefinierten Anweisungen) informiert Sie normalerweise darüber, dass der ConPort-Produktkontext nicht initialisiert zu sein scheint.
- Es bietet Ihnen möglicherweise Hilfe bei der manuellen Definition des Produktkontexts an, möglicherweise durch Auflisten anderer Dateien in Ihrem Arbeitsbereich, um relevante Informationen zu sammeln.
Indem Sie den anfänglichen Kontext entweder über projectBrief.md
oder durch manuelle Eingabe bereitstellen, ermöglichen Sie ConPort und dem verbundenen LLM-Agenten von Anfang an ein besseres grundlegendes Verständnis Ihres Projekts.
Verfügbare ConPort-Tools
Der ConPort-Server stellt über MCP die folgenden Tools bereit, die die Interaktion mit dem zugrunde liegenden Wissensgraphen des Projekts ermöglichen. Dazu gehören Tools für die semantische Suche auf Basis von Vektordatenspeicherung . Diese Tools unterstützen den Retrieval- Aspekt, der für die erweiterte Generierung (RAG) durch KI-Agenten entscheidend ist. Alle Tools benötigen ein workspace_id
Argument (String, erforderlich), um den Zielprojekt-Arbeitsbereich anzugeben.
- Produktkontextmanagement:
get_product_context
: Ruft die allgemeinen Projektziele, Funktionen und Architektur ab.update_product_context
: Aktualisiert den Produktkontext. Akzeptiert den vollständigencontent
(Objekt) oderpatch_content
(Objekt) für Teilaktualisierungen (verwenden Sie__DELETE__
als Wert im Patch, um einen Schlüssel zu entfernen).
- Aktives Kontextmanagement:
get_active_context
: Ruft den aktuellen Arbeitsfokus, die letzten Änderungen und offene Probleme ab.update_active_context
: Aktualisiert den aktiven Kontext. Akzeptiert den vollständigencontent
(Objekt) oderpatch_content
(Objekt) für Teilaktualisierungen (verwenden Sie__DELETE__
als Wert im Patch, um einen Schlüssel zu entfernen).
- Entscheidungsprotokollierung:
log_decision
: Protokolliert eine Architektur- oder Implementierungsentscheidung.- Argumente:
summary
(str, req),rationale
(str, opt),implementation_details
(str, opt),tags
(Liste[str], opt).
- Argumente:
get_decisions
: Ruft protokollierte Entscheidungen ab.- Argumente:
limit
(int, opt),tags_filter_include_all
(Liste[str], opt),tags_filter_include_any
(Liste[str], opt).
- Argumente:
search_decisions_fts
: Volltextsuche in allen Entscheidungsfeldern (Zusammenfassung, Begründung, Details, Tags).- Argumente:
query_term
(str, req),limit
(int, opt).
- Argumente:
delete_decision_by_id
: Löscht eine Entscheidung anhand ihrer ID.- Argumente:
decision_id
(int, req).
- Argumente:
- Fortschrittsverfolgung:
log_progress
: Protokolliert einen Fortschrittseintrag oder Aufgabenstatus.- Argumente:
status
(Str, Req),description
(Str, Req),parent_id
(Int, Opt),linked_item_type
(Str, Opt),linked_item_id
(Str, Opt).
- Argumente:
get_progress
: Ruft Fortschrittseinträge ab.- Argumente:
status_filter
(str, opt),parent_id_filter
(int, opt),limit
(int, opt).
- Argumente:
update_progress
: Aktualisiert einen vorhandenen Fortschrittseintrag.- Argumente:
progress_id
(int, req),status
(str, opt),description
(str, opt),parent_id
(int, opt).
- Argumente:
delete_progress_by_id
: Löscht einen Fortschrittseintrag anhand seiner ID.- Argumente:
progress_id
(int, req).
- Argumente:
- Systemmusterverwaltung:
log_system_pattern
: Protokolliert oder aktualisiert ein System-/Codierungsmuster.- Argumente:
name
(str, req),description
(str, opt),tags
(Liste[str], opt).
- Argumente:
get_system_patterns
: Ruft Systemmuster ab.- Argumente:
tags_filter_include_all
(Liste[str], opt),tags_filter_include_any
(Liste[str], opt).
- Argumente:
delete_system_pattern_by_id
: Löscht ein Systemmuster anhand seiner ID.- Argumente:
pattern_id
(int, req).
- Argumente:
- Benutzerdefiniertes Datenmanagement:
log_custom_data
: Speichert/aktualisiert einen benutzerdefinierten Schlüsselwerteintrag unter einer Kategorie. Der Wert ist JSON-serialisierbar.- Argumente:
category
(str, req),key
(str, req),value
(any, req).
- Argumente:
get_custom_data
: Ruft benutzerdefinierte Daten ab.- Argumente:
category
(str, opt),key
(str, opt).
- Argumente:
delete_custom_data
: Löscht einen bestimmten benutzerdefinierten Dateneintrag.- Argumente:
category
(str, req),key
(str, req).
- Argumente:
search_project_glossary_fts
: Volltextsuche innerhalb der benutzerdefinierten Datenkategorie „ProjectGlossary“.- Argumente:
query_term
(str, req),limit
(int, opt).
- Argumente:
search_custom_data_value_fts
: Volltextsuche über alle benutzerdefinierten Datenwerte, Kategorien und Schlüssel.- Argumente:
query_term
(Str, Erf),category_filter
(Str, Opt),limit
(Int, Opt).
- Argumente:
- Kontextverknüpfung:
link_conport_items
: Erstellt einen Beziehungslink zwischen zwei ConPort-Elementen und baut so explizit den Wissensgraphen des Projekts auf.- Argumente:
source_item_type
(Str, Req),source_item_id
(Str, Req),target_item_type
(Str, Req),target_item_id
(Str, Req),relationship_type
(Str, Req),description
(Str, Opt).
- Argumente:
get_linked_items
: Ruft Elemente ab, die mit einem bestimmten Element verknüpft sind.- Argumente:
item_type
(str, req),item_id
(str, req),relationship_type_filter
(str, opt),linked_item_type_filter
(str, opt),limit
(int, opt).
- Argumente:
- Verlauf und Metatools:
get_item_history
: Ruft den Versionsverlauf für das Produkt oder den aktiven Kontext ab.- Argumente:
item_type
("product_context" | "active_context", req),version
(int, opt),before_timestamp
(datetime, opt),after_timestamp
(datetime, opt),limit
(int, opt).
- Argumente:
get_recent_activity_summary
: Bietet eine Zusammenfassung der letzten ConPort-Aktivitäten.- Argumente:
hours_ago
(int, opt),since_timestamp
(Datum/Uhrzeit, opt),limit_per_type
(int, opt, Standard: 5).
- Argumente:
get_conport_schema
: Ruft das Schema der verfügbaren ConPort-Tools und ihrer Argumente ab.
- Import/Export:
export_conport_to_markdown
: Exportiert ConPort-Daten in Markdown-Dateien.- Argumente:
output_path
(str, opt, Standard: "./conport_export/").
- Argumente:
import_markdown_to_conport
: Importiert Daten aus Markdown-Dateien in ConPort.- Argumente:
input_path
(str, opt, Standard: "./conport_export/").
- Argumente:
- Stapelverarbeitung:
batch_log_items
: Protokolliert mehrere Elemente desselben Typs (z. B. Entscheidungen, Fortschrittseinträge) in einem einzigen Aufruf.- Argumente:
item_type
(str, req – z. B. „Entscheidung“, „Fortschrittseintrag“),items
(Liste[Wörterbuch], req – Liste der Pydantic-Modellwörterbücher für den Elementtyp).
- Argumente:
Prompte Caching-Strategie
ConPort kann verwendet werden, um strukturierten Kontext (einschließlich Vektordaten für die semantische Suche) bereitzustellen, den KI-Assistenten für das Prompt-Caching mit kompatiblen LLM-Anbietern (wie Google Gemini, Anthropic Claude und OpenAI) nutzen können. Prompt-Caching reduziert Token-Kosten und Latenz durch die Wiederverwendung häufig verwendeter Teile von Prompts.
Dieses Repository enthält eine detaillierte Strategiedatei ( context_portal/prompt_caching_strategy.yml
), die definiert, wie ein LLM-Assistent zwischenspeicherbare Inhalte von ConPort identifizieren und Eingabeaufforderungen für verschiedene Anbieter strukturieren soll.
Zu den wichtigsten Aspekten der Strategie gehören:
- Identifizieren von zwischenspeicherbarem Inhalt: Priorisieren Sie großen, stabilen Kontext wie Produktkontext, detaillierte Systemmuster oder bestimmte benutzerdefinierte Dateneinträge (insbesondere solche, die mit den Metadaten „
cache_hint: true
gekennzeichnet sind). - Anbieterspezifische Interaktion:
- Implizites Caching (Gemini, OpenAI): Strukturieren Sie Eingabeaufforderungen, indem Sie zwischenspeicherbaren ConPort-Inhalt ganz am Anfang der Eingabeaufforderung platzieren. Der LLM-Anbieter übernimmt das Caching automatisch.
- Explizites Caching (Anthropic): Fügen Sie innerhalb der Prompt-Nutzlast einen
cache_control
Haltepunkt nach dem zwischenspeicherbaren ConPort-Inhalt ein.
- Benutzerhinweise: Die benutzerdefinierten Daten von ConPort können Metadaten wie
cache_hint: true
enthalten, um den LLM-Assistenten explizit bei der Inhaltspriorisierung für das Caching anzuleiten. - Benachrichtigung des LLM-Assistenten: Der LLM-Assistent wird angewiesen, den Benutzer zu benachrichtigen, wenn er eine Eingabeaufforderung für ein mögliches Caching strukturiert (z. B.
[INFO: Structuring prompt for caching]
).
Indem Sie ConPort zur Verwaltung des Wissens Ihres Projekts verwenden und dem LLM-Assistenten diese schnelle Caching-Strategie zur Verfügung stellen, können Sie die Effizienz und Kosteneffizienz Ihrer KI-Interaktionen verbessern.
Weitere Informationen
Um ein tieferes Verständnis des Designs, der Architektur und der erweiterten Nutzungsmuster von ConPort zu erhalten, lesen Sie bitte:
Beitragen
Details zur Mitarbeit im ConPort-Projekt werden hier zukünftig ergänzt.
Lizenz
Dieses Projekt ist unter der Apache-2.0-Lizenz lizenziert.
This server cannot be installed
Kontextportal
- (Es ist eine Erinnerungsbank!)
- Was ist der Context Portal MCP-Server (ConPort)?
- Voraussetzungen
- Installation aus dem Git-Repository
- Python-Bytecode-Cache löschen
- Verwendung mit LLM-Agenten (Benutzerdefinierte Anweisungen)
- Erste ConPort-Nutzung in einem Arbeitsbereich
- Verfügbare ConPort-Tools
- Prompte Caching-Strategie
- Weitere Informationen
- Beitragen
- Lizenz
Related MCP Servers
- AsecurityFlicenseAqualityProvides sophisticated context management for Claude, enabling persistent context across sessions, project-specific organization, and conversation continuity.Last updated -41JavaScript
- -security-license-qualityA Model Context Protocol server that integrates ClickFunnels with Claude Desktop, allowing users to list and retrieve funnels and contacts from their ClickFunnels account through natural language.Last updated -TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants like Claude to access and search Atlassian Confluence content, allowing integration with your organization's knowledge base.Last updated -51,0717TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Confluence content, supporting operations like retrieving, searching, creating, and updating pages and spaces.Last updated -93TypeScriptMIT License