Skip to main content
Glama
rajurayhan

sulus-web-mcp

by rajurayhan

sulus-web-mcp

ライブWeb調査のためのステートレスなPlaywright MCPです。エージェントは3つのツールを利用できます — browse_pageextract_linkssearch_page — それぞれがURLを開き、テキストを抽出してブラウザコンテキストを閉じます。クリック・入力・ログインのツールはありません。

Sulus Agents(ai-phone-system MCPコネクタ)と、その他のエコシステム(Cursor、MCPConnect)向けに構築されています。Laravelはプロセス内でChromiumを実行できないため、このサービスが、それらのエージェントが呼び出すHTTP MCPになります。

ツール

ツール

使用タイミング

戻り値

browse_page

公開ページの内容が必要な場合

タイトル、最終URL、整形済みマークダウン(またはリンク/タイトルのみ)

extract_links

外部リンクが必要な場合

href + テキストのマークダウンリスト

search_page

クエリに一致する抜粋が必要な場合

クエリの周辺の最大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 build

HTTP(エージェント、チーム、本番環境)

npm run start:http
# or: npm run dev:http

ヘルスチェック: GET /health
MCP: POST /mcp (JSON-RPC, Streamable HTTP)

変数

説明

MCP_SHARED_SECRET

/mcpに必要なBearerトークン

MCP_HOST / MCP_PORT / MCP_PATH

バインド(デフォルト: 0.0.0.0:3000/mcp

MCP_ALLOWED_HOSTS

許可するHostヘッダー値

ALLOW_INSECURE_HTTP

ローカルhttp\://テストの場合のみtrueに設定

ALLOW_HOSTS / DENY_HOSTS

オプションのホストリスト

NAVIGATION_TIMEOUT_MS

デフォルト25000(エージェントの60秒ツール・タイムアウト未満に設定)

BROWSER_MAX_CONCURRENT

デフォルト3

RATE_LIMIT_PER_MINUTE

Bearerトークンごとに、デフォルト30

MAX_OUTPUT_CHARS

デフォルト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エージェントから接続

  1. このサービスをHTTPSの背後にデプロイします。

  2. MCP Connectorsでカスタムサーバーを追加します:

    • URL: https://browse.sulus.ai/mcp

    • 認証: Bearer、トークン = MCP_SHARED_SECRET

  3. エージェントでコネクタを有効にします。

HTTPハンドラーは、initialize / Mcp-Session-Id なしtools/listtools/callに応答します。これは、ExternalMcpClientServiceが送信する内容に一致します。セッション対応のStreamable HTTPは、Cursorでも引き続き機能します。

セキュリティ

  • HTTPSのみ(ALLOW_INSECURE_HTTP=trueの場合を除く)

  • localhost、RFC1918、リンクローカル、CGNAT、クラウドメタデータホストをブロック

  • DNS解決を行い、プライベートな応答を拒否

  • ページ内のブロック対象URLへのリクエストを中断

  • 呼び出しごとに新しいブラウザコンテキスト — Cookieは共有されません

  • フォーム入力 / クリック / ファイルアップロードのツールはありません

スクリプト

npm run typecheck
npm test
npm run build
-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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