sulus-web-mcp
sulus-web-mcp
ライブWeb調査のためのステートレスなPlaywright MCPです。エージェントは3つのツールを利用できます — browse_page、extract_links、search_page — それぞれがURLを開き、テキストを抽出してブラウザコンテキストを閉じます。クリック・入力・ログインのツールはありません。
Sulus Agents(ai-phone-system MCPコネクタ)と、その他のエコシステム(Cursor、MCPConnect)向けに構築されています。Laravelはプロセス内でChromiumを実行できないため、このサービスが、それらのエージェントが呼び出すHTTP MCPになります。
ツール
ツール | 使用タイミング | 戻り値 |
| 公開ページの内容が必要な場合 | タイトル、最終URL、整形済みマークダウン(またはリンク/タイトルのみ) |
| 外部リンクが必要な場合 | href + テキストのマークダウンリスト |
| クエリに一致する抜粋が必要な場合 | クエリの周辺の最大N個のスニペット |
各呼び出しは自己完結型です(ナビゲーション+抽出)。これはai-phone-systemのコネクタクライアントに一致し、そのクライアントはMCPセッションなしでtools/list / tools/callをPOSTします。
要件
Node.js 20+
Playwright Chromium(
npm installの後にnpx playwright install chromiumを実行)
セットアップ
cd /Users/macbook/Workshop/Sulus.ai/sulus-web-mcp
npm install
npx playwright install chromium
cp .env.example .env
# set MCP_SHARED_SECRET
npm run buildHTTP(エージェント、チーム、本番環境)
npm run start:http
# or: npm run dev:httpヘルスチェック: GET /health
MCP: POST /mcp (JSON-RPC, Streamable HTTP)
変数 | 説明 |
|
|
| バインド(デフォルト: |
| 許可する |
| ローカル |
| オプションのホストリスト |
| デフォルト25000(エージェントの60秒ツール・タイムアウト未満に設定) |
| デフォルト3 |
| Bearerトークンごとに、デフォルト30 |
| デフォルト18000(エージェントは20kで切り捨て) |
ログはブラウズごとにJSON 1行(urlのオリジン+パス、ステータス、ms)です。ページ本文がログに記録されることはありません。
Docker
cp .env.example .env
docker compose up -d --build公式のPlaywrightイメージ(Chromium同梱)を使用します。shm_size: 1gbの設定が必要です。
stdio(ローカルCursor)
npm run start.cursor/mcp.json:
{
"mcpServers": {
"sulus-web": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/Users/macbook/Workshop/Sulus.ai/sulus-web-mcp"
}
}
}CursorからのHTTP接続(デプロイ後):
{
"mcpServers": {
"sulus-web": {
"url": "https://browse.sulus.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_SHARED_SECRET"
}
}
}
}ai-phone-systemエージェントから接続
このサービスをHTTPSの背後にデプロイします。
MCP Connectorsでカスタムサーバーを追加します:
URL:
https://browse.sulus.ai/mcp認証: Bearer、トークン =
MCP_SHARED_SECRET
エージェントでコネクタを有効にします。
HTTPハンドラーは、initialize / Mcp-Session-Id なしでtools/listとtools/callに応答します。これは、ExternalMcpClientServiceが送信する内容に一致します。セッション対応のStreamable HTTPは、Cursorでも引き続き機能します。
セキュリティ
HTTPSのみ(
ALLOW_INSECURE_HTTP=trueの場合を除く)localhost、RFC1918、リンクローカル、CGNAT、クラウドメタデータホストをブロック
DNS解決を行い、プライベートな応答を拒否
ページ内のブロック対象URLへのリクエストを中断
呼び出しごとに新しいブラウザコンテキスト — Cookieは共有されません
フォーム入力 / クリック / ファイルアップロードのツールはありません
スクリプト
npm run typecheck
npm test
npm run buildThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Read a URL as clean markdown, screenshot a website, url to PDF. Web access for agents, no signup.
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/rajurayhan/sulus-web-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server