Integrations
Provides capability to upload screenshots to Cloudflare for storage and hosting, with options for custom filenames and debugging.
Enables injection of custom CSS into websites before capturing screenshots, allowing customization of page appearance.
Allows injection of custom JavaScript into websites before capturing screenshots, enabling customization of page behavior.
ScreenshotOne.com - MCP-Server
Dieses Projekt bietet einen Model Context Protocol (MCP)-Server, der KI-Assistenten mit der ScreenshotOne.com -API verbindet, um Screenshots von Websites aufzunehmen.
Verfügbare Funktionen
- [x] Machen Sie Screenshots von jeder URL
- [x] HTML-Inhalte rendern und Screenshots machen
- [x] Ansichtsfenstergröße und Geräteemulation anpassen
- [x] Screenshots der gesamten Seite erstellen
- [x] Wählen Sie bestimmte Elemente mithilfe von CSS-Selektoren aus
- [x] Mehrere Ausgabeformate (PNG, JPEG, WebP, PDF)
- [x] Blockieren Sie Anzeigen, Tracker und Cookie-Banner
- [x] Benutzerdefiniertes CSS und JavaScript einfügen
- [x] Warteverhalten und -zeitpunkt steuern
ScreenshotOne.com
- Webseite
- Spielplatz
- API-Dokumente
- Erstellen Sie hier Ihren API-Schlüssel
Unterstützte Transporte
- [x] "stdio" -Transport - Standardtransport für die CLI-Nutzung
- [x]"Streamable HTTP" -Transport - Für webbasierte Clients
- [ ] Implementieren Sie Auth ("Authorization"-Header mit
Bearer <token>
)
- [ ] Implementieren Sie Auth ("Authorization"-Header mit
- [ ]
"sse"-Transport(Veraltet) - [ ] Tests schreiben
Anwendung
Befehlszeilenschnittstelle (CLI)
MCP-Einrichtung
Für die lokale Konfiguration mit stdio-Transport:
Für die Remote-HTTP-Konfiguration:
Umgebungsvariablen für den HTTP-Transport:
Sie können den HTTP-Server mit diesen Umgebungsvariablen konfigurieren:
MCP_HTTP_HOST
: Der Host, an den die Verbindung hergestellt werden soll (Standard:127.0.0.1
)MCP_HTTP_PORT
: Der Port, auf dem gewartet werden soll (Standard:8080
)MCP_HTTP_PATH
: Der Endpunktpfad (Standard:/mcp
)
Quellcodeübersicht
Was ist MCP?
Model Context Protocol (MCP) ist ein offener Standard, der es KI-Systemen ermöglicht, sich sicher und kontextbezogen mit externen Tools und Datenquellen zu verbinden.
Dieses Boilerplate implementiert die MCP-Spezifikation mit einer sauberen, geschichteten Architektur, die erweitert werden kann, um benutzerdefinierte MCP-Server für jede API oder Datenquelle zu erstellen.
Warum diesen Standardtext verwenden?
- Produktionsreife Architektur : Folgt dem gleichen Muster wie veröffentlichte MCP-Server, mit klarer Trennung zwischen CLI, Tools, Controllern und Diensten.
- Typsicherheit : Erstellt mit TypeScript für verbesserte Entwicklererfahrung, Codequalität und Wartbarkeit.
- Funktionierendes Beispiel : Enthält ein vollständig implementiertes IP-Lookup-Tool, das das komplette Muster von der CLI- bis zur API-Integration demonstriert.
- Testframework : Wird mit einer Testinfrastruktur für Unit- und CLI-Integrationstests geliefert, einschließlich Abdeckungsberichten.
- Entwicklungstools : Enthält ESLint, Prettier, TypeScript und andere hochwertige Tools, die für die MCP-Serverentwicklung vorkonfiguriert sind.
Erste Schritte
Voraussetzungen
- Node.js (>=18.x): Herunterladen
- Git : Zur Versionskontrolle
Schritt 1: Klonen und installieren
Schritt 2: Entwicklungsserver ausführen
Starten Sie den Server im Entwicklungsmodus mit stdio-Transport (Standard):
Oder mit dem Streamable HTTP-Transport:
Dadurch wird der MCP-Server mit Hot-Reloading gestartet und der MCP Inspector unter http://localhost:5173 aktiviert.
⚙️ Proxyserver lauscht auf Port 6277 🔍 MCP Inspector ist unter http://127.0.0.1:6274 aktiv
Bei Verwendung des HTTP-Transports ist der Server standardmäßig unter http://127.0.0.1:8080/mcp verfügbar.
Schritt 3: Testen Sie das Screenshot-Tool
Machen Sie mit der CLI einen Screenshot:
Architektur
Dieser Standardtext folgt einem klaren, geschichteten Architekturmuster, das Belange trennt und die Wartbarkeit fördert.
Projektstruktur
Ebenen und Verantwortlichkeiten
CLI-Schicht ( src/cli/*.cli.ts
)
- Zweck : Definieren Sie Befehlszeilenschnittstellen, die Argumente analysieren und Controller aufrufen
- Benennung : Dateien sollten
<feature>.cli.ts
heißen - Testen : CLI-Integrationstests in
<feature>.cli.test.ts
Tools-Ebene ( src/tools/*.tool.ts
)
- Zweck : Definieren Sie MCP-Tools mit Schemata und Beschreibungen für KI-Assistenten
- Benennung : Dateien sollten
<feature>.tool.ts
mit Typen in<feature>.types.ts
benannt werden - Muster : Jedes Tool sollte zod zur Argumentvalidierung verwenden
Controller-Ebene ( src/controllers/*.controller.ts
)
- Zweck : Implementieren Sie Geschäftslogik, behandeln Sie Fehler und formatieren Sie Antworten
- Benennung : Dateien sollten
<feature>.controller.ts
heißen - Muster : Sollte standardisierte
ControllerResponse
Objekte zurückgeben
Serviceebene ( src/services/*.service.ts
)
- Zweck : Interaktion mit externen APIs oder Datenquellen
- Benennung : Dateien sollten
<feature>.service.ts
heißen - Muster : Reine API-Interaktionen mit minimaler Logik
Utils-Ebene ( src/utils/*.util.ts
)
- Zweck : Bereitstellung gemeinsamer Funktionen für die gesamte Anwendung
- Wichtige Dienstprogramme :
logger.util.ts
: Strukturiertes Protokollierenerror.util.ts
: Fehlerbehandlung und Standardisierungformatter.util.ts
: Markdown-Formatierungshilfen
Entwicklungshandbuch
Entwicklungsskripte
Testen
Codequalität
Erstellen benutzerdefinierter Tools
Befolgen Sie diese Schritte, um dem Server Ihre eigenen Tools hinzuzufügen:
1. Service-Layer definieren
Erstellen Sie einen neuen Dienst in src/services/
um mit Ihrer externen API zu interagieren:
2. Controller erstellen
Fügen Sie einen Controller in src/controllers/
hinzu, um die Geschäftslogik zu handhaben:
3. Implementieren Sie das MCP-Tool
Erstellen Sie eine Tooldefinition in src/tools/
:
4. CLI-Unterstützung hinzufügen
Erstellen Sie einen CLI-Befehl in src/cli/
:
5. Komponenten registrieren
Aktualisieren Sie die Einstiegspunkte, um Ihre neuen Komponenten zu registrieren:
Debugging-Tools
MCP-Inspektor
Greifen Sie auf den visuellen MCP-Inspektor zu, um Ihre Tools zu testen und Anforderungs-/Antwortdetails anzuzeigen:
- Führen Sie
npm run dev:server
- Öffnen Sie http://localhost:5173 in Ihrem Browser
- Testen Sie Ihre Tools und zeigen Sie Protokolle direkt in der Benutzeroberfläche an
Serverprotokolle
Aktivieren Sie Debug-Protokolle für die Entwicklung:
Veröffentlichen Ihres MCP-Servers
Wenn Sie bereit sind, Ihren benutzerdefinierten MCP-Server zu veröffentlichen:
- Aktualisieren Sie package.json mit Ihren Details
- Aktualisieren Sie README.md mit Ihrer Tool-Dokumentation
- Erstellen Sie das Projekt:
npm run build
- Testen Sie den Produktionsbuild:
npm run start:server
- Auf npm veröffentlichen:
npm publish
Lizenz
Hinweis: Aus Gründen der Abwärtskompatibilität erkennt der Server auch Konfigurationen unter dem vollständigen Paketnamen ( screenshotone-mcp-server
) oder dem Paketnamen ohne Gültigkeitsbereich ( screenshotone-mcp-server
), wenn der Schlüssel screenshotone
nicht gefunden wird. Für neue Konfigurationen wird jedoch die Verwendung des kurzen Schlüssels screenshotone
empfohlen.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Verbindet KI-Assistenten mit der ScreenshotOne.com-API zum Aufnehmen von Website-Screenshots mit anpassbaren Optionen, einschließlich Ansichtsfenstergröße, ganzseitiger Erfassung und mehreren Ausgabeformaten.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides AI vision capabilities for analyzing UI screenshots, offering tools for screen analysis, file operations, and UI/UX report generation.Last updated -261JavaScriptISC License
- AsecurityAlicenseAqualityAn official MCP server implementation that allows AI assistants to capture website screenshots through the ScreenshotOne API, enabling visual context from web pages during conversations.Last updated -16TypeScriptMIT License
- -securityFlicense-qualityEnables AI tools to capture and process screenshots of a user's screen, allowing AI assistants to see and analyze what the user is looking at through a simple MCP interface.Last updated -1Python
- -securityFlicense-qualityCaptures screenshots and saves them to file paths specified by client applications, primarily designed to facilitate screenshot analysis by AI assistants running in WSL environments.Last updated -Python