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 サーバー
このプロジェクトは、AI アシスタントをScreenshotOne.com API に接続して Web サイトのスクリーンショットをキャプチャする Model Context Protocol (MCP) サーバーを提供します。
利用可能な機能
- [x] 任意のURLのスクリーンショットを撮る
- [x] HTMLコンテンツをレンダリングし、スクリーンショットを撮る
- [x] ビューポートサイズとデバイスエミュレーションをカスタマイズする
- [x] 全ページのスクリーンショットをキャプチャする
- [x] CSSセレクターを使用して特定の要素を選択する
- [x] 複数の出力形式(PNG、JPEG、WebP、PDF)
- [x] 広告、トラッカー、Cookieバナーをブロックする
- [x] カスタムCSSとJavaScriptを挿入する
- [x] 待機動作とタイミングを制御する
スクリーンショットワン
サポートされているトランスポート
- [x] "stdio"トランスポート - CLI 使用時のデフォルトのトランスポート
- [x]「ストリーミング可能なHTTP」トランスポート - Webベースのクライアント向け
- [ ] 認証を実装する(
Bearer <token>
を使用した「Authorization」ヘッダー)
- [ ] 認証を実装する(
- [ ]
「sse」輸送(非推奨) - [ ] テストを書く
使い方
コマンドライン
MCPセットアップ
stdio トランスポートを使用したローカル構成の場合:
リモート HTTP 構成の場合:
HTTP トランスポートの環境変数:
次の環境変数を使用して HTTP サーバーを構成できます。
MCP_HTTP_HOST
: バインドするホスト(デフォルト:127.0.0.1
)MCP_HTTP_PORT
: リッスンするポート(デフォルト:8080
)MCP_HTTP_PATH
: エンドポイントパス(デフォルト:/mcp
)
ソースコードの概要
MCPとは何ですか?
モデル コンテキスト プロトコル (MCP) は、AI システムが外部ツールやデータ ソースに安全かつコンテキストに応じて接続できるようにするオープン スタンダードです。
このボイラープレートは、任意の API またはデータ ソース用のカスタム MCP サーバーを構築するために拡張できる、クリーンな階層化アーキテクチャを使用して MCP 仕様を実装します。
この定型句を使用する理由
- 実稼働対応アーキテクチャ: 公開された MCP サーバーで使用されるのと同じパターンに従い、CLI、ツール、コントローラー、およびサービスが明確に分離されています。
- 型の安全性: 開発者エクスペリエンス、コード品質、保守性を向上させるために TypeScript を使用して構築されています。
- 動作例: CLI から API 統合までの完全なパターンを示す、完全に実装された IP 検索ツールが含まれています。
- テスト フレームワーク: カバレッジ レポートを含む、ユニット テストと CLI 統合テストの両方のテスト インフラストラクチャが付属しています。
- 開発ツール: ESLint、Prettier、TypeScript、および MCP サーバー開発用に事前構成されたその他の高品質ツールが含まれています。
はじめる
前提条件
- Node.js (>=18.x):ダウンロード
- Git : バージョン管理用
ステップ1: クローンとインストール
ステップ2: 開発サーバーを実行する
stdio トランスポートを使用して開発モードでサーバーを起動します (デフォルト)。
または、ストリーミング可能な HTTP トランスポートを使用する場合:
これにより、ホットリロードで MCP サーバーが起動し、 http://localhost:5173で MCP インスペクターが有効になります。
⚙️ プロキシ サーバーはポート 6277 で待機しています 🔍 MCP Inspector はhttp://127.0.0.1:6274で稼働しています
HTTP トランスポートを使用する場合、サーバーはデフォルトでhttp://127.0.0.1:8080/mcpで利用できるようになります。
ステップ3: スクリーンショットツールをテストする
CLI を使用してスクリーンショットを撮ります。
建築
このボイラープレートは、懸念事項を分離し、保守性を促進する、クリーンな階層化アーキテクチャ パターンに従います。
プロジェクト構造
階層と責任
CLI レイヤー ( src/cli/*.cli.ts
)
- 目的: 引数を解析してコントローラを呼び出すコマンドラインインターフェースを定義する
- 命名: ファイル名は
<feature>.cli.ts
とします - テスト:
<feature>.cli.test.ts
内の CLI 統合テスト
ツールレイヤー ( src/tools/*.tool.ts
)
- 目的: AIアシスタント用のスキーマと説明を備えたMCPツールを定義する
- 命名: ファイルは
<feature>.tool.ts
という名前にし、型は<feature>.types.ts
に記述します。 - パターン: 各ツールは引数の検証に zod を使用する必要があります
コントローラーレイヤー ( src/controllers/*.controller.ts
)
- 目的: ビジネスロジックを実装し、エラーを処理し、応答をフォーマットする
- 命名: ファイル名は
<feature>.controller.ts
とします - パターン: 標準化された
ControllerResponse
オブジェクトを返す必要があります
サービス層 ( src/services/*.service.ts
)
- 目的: 外部APIまたはデータソースとのやり取り
- 命名: ファイル名は
<feature>.service.ts
とします - パターン: 最小限のロジックによる純粋な API のインタラクション
ユーティリティ層 ( src/utils/*.util.ts
)
- 目的: アプリケーション全体で共有機能を提供する
- キーユーティリティ:
logger.util.ts
: 構造化ログerror.util.ts
: エラー処理と標準化formatter.util.ts
: Markdown フォーマットヘルパー
開発ガイド
開発スクリプト
テスト
コード品質
カスタムツールの構築
独自のツールをサーバーに追加するには、次の手順に従います。
1. サービス層を定義する
外部 API と対話するためにsrc/services/
に新しいサービスを作成します。
2. コントローラーを作成する
ビジネス ロジックを処理するために、 src/controllers/
にコントローラーを追加します。
3. MCPツールを実装する
src/tools/
にツール定義を作成します。
4. CLIサポートを追加する
src/cli/
に CLI コマンドを作成します。
5. コンポーネントを登録する
新しいコンポーネントを登録するには、エントリ ポイントを更新します。
デバッグツール
MCP検査官
ビジュアル MCP インスペクターにアクセスしてツールをテストし、リクエスト/レスポンスの詳細を表示します。
npm run dev:server
実行します。- ブラウザでhttp://localhost:5173を開きます。
- ツールをテストし、UI で直接ログを表示します
サーバーログ
開発用のデバッグ ログを有効にします。
MCPサーバーの公開
カスタム MCP サーバーを公開する準備ができたら、次の手順を実行します。
- 詳細を記載したpackage.jsonを更新します
- ツールのドキュメントをREADME.mdに更新する
- プロジェクトをビルドします:
npm run build
- 本番ビルドをテストする:
npm run start:server
- npmに公開:
npm publish
ライセンス
**注:**後方互換性のため、 screenshotone
キーが見つからない場合、サーバーは完全なパッケージ名 ( screenshotone-mcp-server
) またはスコープ外のパッケージ名 ( screenshotone-mcp-server
) の設定も認識します。ただし、新しい設定では短縮形のscreenshotone
キーの使用が推奨されます。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
AI アシスタントを ScreenshotOne.com API に接続し、ビューポート サイズ、フルページ キャプチャ、複数の出力形式などのカスタマイズ可能なオプションを使用して Web サイトのスクリーンショットをキャプチャします。
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