コンテンツにスキップ

MCP サーバー

@svelte-vitals/mcp は、svelte-vitals をツールとして公開する Model Context Protocol サーバーです。AI エージェントはそのツールループ内でこれらのツールを呼び出すことができます。エージェントは構造化された実行可能な検出結果を受け取ります — それぞれに fixrecommendationdocsUrl が含まれており、CLI サブプロセスを手動で起動する必要はありません。

ESM のみ(Node 22.13+)。ES モジュールのみを提供します。require() は設計上サポートされていません。

SvelteKit プロジェクトの静的モード分析を実行します。

入力パラメータ:

パラメータ 説明
path string? SvelteKit プロジェクトへのパス(デフォルトは cwd)
metaComponents string[]? ヘッドメタデータを出力するコンポーネント名
route string? この glob に一致するルートのみを分析
diff string? この git 参照(例:"origin/main")と比較して変更されたファイルに検出結果を絞り込む。CLI の --diff フラグに相当
baseline string? この git 参照(例:"origin/main")の時点でまだ存在しなかった検出結果のみを報告する。CLI の --baseline フラグに相当
noSuppressions boolean? この呼び出しでは svelte-vitals-suppressions.json を無視する。CLI の --no-suppressions フラグに相当
treatDynamicAs 'pass' | 'warn' | 'fail'? 動的メタデータ値の扱い方
rules string[]? 有効にするルール ID(他はすべて無効)
ignore string[]? 無効にするルール ID
categories string[]? 分析対象をこれらのカテゴリに絞り込む(rules/ignore の選択との積集合。大文字小文字は区別しない)
failOn 'critical' | 'warning' | 'info'? レスポンスの failed フラグの重大度閾値
weights Record<string, number>? 組み合わせた Health スコアのカテゴリごとの重み(例:{"seo": 2})。カテゴリ名は大文字小文字を区別せず、指定しなかったカテゴリはデフォルトの重み 1 になります

返り値: ルートごとおよびサイト全体のスコアと検出結果のリスト。各検出結果には fixrecommendationdocsUrl が含まれます。

プロジェクトルートの svelte-vitals.config ファイル(設定ファイル を参照)も自動的に読み込まれます — これらのツール引数は、CLI フラグと同じように設定ファイルより優先されます。

単一ルールのドキュメントを返します。

入力パラメータ:

パラメータ 説明
ruleId string ルール ID(例:SEO001

返り値: ルールのタイトル、カテゴリ、重大度、根拠、ドキュメント URL、修正テンプレート。

クイックセットアップ(推奨)

Section titled “クイックセットアップ(推奨)”

プロジェクトルートで対話式インストーラーを実行すると、MCP サーバーを自動で設定します:

Terminal window
npx svelte-vitals@latest install

Claude CodeCursorCodex に対応しており、各クライアントの設定にサーバーエントリをマージします(既存の他のサーバーはそのまま維持されます)。利用可能なフラグ(--client--scope--yes--dry-run--force)については svelte-vitals install を参照してください。

stdio トランスポートをサポートする任意の MCP クライアントは手動で設定できます。クライアントの設定(例:Claude Code の .mcp.json~/.claude.json)に以下を追加します:

{
"mcpServers": {
"svelte-vitals": {
"command": "npx",
"args": ["-y", "@svelte-vitals/mcp"]
}
}
}

Codex の場合、~/.codex/config.toml に相当する TOML を追加します:

[mcp_servers.svelte-vitals]
command = "npx"
args = ["-y", "@svelte-vitals/mcp"]

サーバーは stdio を通じて通信します — HTTP ポートは開きません。