genesis-ai-bridge
Allows using local Ollama models as an analysis provider for reviewing files and archives and generating correction suggestions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@genesis-ai-bridgeAnalyze this ZIP file and propose corrections."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Genesis AI Bridge
Für den normalen Betrieb: ein Klick
Doppelklick auf
START_HIER.bat.Im Browser eine Datei, ein ZIP, mehrere Dateien oder einen Ordner auswählen.
Aufgabe eingeben und Prüfung starten drücken.
Für eine Korrektur zeigt die Oberfläche danach zuerst nur einen Korrekturvorschlag. Erst nach der ausdrücklichen Bestätigung wird ein neuer Ordner erzeugt. Originaldateien werden nie überschrieben.
Related MCP server: Secure Code Review MCP Server
Was geprüft wird
einzelne Dateien;
ZIP-Dateien mit allen enthaltenen Dateien;
verschachtelte ZIP-/JAR-/WHL-/APK-/IPA-Archive bis zur konfigurierten Tiefe;
übergeordnete Verzeichnisse rekursiv mit Unterordnern;
mehrere Upload-Dateien und Browser-Ordnerauswahl.
Jeder Bundle-Eintrag erhält einen SHA-256-Hash, MIME-/Textmetadaten und einen eigenen Eintrag im Bericht. ZIP-Einträge werden nicht blind extrahiert: absolute Pfade, Windows-Laufwerkspfade, ..-Traversal und Symlinks werden abgewiesen oder übersprungen. Größen-, Eintrags- und Archiv-Tiefenlimits schützen vor übergroßen Bundles und Archivbomben.
Korrekturablauf
Prüfen: Die ausgewählten Bytes werden analysiert; noch keine Datei wird verändert.
Vorschlag anzeigen: Die Bridge erstellt aus den vorhandenen Provider-Analysen ein JSON-validiertes, auf bestehende Bundle-Pfade begrenztes Änderungsangebot.
Ausdrücklich bestätigen: Nur der Bestätigungsbutton wendet sichere
replace-Änderungen an.Neuen Ordner prüfen: Der Zielpfad wird zurückgegeben und zusätzlich in
Korrekturplan.jsondokumentiert.
Bei einem echten lokalen Quellpfad, der in der Oberfläche optional eingetragen werden kann, liegt das Ergebnis neben der Quelle:
<Quellverzeichnis>/
├─ Originale ...
└─ Korrekturen/
└─ <Programmbezeichnung>/
└─ <Zeitstempel>/
├─ relative/Ordnerstruktur/...
└─ Korrekturplan.jsonBei einer lokalen ZIP-Quelle wird zusätzlich <name>.korrigiert.zip erzeugt. Bei verschachtelten ZIP-Einträgen werden die inneren Archive beim Schreiben rekursiv neu aufgebaut.
Ein Browser übermittelt normalerweise keinen absoluten lokalen Pfad. Wenn nur Browser-Dateien hochgeladen werden, meldet die Bridge das transparent und verwendet standardmäßig einen externen Zielbereich unter dem Bridge-Datenordner:
<Bridge-Datenordner>/Korrekturen/<Programmbezeichnung>/<Zeitstempel>/Das ist absichtlich kein Anspruch, neben einer unbekannten Browser-Quelle geschrieben zu haben. Für echte Korrekturen neben der Quelle muss der lokale Pfad auf dem Rechner des laufenden Bridge-Servers zugänglich sein.
Provider und Betriebsarten
Die Bridge unterstützt Ollama, optional OpenClaw und optional die Anthropic API. OpenClaw und Claude Desktop/Claude Code werden nicht als dasselbe Ziel behandelt. OpenClaw wird nur verwendet, wenn der Befehl gefunden wurde; ein Anthropic-Schlüssel wird ausschließlich aus der konfigurierten Umgebungsvariable gelesen.
Lokale UI: die einfache Standardbedienung über
START_HIER.bat.Claude Desktop als MCP-Host: die Bridge stellt einen lokalen stdio-MCP-Server bereit; es wird keine Chat-GUI ferngesteuert.
OpenClaw als MCP-Host: optionale dokumentierte OpenClaw-CLI/MCP-Konfiguration; rekursive Rückrufe werden blockiert.
CLI/MCP: für Diagnose, Automatisierung und Integrationsprüfungen.
Die Weboberfläche bindet nur an Loopback. Für normale Nutzung sind keine PowerShell-Befehle nötig. Die folgenden Befehle sind nur für Diagnose/Entwicklung:
py -3 .\scripts\genesis-bridge.py doctor
py -3 .\scripts\genesis-bridge.py verify-loop --rounds 5
py -3 .\scripts\genesis-bridge.py web --host 127.0.0.1 --port 8787Dateifluss
Datei / ZIP / Verzeichnis / Upload-Auswahl
↓
Sicheres Bundle-Manifests + Größen-/Pfad-/Symlink-Prüfung
↓
Einzelanalyse je enthaltenem Eintrag
↓
Ollama ───────────────┐
OpenClaw oder Claude ─┼─ getrennte Analysen, keine erfundenen Tests
Anthropic optional ───┘
↓
Bericht + optionaler KorrekturVORSCHLAG
↓ ausdrückliche Bestätigung
neuer Korrekturordner, nie OriginaleTextdateien werden bei großen Inhalten in Abschnitte geteilt. Wenn das Kontextbudget überschritten wird, wird der ausgelassene Mittelteil im Bericht kenntlich gemacht. Bilder werden als Bilddaten an Ollama übergeben, sofern das Modell dies unterstützt. Unbekannte Binärformate werden nicht als Text erfunden interpretiert.
Konfiguration
Beim ersten Setup wird eine Konfiguration im Datenordner angelegt. Wichtige Felder:
{
"ollama_base_url": "http://127.0.0.1:11434",
"ollama_model": "auto",
"ollama_num_ctx": 16384,
"ollama_timeout_seconds": 300,
"synthesis_provider": "auto",
"max_file_bytes": 33554432,
"max_bundle_bytes": 268435456,
"max_bundle_entries": 2000,
"max_archive_depth": 3,
"max_correction_files": 200,
"mcp_allowed_roots": []
}ollama_model: auto bleibt absichtlich aktiv, damit ohne Live-Prüfung kein zu großes Modell als Standard behauptet wird. Laufdaten und Vorschläge werden standardmäßig außerhalb des Repositorys gespeichert; pro Prüf-Lauf bleibt nur der letzte Bericht dauerhaft erhalten.
Sicherheitsgrenzen
UI-Bindung ausschließlich an Loopback; keine LAN-Freigabe.
Credential-/Schlüsseldateien werden nicht automatisch eingelesen oder korrigiert.
ZIP-Pfade werden normalisiert und gegen absolute Pfade, Laufwerkspfade,
.., NUL-Zeichen und Symlinks geprüft.Symlinks werden weder aus Verzeichnissen gelesen noch in korrigierten ZIPs materialisiert.
Provideraufrufe nutzen Argumentlisten und
shell=False.Modellantworten sind untrusted data; sie werden nicht als Shell- oder Python-Code ausgeführt.
Korrekturpfade müssen zu bereits geprüften Einträgen gehören; neue externe Pfade sind verboten.
Ausgangs-Manifest-Hash wird vor der Anwendung erneut verglichen. Wenn die Quelle geändert wurde, bricht die Bridge ab.
Korrekturziele werden auf Symlink-Komponenten geprüft und dürfen nicht innerhalb einer lokalen Quellverzeichnisstruktur liegen.
Grenzen und ehrlicher Teststatus
Ein echter Windows-Clean-Machine-/VM-Test, ein echter Ollama-Live-Endpunkt sowie ein live nachgewiesener OpenClaw-/Claude-Desktop-Lauf sind in der Arena-Linux-Sandbox nicht verfügbar. Die lokale Suite verwendet einen deterministischen Ollama-Simulator und MCP-Protokolltests. Auf dem Zielrechner ist dafür scripts/verify.ps1 -Live vorgesehen. Ein fehlendes OpenClaw wird nicht als installiert behauptet.
Quellen für Integrationsentscheidungen
OpenClaw Ollama: https://docs.openclaw.ai/providers/ollama
OpenClaw Agent-CLI: https://docs.openclaw.ai/tools/agent-send
OpenClaw MCP-CLI: https://docs.openclaw.ai/cli/mcp
Claude Code MCP: https://docs.anthropic.com/en/docs/claude-code/mcp
MCP-JSON-RPC: https://modelcontextprotocol.io/specification/2026-07-28/server/tools
Ollama API: https://docs.ollama.com/api
Lizenz
MIT. Siehe LICENSE.
Available Tools
6 toolsapply_correctionsA
Wendet einen vorher angezeigten Vorschlag nur bei confirmed=true in einem neuen Korrekturordner an.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | ||
| proposal_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It does reveal two non-obvious behaviors: the operation is gated on `confirmed=true`, and results go into a new correction folder. It does not cover error behavior, permissions, idempotency, or what happens when `confirmed` is false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single German sentence contains the action, condition, object, and destination with no filler. The key condition is front-loaded before the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter command with no annotations and no output schema, the description covers the action, condition, object, and destination of the operation. It omits failure/response details, but the low complexity makes that acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description has to add meaning, and it does: `confirmed=true` is the required condition and `proposal_id` is tied to the previously displayed suggestion. That goes beyond raw string/boolean type declarations, though it doesn't detail failure or validation behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Wendet ... an'), names the object ('vorher angezeigten Vorschlag'), and adds the conditional ('nur bei confirmed=true') and destination ('neuen Korrekturordner'). This makes it clearly a follow-up apply operation and differentiates it from the sibling `propose_corrections`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a precise applicability condition: only when the proposal was previously shown and `confirmed` is true. It doesn't explicitly name alternatives or exclusion cases, but the workflow context (apply vs. propose) is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_doctorB
Führt eine read-only Diagnose aus; Fehler/Warnungen werden nicht verschwiegen.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden; it discloses two key traits: the operation is read-only and errors/warnings are not hidden ('Fehler/Warnungen werden nicht verschwiegen'). However, it does not describe what the diagnosis covers, what the output contains, or any other side effects, so transparency is partial rather than complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the primary operation ('read-only Diagnose') and then adds the error/warning transparency guarantee. No word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only diagnostic tool, the description covers the core operation and error-reporting behavior sufficiently for invocation. However, with no output schema, it stops short of describing the result format, and it gives no selection guidance relative to bridge_health.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero properties needing explanation, so the baseline of 4 applies. The description adds no input-parameter detail, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear action: 'Führt eine read-only Diagnose aus' (performs a read-only diagnosis), which identifies the tool as a non-mutating diagnostic operation. It is specific enough to distinguish from modification siblings like apply_corrections, but it does not differentiate from the closely named sibling bridge_health or specify what exactly is being diagnosed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when/when-not guidance or alternative routing is provided. The 'read-only' qualifier hints at safe diagnostic use, but there is no statement about when to choose bridge_doctor over bridge_health or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_healthB
Prüft Bridge, Ollama und optionale Provider read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. The explicit 'read-only' qualifier is genuinely valuable and prevents the agent from assuming side effects from a tool named 'health'. However, it does not disclose what the check actually probes (reachability, versions, model availability), failure behavior, or whether an unreachable provider could make the call hang.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the verb front-loaded and the safety qualifier included - no filler, appropriately sized for a zero-parameter tool. The non-English wording is a minor structural concern for reliable parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a 0-parameter, no-output-schema health probe: it states the scope (Bridge, Ollama, optional providers) and the call contract (read-only). Remaining gaps - the bridge_doctor distinction and the returned status format - are minor for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters means the baseline is 4 and the description owes nothing per-parameter. The phrase 'optionale Provider' adds useful semantic context that the check scope auto-extends to optional providers, going beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Prüft' = checks) with clear resources (Bridge, Ollama, optional providers) and the 'read-only' qualifier, so the health-checking purpose is unambiguous. It does not differentiate itself from the overlapping sibling bridge_doctor, and the German wording may parse less reliably for an English-configured agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Given that bridge_doctor is a sibling with clearly related semantics, an agent has no criteria for choosing between a health probe and a deeper diagnostic, and no exclusions or recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ollama_modelsB
Listet installierte Ollama-Modelle und wählt eine sichere Empfehlung.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states the tool lists models and selects a recommendation, but it does not disclose whether this operation is read-only, whether it accesses the local filesystem, or what 'safe' means in terms of behavioral constraints. It also doesn't explain any potential side effects or prerequisites, such as Ollama being installed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the main purpose (listing models) and then adds the secondary purpose (selection). There is no redundancy or filler; every word serves a purpose. It is appropriately sized for a tool with no parameters and clear functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the zero parameters and no output schema, the description is fairly complete for a listing tool. However, it lacks details on the output format (e.g., how models are presented, whether the recommendation is a separate field) and any assumptions about the environment (e.g., Ollama must be installed). These are minor gaps but could affect correct interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the schema requires no description. The description avoids adding unnecessary parameter details, which is appropriate. Since there are no parameters, the baseline is 4, and the description meets that baseline by not introducing confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Listet' (lists) and the resource 'installierte Ollama-Modelle', and includes an additional purpose of selecting a safe recommendation ('wählt eine sichere Empfehlung'). This distinguishes it from sibling tools like bridge_health or run_shared_file, which have unrelated purposes. The purpose is specific, though it could be clearer on what 'sichere Empfehlung' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case for discovering installed models and getting a safe recommendation, but provides no explicit guidance on when to use this tool versus alternatives. There is no mention of when not to use it, nor any reference to sibling tools. The usage context is only implied, not clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_correctionsB
Erzeugt nach einer Analyse nur einen Korrekturvorschlag. Es werden noch keine Dateien verändert.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| program_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It explicitly states that no files are changed, which is a critical non-destructive trait. This is a strong and relevant disclosure for a proposal tool, though it does not cover other potential behaviors like idempotency or error handling. The key behavior is clearly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, concise, and front-loads the most important information: the tool generates a proposal and does not modify files. Every word earns its place, and there is no redundancy. The structure is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters and no output schema, the description is thin. It does not explain the parameters, the expected input format, or what a 'correction proposal' entails (e.g., its structure or how it is returned). The only contextual hint is 'nach einer Analyse', but this is vague. Given the low schema coverage and lack of annotations, the description is incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two parameters with no descriptions, and the tool description provides no explanation of what run_id or program_name mean. With 0% schema coverage, the description should compensate, but it does not mention the parameters at all. This leaves the agent without any guidance on how to fill the parameters correctly, making this dimension a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: after an analysis, it creates one correction proposal, and explicitly notes that no files are changed. This distinguishes it from the sibling tool apply_corrections, which presumably applies changes, though the alternative is not named. The verb 'erzeugt' (creates) and the resource 'Korrekturvorschlag' (correction proposal) make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a contextual condition ('nach einer Analyse' – after an analysis), which suggests when to use the tool. However, it does not explicitly state when not to use it, nor does it mention the sibling tool apply_corrections as the alternative for applying the proposal. The usage guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
apply_corrections - First observed
bridge_doctor - First observed
bridge_health - First observed
ollama_models - First observed
propose_corrections - First observed
run_shared_file
TDQS
Scored across 6 tools
bridge_health and bridge_doctor both perform read-only health/diagnostics, creating potential confusion about which to use. The other tools are distinct in purpose, but this overlap reduces clarity.
All tools use snake_case, but the naming pattern is mixed: some are verb_noun (run_shared_file, propose_corrections, apply_corrections) while others are noun-like (bridge_health, bridge_doctor, ollama_models). This inconsistency makes the set less predictable.
With 6 tools, the server is well-scoped for its purpose—health checks, model listing, analysis, and correction workflow. Each tool has a clear role, and the count is within the ideal range.
The core workflow (check health, list models, run analysis, propose corrections, apply corrections) is covered, but there is no tool to retrieve past proposals or correction history, which is a minor gap.
Maintenance
Related MCP Connectors
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- AlicenseCqualityDmaintenanceA privacy-first MCP server that provides local LLM-enhanced tools for code analysis, security scanning, and automated task execution using backends like Ollama and LM Studio. It enables symbol-aware code reviews and workspace exploration while ensuring that all code and analysis remain strictly on your local machine.36ISC
- FlicenseNot gradedqualityDmaintenanceLocal MCP server that scans code for security issues (secrets, dependencies, configurations, risky patterns) and integrates with GitHub Copilot in VS Code for automated pre-commit reviews.-
- AlicenseNot gradedqualityBmaintenanceSelf-hosted MCP server using Ollama for local AI-powered code analysis, refactoring, and optimization. Integrates with VS Code via Continue or Roo.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for local codebase analysis, enabling semantic code search, impact analysis, and pack-scoped retrieval with cited file:line results.Apache 2.0