TestGraph
TestGraph
Experimenteller KI-nativer Erfahrungsgraph für geteiltes, überprüfbares Gedächtnis über KI-Assistenten hinweg.
Status: working vorab release research system. Die Architektur und die MCP-Workflows wurden mit mehreren KI-Clients erprobt, aber das Projekt wird noch nicht als stabiler Produktionsdienst oder API bereitgestellt.
TestGraph speichert menschliche Bewertungen und KI-abweichende Strukturen als dauerhaftes Graphwissen, während Beweise, Quelle und serverseitig überprüfbarer Ablauf getrennt von den Modellannahmen gehalten werden. Es ist so konzipiert, dass verschiedene KI-Systeme zum gleichen Wissen beitragen und es wiederverwenden können, ohne dass vorab ein vollständiges Domänschema erforderlich ist.
Projektziele
Schema-Entstehung: Geben Sie mehreren KIs unerfahrene Erfahrungen und erhalten Sie eine nützliche Struktur, ohne die Kategorien vorher zu entwerfen.
Gesteuerte Diskrepanz: Konkfliktierende Klassifikationen konvergieren durch die Analyse von Beweisen und durch Server-Steuerung, anstatt Hin-und-Her zu wechseln.
Wahrheitsgetreue Ausführung: Modelle können nicht behaupten, dass Discovery, Anreicherung oder Abgleich stattgefunden haben, wenn der Server es nicht bestätigen kann.
Übergeordnete Wie: TestGraph nutzt die aufrufende KI bewusst als seine semantische und Entdeckungs-Engine. Die KI soll ihre verfügbaren Denk-, Abruf- und Werkzeugfähigkeiten auf unbesprochene Themen anwenden, Strukturen und Beziehungen ableiten und Beweise harmonisieren, ohne dass TestGraph die domänspezifische Form vorgibt. TestGraph stellt die stabilen Graph-Präprodukte, Persistenz und Serversseitige Verifizierung; Eine aufrufende KI trägt die offene Intelligenz.
Diese Ziele sind Abnahme-Kriterien für TestGraph’s Architektur und die zugrundeliegende Architektur, nicht weniger instruction für einzelne KI-Clients.
Related MCP server: Graph-Mem MCP
Standard-Wörterbuchmodell
Reviews werden gegen stabile IDs gespeichert, nicht gegen D verpasste Standort-Pfade. Flexible Eingabe wird über mehrere Standard-Typen und globale Aliase identischen; Schreibweise, Satzzeichen, Besitzform und normale Pluralformen werden automatisch normalisiert. Unbekannte können Typen nach einer Zuführung von Wörterbuch-Kandidaten erstellt werden.
Klassifizierung ist eigene Metadaten. z.,
ferrygehört zutransportation, ergibt ein kombinierbares Filtersystem für typisierte Reviews, behindert aber nicht den Bereich, in wuw ein ERP-Typ gespeichert wird.reviewist der Rekordtyp, kein Vokabular-Knoten. Wiederverwendbare Strukturwerte haben eigene IDs und Aliase und sind an mehreren Subjekttypen anbringbar.Migration
0009_flat_standard_vocabularyverwirft bewusst die alten v2-Konzept-/Review-Daten, erhält aber Benutzer, OAuth-Zustand, Fähigkeiten-Schlüssel und die benutzereigene Zugangsdaten unbeeinflusst.
Lokales Setup
Python 3.11+ Virtualenv erstellen.
Dependencies installieren.
pip install -r requirements.txt.env.examplenach.envkopieren und jeden Platzhalter-Secret-Wertpunkte A ersetzen.Migrationen anwenden.
alembic upgrade headSchemas und Demozugänge bereitstellen.
python -m scripts.seedAnwendungsstart.
python run.pyÖffnen Sie http://127.0.0.1:8000 und http://127.0.0.1:8000/docs.
Duplikate von Beispiel-, Entwicklungs- und System-Zugangs zum ersten Mal mit anderen Zielgerichts. Als – TOKEN, API-Keys, OAuth-Verbindungscodes und Owner-Kennungen dürfen nie ins Git-Repository festgelegt werden.
MCP und OAuth
TestGraph beinhaltet derzeit eine Tool-MCP-App. Der Multi-Modell-Integrationsfluss wird über /mcp-v2 ausgeführt. Die Produktionsverbindung verwendet OAuth 2.1 Authorization Code + PKCE. Ein verbundener KI erhält ein kurzlebiges Token mit definierten Berechtigungen; er bekommt keine Verbindungscodes, API-Key oder TestGraph-Owner-Id.
Die MCP-Oberfläche enthält der Mitgliedsfunktionen Suchen/Abrufen/Speichern für Reviews und die neueren Graph-/Verarbeitungsfunktionen für Multi-Modell-Experimente. Die bereitgestellte MCP-Schema ist der Maßstab, sie ist permanent unvoll.
Vor einer Produktion werden Sie eine lange variable OAUTH_CONNECTION_CODESetzen Sie den korrekten OAUTH_OWNER_USER_ID und vermeiden Sie, dass die Produktions-Secrets nur in dem Umgebung bleiben.
Import der Verweil-UCI-Rezept Reviews
Nach der Migration und dem Aufruf python -m scripts.seed führen Sie folgenden Check durch:
python -m scripts.import_uci_recipe_reviews --representative-reviews 100 --loadDieses lädt den CC BY 4.0 UCI-Datensatz herunter und sucht aus jedem der 100 Rezepte eine dichte Rezension aus. Es schreibt die konvertierten Daten nach data/uci_recipe_reviews_100.json und setzt sie in der DB. Der Start ist gefahrlos: Bereits vorhandene Ids verhindern Duplikate.
Der Review-Text selbst, 0-5-Sterne-Wertung, Zeitstempel, Votes, Quellen-Id, Lizenz und Attribution werden in Provenance-Einträgen abgelegt. Der Import beinhaltet Auswertung von Aussagen zu Geschmack, Rezeptionsniveau, Timing, Zutatenverfügbarkeit, Schwierigkeit, Wiederholbarkeit und Modifikationen. Jede Zeile hat eine zugehörige Quelle; Unbelegtes bleibt darauf null.
Um die bereits vorhandene ohne zusätzlichen Netzwerkrundruf zu verwenden:
python -m scripts.import_uci_recipe_reviews --load-bundle data/uci_recipe_reviews_100.jsonEntwicklung-Version Löschung
Eine Implementierungs-Lösch-Seite ist verfügbar unter /devdemo/reset. Sie ist geschützt und klein; bei Aufruf wird nur unter injektiver Freischaltung eine Anfrage akzeptiert.
ENABLE_DEVELOPMENT_RESET=trueDie Seite löscht alle v1-v2-Kennwerte und Wissensdaten zurück, während Benutzerdaten, OAuth - komplexes Verknüpfungen und Capability-Schlüssel beibehalten werden. Diese Seite muss in einer normalen Bereitstellung für die Production die Empfehlung nicht aktiv sein.
Tests
pytest -qEin Fortschritt darf nur ausgeliefert werden, wenn die gesamte Testsuite für den Release-Stand läuft und der Release-Check RELEASE_CHECKLIST.md zufriedenstellend bestanden ist.
Railway- Deploy
Das Git-Repository an GitHub pushen.
Railway-Projekt aus dem GitHub-Repo erstellen.
PostgreSQL hinzufügen.
Dafür die
DATABASE_URLdes Postgres-Dienstes angeben; keine entwickelte URL als String verwenden.Product. Variablen mit eindeutigen zufälligen Tokens:
ENVIRONMENT=production
APP_SECRET=<random secret>
DEVELOPMENT_API_KEY=<long random key; development/admin use only>
CLIENT_API_KEYS={}
OAUTH_OWNER_USER_ID=<owner UUID>
OAUTH_CONNECTION_CODE=<long random connection code>
PUBLIC_BASE_URL=https://<your-domain>
ALLOWED_HOSTS=["<your-domain>","<railway-domain>"]
CORS_ORIGINS=["https://<your-domain>"]
ENABLE_DEVELOPMENT_RESET=falserailway.json steuert Migrationen vor Deploy, Uvicorn start using Railway's $PORT, und den Start Gesundheitsstatus unter /health/ready.
Die app wandelt Railway's postgresql:// in SQLAlchemy's postgresql+psycopg:// um, weil sie die Psycopg 3 collection. In einer Produktion mit nicht resolberner Datenbank wird der Prozess gestoppt, und nicht unaufgefordet Fallback zu SQLite.
Umsetzung Architektur
Kurzangezüge GPT Exception. SampleMereIt may be.
Calling-AIwird als eigener semantischer- und Entdecken-Engine mit Server-Verifizierung und der Persistenz-Server betriebenFest definierte flache Subjekt-ID
Einheitliche Benennung und Alias–Geltung
Semantisch anstatt linearer Storage-Beziehungen
Versionsk ан style Schema-registry
mDB-Independent Py-Validation (JSON/JSONB)
Berechtigungsfluss mit Versionsnummer
Begrenzte Client Priviligen
Zentral festgelegte Lesebedingungen
Korrekte Auflösung von Metabereichen
OAuth 2.1 Authorization Code + PKCE, Dynamic Client Provisioning, Token-Rotation und Scope-Level-API-Zugriff
Ein MCP-Endpunkt für autorisierte KI-Anbindung
Idempotent – Zustandsbeleg ohne Seiteneffekte
Provenance+, Konsentum, Owner und Sichtbarkeit
Reviewer/Reader-Relankspairing und spezifische Relevanzscore
Audit-Log und Soft-Delete
Request-IDs, konsistente JSON-Fehler, Request-Anzahl-Begrenzung und paginations-fähige Serveranbindung
Alembic-Migrationen
SQLite lokal, PostgreSQL in Production
Cross-Model-Abgleich
Verhaltensregeln für sichere Aufrufe und Bearbeitung
Public Listen zeigen nur Folk-Live- und öffentliche Einträge.
exact IDskönnen auch eine öffentlicheunlisted-Ressource abrufen.Drafts und private Communityseiten erfordern entsprechende Sichtbarkeitsgrade.
Aggregierte Videos id werden nie reducir.
Vor Submit müssen mügliche Objekte korrekt aufgelöst sein.
Protective Versioning durch Algorithmen.
Optionale Client-Credentials müssen den Zustand zu vermeiden und die Grenzen überwachen.
Lizenz
TestGraph ist unter der GNU Affero General Public License v3.0 (AGPL-3.0) freigegeben. Siehe LICENSE.
AGPL-3.0 erlaubt Nutzung, Bearbeitung und Verteilung gemessen unter den Abschnitten, beinhaltet die Server-Source-Lesen bei solchen weitergegebenen Versionen.
VerGewisse Aspekteund. Für alternative Kommerzielle License-Modelle gibt es duke.
Derbei testgraph@mail`, firmiert Chat: Alternatives Gatlin, verweisenções أم er.
Anbit informieren. Alle Angaben-Parks, siehe CONTRIBUTING.md.
Befor you make public
Prior to any public release, use handouts RELEASE_CHECKLIST.md dan SECURITY.md. Besonders safe: GeksCheck, InnenCheck, public Mausfall, alle Testnr at, release and instantiation zwecks „er ka“ mit Datei. Check expected launch version.
Before making the repository public
Führen Sie RELEASE_CHECKLIST.md und SECURITY.md aus, insbesondere die investigation of old Secrets ,(Clearly see all files with Secret-Editor)**, confirm non-check electron quiet*. Run image: run the whole check.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA graph-based MCP server that provides AI coding agents with persistent memory to store patterns, track complex relationships, and retrieve knowledge across sessions. It leverages graph structures to handle temporal queries and relational paths that traditional vector stores often miss.234MIT
- AlicenseNot gradedqualityAmaintenanceA universal MCP server providing persistent, structured memory through a knowledge graph with graph storage, semantic vector search, and multi-hop traversal for AI agents and IDEs.1MIT
- AlicenseNot gradedqualityAmaintenanceMCP server providing persistent AI memory with four-tier retrieval (SQLite FTS5, graph, vector, LLM agent) to give AI assistants structured, long-term memory without RAG.1Apache 2.0
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BBCBasic/TestGraph'
If you have feedback or need assistance with the MCP directory API, please join our Discord server