pseolint について
pseolintは、SEOチームやコーディングエージェント向けのMCPサーバーです。テンプレート単位でプログラマティックSEOサイトを監査し、リスクの説明や技術チェック、修正案を提供します。構造化された検出結果に加え、ルール文書、安全制御、費用上限も備えています。
主な機能
- 01テンプレート単位のサイト監査
- 02リスクスコアの説明と修正案
- 03ページ単位の技術SEOチェック
- 04監査を修正マニフェストに集約
- 05安全制御付きルール文書の提供
活用シーン
- 01公開前のプログラマティックページ確認
- 02テンプレート単位の重複や孤立ページの発見
- 03サイトのリスク要因の把握
- 04監査結果に対する検証済みパッチの生成
MCP 対応
サイト監査、スコア説明、ページチェック、監査のオーケストレーションをMCPツールとして提供し、読み取り専用のルールリソースも公開します。ローカルのstdioパッケージまたはホスト型リモートエンドポイントで利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @pseolint/mcpANTHROPIC_API_KEYシークレットAI provider key used ONLY by the pseolint_orchestrate_audit tool (auto-detects ANTHROPIC_API_KEY / OPENAI_API_KEY / etc.). The other three tools run without it.PSEOLINT_MCP_SAMPLE_CAPOptional. Max pages sampled per audit (default 50).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| source | string | はい | 監査する URL(例: http://localhost:3000)またはローカルディレクトリパス(例: ./out) |
| threshold | integer | いいえ | リスクしきい値 — リスクがこの値以上の場合、`passed` は false になります(デフォルト:40。意味的には「caution」の判定に相当) |
| sampleSize | integer | いいえ | ランダムに抽出した N ページを監査します。0 = MCP の上限 50 ページまでの全ページ。明示的に設定すると上限を変更できます(最大 500)。 |
| format | enum | いいえ | テキストコンテンツの形式です。完全な機械可読出力には 'json'、人が読みやすい要約には 'console' を使用します。structuredContent は常に返されます。console | json |
| authorityScore | integer | いいえ | 独自ドメインのオーソリティ(0-100)。>=80 の場合、確立されたブランドの判定を1段階緩和します。<=30 の場合、新興またはオーソリティの低い運営者の判定を1段階厳しくします。生のリスク値は変更されません。 |
| contentEffort | boolean | いいえ | AI コンテンツ制作努力シグナルを有効にします。ページテキストから評価した独自性/制作努力スコア(0-100)により、判定を±1段階調整します。サーバー環境に ANTHROPIC_API_KEY が必要です。未設定の場合は安全に何も実行しません。デフォルトではオフです。監査ごとに LLM の費用が数セント追加されます。 |
| sampleSeed | integer | いいえ | 決定論的な層化サンプリングに使用する整数シード。同じシード + 同じ sampleSize なら、実行ごとに同じ監査結果と判定になります。 |
詳細
@pseolint/mcp
pseolint 用 MCP サーバー:AI コーディングアシスタントから、テンプレートごとに pSEO サイトを監査します。
Claude Code や Claude Desktop、Cursor、Windsurf などの AI コーディングアシスタントに、pseolint v0.7.5 の監査ツールを公開する MCP(Model Context Protocol) サーバーです。
すべてのツールに pseolint_ プレフィックス(pseolint_audit_site、pseolint_explain_score、pseolint_check_page_technical、pseolint_orchestrate_audit)が付いているため、ほかの MCP サーバーとの名前の衝突を防げます。また、各ツールは人が読めるテキストと、機械可読な structuredContent の両方を返します。
v0.6 の新機能:ツールの応答にテンプレートごとの出力を追加
audit_site は、既存の findings リストに加えて templates 配列を返すようになりました。AI クライアントはパラメーターを変更せずに、テンプレートごとの表示を自動的に取得できます。
{
"verdict": "concerning",
"risk": 60,
"templates": [
{
"signature": "/listing/:slug",
"totalUrls": 8201,
"auditedUrls": ["https://example.com/listing/foo", "..."],
"verdict": "concerning",
"risk": 60,
"variance": {
"uniformityScore": 0.85,
"topDriver": { "ruleId": "spam/thin-content", "fireRate": 0.8 }
}
},
{ "signature": "/category/:slug", "verdict": "ready", "risk": 12 }
],
"findings": [...]
}
templates を順に確認する際、topDriver ルールと fireRate が最も実用的な指標です。「サンプル 10 件中 8 件が spam/thin-content に該当」とあれば、問題のあるテンプレートと修正方法を LLM に伝えられます。findings のフラットリストも引き続き利用でき、URL ごとの詳細な確認に使えます。
設計の根拠: docs/superpowers/specs/2026-05-04-pseolint-v0.6-audit-as-template-reframe.md
v0.5.2 の新機能:信頼性レイヤー
- コンテンツ品質ルールを 4 件追加。基盤となるエンジンに追加され、
audit_siteとorchestrate_auditで使用されます。ルールはcontent/title-uniqueness、content/heading-structure、content/image-alt-text、tech/og-completenessです。検出結果は、標準のルール検出結果としてツール出力に表示されます。 audit_site.authorityScoreパラメーター(0~100):独自の DA を指定できます。>= 80では、確立されたブランドの判定が 1 段階緩和されます。<= 30では、新興または権威性の低い運営者の判定が 1 段階厳しくなります。数値のriskは変わりません。audit_site.sampleSeedパラメーター:決定論的なサンプラーです。同じシードを使えば、実行ごとに同じ監査結果と判定になります。AI アシスタントがユーザーに検出結果の確認を求める場合も、再現可能な監査を実行できます。spam/doorway-patternのクラスター集約:カタログディレクトリで 276 組にわたる検出結果があった場合、LLM のコンテキストウィンドウを圧迫する 276 行ではなく、グループごとに 1 行のクラスターとして返されます。- 検出結果の実用性を維持:情報レベルの検出結果はカテゴリごとに上限が設定されているため、それだけで判定を引き下げるほど蓄積されません。LLM に届くのはノイズではなく、実際に意味のあるシグナルです。
- pseolint.dev/methodology に記載された、実稼働中の信頼できる pSEO サイトを用いた調整。トレードオフと制限事項も記載されています。
v0.5 の新機能
orchestrate_audit ツール。 25 個の決定論的な監査ツールを使って LLM に監査を実行させ、具体的なコピー&ペースト可能なパッチ(書き換えた H1、JSON-LD ブロック、robots.txt の差分など)を含む修正マニフェストを生成します。問題の一覧だけでなく、具体的な修正を求めるユーザーに使います。
保守的な MCP のデフォルト設定:$2/ツール呼び出し 60 回/実行時間 180 秒(CLI の $5/100 回/300 秒に対して)。出力モードは summary(チャット UI 向けの簡潔なテキスト)と json(マニフェスト全体+検証結果+差分)の 2 種類です。呼び出しごとに実際の USD 消費額が報告されます。決定論的バリデーターに通らなかったパッチはマニフェストから削除され、別途提示されます。
プロンプトの例:「pseolint_orchestrate_audit ツールを使って、https://example.com を AI ネイティブに監査し、具体的な修正案を提示してください。」
安全性のデフォルト設定(v0.3.3 以降)
3 つのツールはすべて、デフォルトで safeMode: "saas" に設定されています。エンドユーザー環境で動作する AI アシスタントが、悪意ある URL 引数によって AWS/GCP のメタデータエンドポイント、localhost、RFC1918 ネットワークをスキャンさせられるのを防ぎます。具体的には、次のとおりです。
guardSsrf: true:ソース URL、サイトマップのエントリー、リダイレクト先、検出されたリンクに対し、DNS 検証を伴うプライベート IP 範囲のチェックを行います。respectRobotsTxt: true:対象のrobots.txtで Disallow とされているサイトマップ URL は、クロールせずにスキップされます。maxFetchBytes(10 MB)とmaxCrawlDiscovered(2000)の上限を強化
ツール
pseolint_orchestrate_audit (v0.5)
25 個の監査ツールを通じて LLM を実行し、具体的なパッチを含む修正マニフェストを作成します。問題の一覧だけでなく、貼り付けて使える修正を求めている場合に使用します。Anthropic のマネージド環境では、監査 1 回あたり約 1~3 ドルかかります。
パラメーター:
domain(必須):監査するサイトの URL(例:https://example.com)maxCostUsd:USD の上限(デフォルト:2)maxToolCalls:ツール呼び出し回数の上限(デフォルト:60)maxWallSeconds:実時間の上限(デフォルト:180)format:summary(簡潔なテキスト)またはjson(完全なマニフェスト+検証+差分)
戻り値:判定+カテゴリ+各分類で上位 3 件のパッチを含むテキストの概要(format: "json" の場合は完全な JSON)。検証エラーは個別に一覧表示されるため、LLM ホストとの会話で、実際に適用された内容を正確に把握できます。
プロンプトの例:「https://example.com で pseolint_orchestrate_audit を format=summary で使用してください」
pseolint_audit_site
URL またはディレクトリパスに対して、pseolint の完全な監査を実行します。サイト全体の判定+リスクスコア、テンプレートごとの判定と変動指標を含む templates 配列、および実行可能な修正案を含む URL ごとのすべての指摘を返します。
パラメーター:
source(必須):監査する URL またはディレクトリパスthreshold:合格/不合格のスコアしきい値(デフォルト:40)sampleSize:監査するページ数 N のランダムなサブセット(0 = すべて)format:出力形式:consoleまたはjson(デフォルト:console)authorityScore:ドメインオーソリティのヒント(0~100)。80 以上の場合、判定が 1 段階緩和され、30 以下の場合は 1 段階厳しくなります。riskの生の数値は変わりません。contentEffort(ブール値、デフォルト false):AI によるコンテンツ努力度のシグナルを有効にします。LLM がサンプルページのテキストから独自性/努力度を 0~100 で評価し、判定を最大 1 段階緩和または厳格化します。MCP サーバーの環境変数にANTHROPIC_API_KEYが必要です。設定されていない場合は安全に何も行いません。監査 1 回あたり数セントの LLM コストが追加されます。sampleSeed:層化抽出を再現可能にする整数のシード。同じシードを使うと、同じ監査結果と判定になります。
戻り値(v0.6 形式): verdict、risk、categories、templates: Template[]、findings: RuleResult[]。AI クライアントは、まず templates を確認してください。topDriver.ruleId + fireRate は、テンプレートごとに最も実用的なシグナルです。URL ごとの詳細確認には findings を使用してください。
プロンプトの例:「http://localhost:3000 のサイトを監査し、テンプレートごとの内訳を表示してください」
pseolint_explain_score
監査を実行し、SpamBrain リスクスコアに影響している要因を、人が読みやすい形式で説明します。カテゴリ別の内訳、主な問題、優先順位付きの修正案が含まれます。
パラメーター:
source(必須):監査する URL またはディレクトリパスthreshold:合格/不合格判定のリスクしきい値(デフォルト:40)authorityScore:ドメインオーソリティのヒント(0~100)。80 以上の場合、判定が 1 段階緩和され、30 以下の場合は 1 段階厳しくなります。riskの生の数値は変わりません。contentEffort(ブール値、デフォルト false):AI によるコンテンツ努力度のシグナルを有効にします。LLM がサンプルページのテキストから独自性/努力度を 0~100 で評価し、判定を最大 1 段階緩和または厳格化します。MCP サーバーの環境変数にANTHROPIC_API_KEYが必要です。設定されていない場合は安全に何も行いません。監査 1 回あたり数セントの LLM コストが追加されます。sampleSeed:層化抽出を再現可能にする整数のシード。
プロンプトの例:「サイトの SpamBrain スコアが高い理由を説明してください」
pseolint_check_page_technical
単一ページの URL をチェックし、ページ単位のテクニカル SEO の問題(canonical、Open Graph、JSON-LD、robots、meta、薄いコンテンツ、著者シグナル)を確認します。ページ間のルールは実行しません。それらの確認には pseolint_audit_site を使用してください。
パラメーター:
url(必須):チェックするページの完全な URL
プロンプトの例:「https://yoursite.com/templates/california-llc のテクニカル SEO の問題をチェックしてください」
リソース
サーバーは、pseolint のルールに関するナレッジも読み取り専用のMCP リソースとして公開しているため、アシスタントは推測したりウェブから取得したりせずに、検出内容を説明できます。リソースは ruleId をキーとしており、これはすべての監査結果に表示される識別子(例:spam/thin-content)と同じなので、ツールの出力と 1 対 1 で対応します。
pseolint://rules:ドキュメント化されたすべてのルールの JSON インデックス(ruleId、title、ルールごとのリソース URI)です。利用可能な内容を確認するため、まずこれを読み取ってください。pseolint://rules/<ruleId>:ルールごとの Markdown リソースです。例:pseolint://rules/spam/thin-content。各リソースには、ルールへのリンク、検出内容セクション、修正方法のチェックリストが含まれます。
一般的な流れ:pseolint_audit_site を実行し、検出結果から ruleId を取得してから、pseolint://rules/<ruleId> を読み取り、pseolint 独自のルールドキュメントに基づいて説明と修正方法のアドバイスを提示します。
リモートサーバー(ホスト型、インストール不要)
何もインストールしたくない場合は、MCP クライアントからホスト型エンドポイントに接続してください。
https://pseolint.dev/mcp
サインアップ不要で、読み取り専用の監査ツール 3 つ(pseolint_audit_site、pseolint_explain_score、
pseolint_check_page_technical)を提供します。匿名での利用にはレート制限があります。pseolint.dev のダッシュボードで
API キーを作成し、Authorization: Bearer <key> として送信すると、上限を引き上げられます。AI がオーケストレーションする
pseolint_orchestrate_audit ツールは、現在のところ stdio パッケージ(以下)または CLI からのみ利用できます。
クライアント設定の例:
{ "url": "https://pseolint.dev/mcp", "headers": { "Authorization": "Bearer <key>" } }
インストール
Claude Code
claude mcp add pseolint -- npx @pseolint/mcp
Claude Desktop
claude_desktop_config.json に追加します:
{
"mcpServers": {
"pseolint": {
"command": "npx",
"args": ["@pseolint/mcp"]
}
}
}
Cursor
.cursor/mcp.json に追加します:
{
"mcpServers": {
"pseolint": {
"command": "npx",
"args": ["@pseolint/mcp"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します:
{
"mcpServers": {
"pseolint": {
"command": "npx",
"args": ["@pseolint/mcp"]
}
}
}
VS Code(GitHub Copilot)
.vscode/mcp.json に追加します:
{
"servers": {
"pseolint": {
"command": "npx",
"args": ["@pseolint/mcp"]
}
}
}
チェック内容
65 のルールをテーマ別に分類しています(スコア対象の 4 カテゴリー:整合性、発見可能性、引用、データに集約されます)。
- SpamBrain リスク:類似コンテンツの検出、エンティティ差し替え型ドアウェイページ、内容の薄いコンテンツ、定型文の比率
- コンテンツ品質:ページごとの独自価値、見出し/メタデータの一意性、E-E-A-T のシグナル
- 内部リンク:孤立ページ、行き止まり、クラスターの接続性、リンク階層の深さ
- テクニカル SEO:canonical の一貫性、サイトマップの網羅性、robots.txt の競合
- 構造化データ:JSON-LD の検証、必須フィールド、スキーマの一貫性
- カニバリゼーション:URL パターンの競合(
title-overlapとkeyword-collisionは、誤検出率が高かったため v0.4 で削除されました)
リンク
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。