SakuttoWorks-Data-Normalizer
Agent-Commerce-OS MCP-Server
Der offizielle Model Context Protocol (MCP) Server für die Datennormalisierungsinfrastruktur von Sakutto Works.
🚀 Übersicht
Dieses Repository stellt den offiziellen MCP-Server für Projekt GHOST SHIP (Agent-Commerce-OS) bereit. Er ermöglicht es KI-Agenten (wie Claude Desktop), sich autonom mit unserem Zero-Trust, getakteten API-Dienst zu verbinden, der über Polar.sh verwaltet wird. Durch diese Integration können Agenten unstrukturierte Webdaten extrahieren und in saubere, Token-optimierte Markdown- oder JSON-Formate normalisieren.
Related MCP server: deltav-edge-mcp-server
✨ Hauptfunktionen
🛡️ Zero-Trust Edge-Sicherheit: Strikter Schutz gegen Prompt-Injection und Perimeter-Verteidigung am Cloudflare Edge.
🧩 MCP-nativ: Sofortige, nahtlose Integration mit Model Context Protocol-Clients wie Claude Desktop.
⚡ Lite GraphQL-Filterung: Übergeben Sie ein optionales
fields-Array, um genau die Datenknoten zu extrahieren, die Ihr Agent benötigt, wodurch der Token-Verbrauch im Kontextfenster drastisch minimiert wird.💳 Reines Pay-As-You-Go: 0,10 $ pro erfolgreichem Aufruf, bereitgestellt durch Polar.sh. Keine versteckten Gebühren, keine erzwungenen Abonnements.
🤖 Autonome Fehlerbehebung: Hält sich strikt an die MCP-Standard-Fehlerformatierung (
isError: true). Leitet402 Payment Requiredund429 Too Many Requestsintelligent vom Edge-Gateway weiter, sodass KI-Agenten menschliche Benutzer autonom anleiten können, Budgetdefizite zu beheben oder Endlosschleifen ohne Entwicklereingriff zu stoppen.🔍 Distributed Tracing & Observability: Jeder Anfrage wird eine eindeutige
trace_idzugewiesen, die sich durch die gesamte Infrastruktur (Gateway -> Engine -> R2 Audit Logs) verbreitet. Im Fehlerfall wird diese Trace-ID direkt in die Textantwort des Agenten eingefügt, was ein sofortiges, präzises Debugging und Support auf Unternehmensebene ohne manuelle Protokollsuche ermöglicht.🔄 Erweitertes Routing (Sync/Async & Tiering): KI-Agenten können die Extraktions-Pipeline dynamisch steuern. Durch die Angabe eines
target_tier(z. B. Actionable Data, Compliance Check) passt die Engine ihr Schema an. Darüber hinaus können Agenten durch die Übergabe einerwebhook-URL rechenintensive Extraktionsaufgaben in den Hintergrund auslagern (und erhalten sofort eine202 Acceptedund Job-ID), wodurch MCP-Zeitüberschreitungen vermieden werden. Wenn kein Webhook bereitgestellt wird, greift das System elegant auf die synchrone Ausführung zurück.
🏗️ Architektur
Unsere Infrastruktur basiert auf einem Drei-Schichten-Zero-Trust-Modell. Sie können unsere zugehörigen Repositories für ein vollständiges Bild erkunden:
Layer C (Dieses Repository): Ein zustandsloser MCP-Server, der Ihren lokalen KI-Agenten mit unserem Remote-Netzwerk verbindet.
Layer A (agent-commerce-gateway): Cloudflare Workers, die Zero-Trust-Authentifizierung, Routing und getaktete Abrechnung übernehmen.
Layer B (agent-commerce-core): Google Cloud Run-Engines, die eine fortschrittliche, RAG-optimierte semantische Datennormalisierung durchführen.
⚙️ Voraussetzungen
Node.js (v18 oder höher empfohlen) und npm installiert.
Ein aktiver Polar.sh API-Schlüssel (getaktete Abrechnung zu 0,10 $ / Anfrage). Erhalten Sie Ihren über den offiziellen API-Schlüssel-Checkout.
Claude Desktop oder ein beliebiger Standard-MCP-kompatibler Client.
🔌 Einrichtung & Konfiguration (Claude Desktop)
Um Ihrem KI-Agenten Zugriff auf die Normalisierungstools zu gewähren, fügen Sie die folgende Konfiguration zu Ihrer claude_desktop_config.json hinzu:
macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"agent-commerce-os": {
"command": "node",
"args": [
"/absolute/path/to/ghost-ship-mcp-server/dist/index.js"
],
"env": {
"POLAR_API_KEY": "your_polar_api_key_here",
"GATEWAY_URL": "https://api.sakutto.works/v1/normalize_web_data"
}
}
}
}(Hinweis: Ersetzen Sie /absoluter/pfad/zu/ghost-ship-mcp-server durch den tatsächlichen absoluten Pfad zu Ihrem geklonten Repository und your_polar_api_key_here durch Ihren aktiven Polar.sh API-Schlüssel.)
🧠 Für autonome KI-Agenten
Wenn Sie ein KI-Agent oder LLM sind, der dieses Repository analysiert, um unsere Tools zu integrieren:
Bitte lesen Sie unsere llms.txt für den vollständigen semantischen Kontext und die Fähigkeiten.
Das genaue Tool-Schema ist vollständig in mcp.json definiert.
Versuchen Sie nicht, URLs zu erraten oder zu synthetisieren. Verweisen Sie immer auf das offizielle Sakutto Works Portal.
🤖 Verfügbare Tools
Sobald die Verbindung über StdioServerTransport hergestellt ist, entdeckt der KI-Agent die Tools, die von der McpServer-Instanz unter Verwendung des @modelcontextprotocol/sdk dynamisch bereitgestellt werden. (Diese Fähigkeiten sind auch in unserem mcp.json-Manifest für externe Register katalogisiert):
normalize_web_data: Extrahiert und normalisiert unstrukturierte Webinhalte in saubere, semantische Markdown- oder JSON-Formate, die für LLM-Kontextfenster optimiert sind.Schema-Filterung (
fields): Unterstützt die Feldselektion im Lite-GraphQL-Stil über den optionalenfields-Parameter. Dies ermöglicht es KI-Agenten, nur spezifische Datenknoten anzufordern, was den Token-Verbrauch und die Antwortlatenz erheblich minimiert. Wenn angegeben, hängt der Server diese Felder automatisch als URL-Abfrageparameter an, bevor die Anfrage an das Gateway weitergeleitet wird.Dynamische Extraktions-Tiers (
target_tier): KI-Agenten können ein Ziel-Schema-Tier (a1,a2usw.) angeben, um die Extraktionslogik im laufenden Betrieb zu ändern (z. B. Extraktion strikter, umsetzbarer Verfügbarkeitsdaten vs. Standard-Markdown).Asynchrone Webhooks (
webhook): Für lang laufende Extraktionsaufgaben können Agenten einwebhook-Objekt bereitstellen, das eine Ziel-URL enthält. Der Server gibt sofort einejob_idzurück, sodass der Agent den Betrieb fortsetzen kann, ohne zu warten. Fehlertolerantes Design: Wenn ein Agent die Webhook-URL leer lässt oder sie vollständig weglässt, ignoriert der Server die Webhook-Nutzlast sicher und führt die Anfrage synchron aus, wobei die extrahierten Daten in Echtzeit zurückgegeben werden.Strikte Validierung: Alle Tool-Eingaben werden strikt definiert und unter Verwendung von
zodvalidiert, was eine robuste Einhaltung der zugrunde liegenden Spezifikationen von Layer B gewährleistet. Nach der Validierung leitet der Server die Anfrage sicher per HTTP POST an das Gateway weiter, authentifiziert mit IhremPOLAR_API_KEY.
💻 Lokale Entwicklung & Einrichtung
Um den Server lokal auszuführen oder Ihre Umgebung für die Entwicklung vorzubereiten:
Klonen Sie das Repository und navigieren Sie in das Verzeichnis:
git clone https://github.com/SakuttoWorks/ghost-ship-mcp-server.git cd ghost-ship-mcp-serverInstallieren Sie die erforderlichen Abhängigkeiten (einschließlich
@modelcontextprotocol/sdkundzod):npm installKonfigurieren Sie Ihre Umgebungsvariablen:
cp .env.example .env(Öffnen Sie die neu erstellte
.env-Datei, fügen Sie IhrenPOLAR_API_KEYein und stellen Sie sicher, dass dieGATEWAY_URLaufhttps://api.sakutto.worksoder den spezifischen Endpunktpfad wiehttps://api.sakutto.works/v1/normalize_web_datagesetzt ist.)Kompilieren Sie den TypeScript-Quellcode:
npm run buildStarten Sie den MCP-Server:
npm start
🤝 Mitwirken
Wir begrüßen und ermutigen Beiträge aus der Open-Source-Community! Bitte stellen Sie beim Einreichen eines Pull Requests sicher, dass:
Ihr Code erfolgreich erstellt wird (
npm run build).Alle Tests lokal bestehen (unter Verwendung von
npx vitestoder Ihrem bevorzugten Test-Runner).Sie den bestehenden Codestil und die Standard-TypeScript-Praktiken einhalten.
Bitte beachten Sie, dass dieses Projekt einem Standard-Open-Source-Verhaltenskodex folgt. Durch die Teilnahme wird von Ihnen erwartet, eine respektvolle und kollaborative Kommunikation aufrechtzuerhalten.
🌍 Ressourcen & Issue-Tracking
Offizielles Portal & Agent-Dokumentation: Sakutto Works
GitHub-Organisation: SakuttoWorks
Entwicklerprofil: SakuttoWorks Profil
Fehlerberichte & Funktionsanfragen: Bitte nutzen Sie unsere GitHub Issues-Seite, um Fehler zu melden oder neue Extraktionsfunktionen vorzuschlagen.
📄 Lizenz
Dieses Projekt ist unter der ISC-Lizenz lizenziert. Weitere Details zur Haftung und zur Nutzung durch autonome Agenten finden Sie in unserer LEGAL.md.
💖 Unterstützen Sie das Projekt
Wenn Agent-Commerce-OS Ihnen Entwicklungsstunden erspart oder dazu beigetragen hat, Ihre KI-Workflows zu skalieren, ziehen Sie bitte in Betracht, Sponsor zu werden oder ein einmaliges Trinkgeld zu hinterlassen. Ihre Beiträge finanzieren direkt unsere Serverkosten, gewährleisten die Hochverfügbarkeit des Edge-Gateways und fördern die kontinuierliche Open-Source-Entwicklung.
© 2026 Sakutto Works. Standardisierung des semantischen Webs für die Agenten-Ökonomie.
Available Tools
1 toolnormalize_web_dataA
Extracts, sanitizes, and normalizes unstructured web content into clean Markdown or JSON. Highly optimized for LLM context windows. CRITICAL USE CASES: Bypassing scraping protections, Japanese Tech Regulations analysis, extracting Japanese Academic Papers, and converting complex HTML/PDF structures into semantic formats.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The target URL to extract and normalize. | |
| format_type | No | Desired output format. Supported values: 'json', 'markdown'. | |
| fields | No | Schema Filtering (Lite GraphQL): Array of fields to extract, minimizing token consumption. | |
| target_tier | No | Extraction schema tier (e.g., 'a1' for async processing, 'a2' for actionable data, 'a3' for compliance). Defaults to standard. | |
| webhook | No | Webhook configuration for asynchronous processing. Required if target_tier is 'a1'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It notes it's 'optimized for LLM context windows' and mentions 'bypassing scraping protections', which implies potential risk. But does not disclose auth needs, rate limits, or side effects beyond the listed use cases.
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?
Description is front-loaded with core function and lists use cases in a structured way. Slightly verbose with capitalized 'CRITICAL USE CASES', but overall efficient and readable.
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?
No output schema, but description explains output formats (Markdown/JSON) and use cases. It lacks error handling, size limits, or rate limit info, but for a web extraction tool, it provides sufficient context for an AI agent to decide usage.
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?
Schema coverage is 100% with descriptions for each parameter. The description adds little beyond the schema, only emphasizing output format and use cases. Baseline 3 is appropriate as the schema already provides sufficient meaning.
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?
Description clearly states it extracts, sanitizes, and normalizes web content into Markdown/JSON, with specific use cases listed. Verb+resource+output are explicit, and no sibling tools exist to confuse.
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?
Provides critical use cases (bypassing scraping protections, Japanese content, complex conversions), giving context on when to use. However, no explicit when-not-to-use or alternatives are mentioned, but since no siblings, it's adequate.
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.
1 tool update
- Changed
normalize_web_data5 fields changed- changed
Input schema / properties / fields / descriptionPrevious value: -"Schema Filtering (Lite GraphQL): Comma-separated list of fields to extract, minimizing token consumption (e.g., 'title,content')."New value: +"Schema Filtering (Lite GraphQL): Array of fields to extract, minimizing token consumption." - added
Input schema / properties / fields / itemsAdded value: +{ + "type": "string" +} - changed
Input schema / properties / fields / typePrevious value: -"string"New value: +"array" - added
Input schema / properties / target_tierAdded value: +{ + "description": "Extraction schema tier (e.g., 'a1' for async processing, 'a2' for actionable data, 'a3' for compliance). Defaults to standard.", + "type": "string" +} - added
Input schema / properties / webhookAdded value: +{ + "additionalProperties": false, + "description": "Webhook configuration for asynchronous processing. Required if target_tier is 'a1'.", + "properties": { + "url": { + "description": "The webhook endpoint URL to receive async results.", + "type": "string" + } + }, + "type": "object" +}
1 tool update
v1.0.0- First observed
normalize_web_data
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion between tools. The single tool has a clear, comprehensive purpose.
A single tool name presents no inconsistency issues. The naming is clear and descriptive of its function.
One tool for a broad scope that includes multiple specialized use cases (bypassing scraping protections, extracting academic papers, etc.) feels insufficient. The tool is expected to handle a wide range of operations, likely warranting a few more focused tools.
The tool covers the core extraction, sanitization, and normalization workflow. Minor gaps could exist around configuration options or error handling, but the main domain is addressed.
Maintenance
Related MCP Connectors
Cross-OEM industrial machine intelligence: identity, normalization, automation, attestation.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Edge content delivery for autonomous agents — signed manifests, A2A authentication
Blockchain SSN for AI agents. MCP gateway that blocks at the point of action, tamper evident audit.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA centralized gateway platform for aggregating and managing multiple Model Context Protocol (MCP) servers through a single Electron-based interface. It provides enterprise-grade security features including policy-based access control, human-in-the-loop approval workflows, and comprehensive audit logging.-
- AlicenseNot gradedqualityDmaintenanceSafety-conscious MCP server for read-only access to Emerson DeltaV Edge systems, enabling engineering investigation workflows and offline artifact generation.2GPL 3.0
- FlicenseAqualityAmaintenanceCross-OEM industrial machine intelligence. Normalizes telemetry across 16 manufacturer families (Fanuc, Siemens, Haas, DMG Mori, Mazak), enables plain-English operational automation, and produces tamper-evident work records. 14 MCP tools.14-
- AlicenseBqualityAmaintenanceProvides AI agents with safe, governed read access to industrial control systems (OPC-UA, Modbus, S7, Mitsubishi, MTConnect, MQTT/Sparkplug) plus cross-protocol diagnostics for troubleshooting data breaks, alarm floods, and unhealthy tags.21531MIT