mcpField
C
Cowboy MCP

Cowboy MCP

リモート
cowboymcp.comビジネス・マーケティング162 日前に更新
リポジトリ公式サイト

Cowboy MCP について

Cowboy MCP は、WordPress サイトを MCP サーバーとして公開するオープンソースプラグインです。クライアントからコンテンツ、コマース、サイト設定をツールで管理でき、変更ごとの取り消し、データベースチェックポイント、監査ログを備えます。

主な機能

  1. 01コンテンツとサイト管理のツール
  2. 02WooCommerce と多数のプラグインに対応
  3. 03変更ごとの取り消しと DB チェックポイント
  4. 04書き込み操作のドライランと確認
  5. 05OAuth または API キーで接続
  6. 06必要なときにツールを検出して実行

活用シーン

  1. 01ページ、投稿、メディアの編集
  2. 02WooCommerce の商品や注文の管理
  3. 03プラグイン、テーマ、サイト設定の管理
  4. 04変更の取り消しと監査記録の確認

MCP 対応

WordPress 内で Streamable HTTP による MCP サーバーを稼働させ、OAuth ログインまたは API キーでクライアントを接続します。ツールは必要に応じて検出・実行でき、リソース、リソーステンプレート、ワークフロープロンプトも提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://{site_host}/wp-json/cowboy-mcp/v1/endpoint
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://{site_host}/wp-json/cowboy-mcp/v1/endpoint認証が必要

ツール

詳細

Cowboy MCP 🤠 — 元に戻せる無料の WordPress MCP サーバー

Cowboy MCP は、あらゆる WordPress サイトを Streamable HTTP 経由の Model Context Protocol(MCP)サーバーに変える、無料のオープンソース WordPress プラグインです。これにより、Claude、ChatGPT、Gemini、Grok、Perplexity、Muse、Cursor、VS Code、Claude Code、Codex、n8n、OpenClaw、Hermes Agent など、あらゆる MCP クライアントが、203 個のツールを使って平易な英語でサイトを管理できます。変更ごとの取り消し、データベースのチェックポイント、監査ログを備えているため、本番稼働中のサイトでも安心して使用できます。

Version WordPress PHP Tested License Glama score

インストール: WordPress.org プラグインディレクトリ
ウェブサイトとガイド: cowboymcp.com

▶ 90 秒のデモを見る

接続タブ:使用する AI アプリを選び、ワンクリックまたはリンクの貼り付けでサイトを追加して、ブラウザーからサインインします


Cowboy MCP を選ぶ理由

  • すべてのツールが無料です。 最大 203 個の組み込みツールに加え、WordPress Abilities API を通じてプラグインが登録するすべての機能を利用できます。コンテンツ、Gutenberg/Site Editor、WooCommerce、ユーザー、メディア、メニュー、プラグイン、テーマ、ファイル、データベース、WP-CLI、診断、リビジョン、SEO(Yoast、Rank Math、AIOSEO、SEOPress)、The Events Calendar、ACF、Elementor、Beaver Builder、SiteOrigin、Wordfence、キャッシュ、フォームなどに対応しています。GPL ライセンスで、Pro プランも、クレジットも、使用量メーターもありません。
  • 変更はすべて元に戻せます。 変更ごとの取り消しジャーナル(変更前の状態のスナップショット、競合検出、一括取り消し)に加え、ワンクリックでデータベースのチェックポイントを作成でき、監査ログも常時記録されます。プラグインやテーマの更新前にはファイルのバックアップとチェックポイントを作成し、更新後のヘルスチェックに失敗すると自動で復元します。
  • 仲介するものはありません。 MCP エンドポイントは WordPress のインストール環境内で動作します。ホスト型リレーも、アカウントも、テレメトリーもなく、AI クライアントがサイトに直接接続します。
  • デフォルトで安全です。 セーフモード(破壊的なツールの実行には確認が必要)、すべての書き込みツールでのドライラン、認証情報ごとの読み取り専用/カスタムスコープ設定、一度だけ表示されるハッシュ化キー、キーごとのレート制限、機密性の高いオプション/危険な SQL/WP-CLI コマンドの拒否リスト、SSRF 保護、wp-content 内に限定したパスアクセスに対応しています。また、Power モードを有効にできるのは wp-admin の人間ユーザーだけです。
  • すべてのアプリでワンクリックサインイン。 どのアプリからでも、サイト上のサインインページに移動できます。Claude、ChatGPT、Gemini、Grok、Perplexity、Cursor、VS Code はワンクリックまたはリンクの貼り付けで、Claude Code、Codex、Gemini CLI、Muse Code はコマンド 1 つで、Muse、OpenClaw、Hermes Agent はメッセージ 1 つの貼り付けで、n8n は OAuth2 で接続できます。同意画面にはアプリ名が表示され、フルアクセス、読み取り専用、またはツールを選んだリストへのアクセスを許可できます。Approve をクリックするまで、何も許可されません。API キーは、ブラウザーサインインを使わないスクリプト、CI、エディター(Windsurf、Cline、Zed)向けに引き続き利用できます。
  • ローカル環境でも動作します。 Local、Studio、MAMP、DevKinsta、wp-env では、ターミナルツールが本番サイトと同じようにキーを使って接続します。Claude Desktop は、Connections タブが生成する mcp-remote ブリッジ経由で接続します。
  • コンテキストを効率的に使えます。 tools/list が返すのは 2 つのゲートウェイツール(cowboy_discover、cowboy_run)です。エージェントは 203 個のスキーマをコンテキストに読み込む代わりに、必要に応じて他のツールを検出して実行します。WordPress 6.9 以降では、すべてのツールが cowboy-mcp/* アビリティとしても利用でき、WP-CLI、REST、公式 MCP Adapter に対応します。取り消しも可能です。
  • 依存関係はゼロです。 WordPress のネイティブ API のみを使用します。Composer、npm、ビルド手順、リクエスト時の wp-admin/includes は不要です。WP-CLI や shell_exec() を使えないホストでも動作します。

「他のどの MCP よりも多くの操作ができて、使いやすいです。変更ジャーナルとチェックポイントがとても気に入りました。何かを壊してしまっても安心です。」— WordPress.org のレビュー

ツールの対応範囲

分野ツールエージェントが実行できること
コンテンツ投稿/固定ページ/カスタム投稿タイプ 5 · タクソノミー 4 · コメント 4 · メディア 4 · メニュー 6 · オプション 1下書き、編集、予約、公開、メディアのアップロード、代替テキストの修正、ナビゲーションメニューの作成
Gutenberg とサイトエディター15(クラシックテーマでは 8)ページをブロックツリーとして読み取り、パスで編集、ブロックタイプ、パターン、FSE テンプレート/パーツ、グローバルスタイル、ナビゲーション
サイト管理ユーザー 5 · プラグイン 6 · テーマ 5 · ファイル 4 · データベース 5 · WP-CLI/システム 3 · サイトヘルス 1プラグインとテーマの安全なインストール/更新/削除、権限の管理、wp-content 内のファイル編集、テーブルの修復、WP-CLI の実行
診断10エラーログ、HTTP とメールのテスト、フック、一時データ、REST ルート、サムネイル、リライトルール、スナップショット、Connection Doctor
安全性ロールバック 6 · 一括処理/監査 2変更の一覧表示と取り消し、チェックポイントの作成/一覧表示/復元/削除、一括実行、監査ログの取得
WooCommerce40商品とバリエーション、注文と返金、顧客、クーポン、税/配送/決済の設定、レポート
Wordfence17スキャン、ブロック、ファイアウォール、ライブトラフィック、アクティビティ、設定
ACF/Elementor9/7フィールドグループ、フィールド、リピーター/テンプレート、ページコンテンツ、グローバルスタイル、ウィジェット
Beaver Builder/SiteOrigin7/12ビルダーページ、ドライラン差分付きのレイアウト、モジュール、グローバル設定/レイアウトと行/ウィジェットの編集、既成レイアウト、ウィジェット、設定、Widgets Bundle の有効化
リビジョン/イベント3/13投稿リビジョンの一覧表示、差分表示、復元/The Events Calendar のイベント、会場、主催者、および Events Calendar Pro の繰り返し
SEO/キャッシュ/フォーム4/4/1Yoast、Rank Math、All in One SEO、SEOPress のメタデータの読み取り/書き込み/監査/WP Rocket、LiteSpeed、W3TC/WPForms、Gravity Forms、CF7

ほかのページビルダーのほとんどにも対応しています。レイアウトを投稿コンテンツまたは投稿メタデータに保存するビルダーは、標準の投稿ツールで編集でき、同じドライランと変更ごとの取り消しが利用できます。

さらに、読み取り専用リソース 17 個(wordpress://tools/catalog を含む)、リソーステンプレート 4 個(wordpress://posts/{id}、wordpress://options/{name}、wordpress://plugins/{slug}、wordpress://users/{id})、引数の自動補完に対応したワークフロープロンプト 8 個があります。連携機能は、対応するプラグインが有効な場合にのみ登録されます。

必要条件

  • WordPress 6.2 以降(7.1 までテスト済み)
  • PHP 8.0 以降
  • OAuth コネクターとクラウドクライアント(claude.ai、ChatGPT)には HTTPS が必要です。ローカルサイトのターミナルツールでは、通常の HTTP も使用できます。

インストール

  1. プラグイン → 新規追加でCowboy MCPを検索し、インストールして有効化します。または、WordPress.org からダウンロードします。
  2. 設定 → Cowboy MCP → API キーを生成を選択します。キーをコピーしてください。キーは一度だけ表示され、ハッシュ化して保存されます。
  3. クライアントを接続します(以下を参照)。接続タブには、サイトのエンドポイントがあらかじめ入力された各スニペットが表示されます。

更新は通常の WordPress 更新画面から適用できます。

アプリを接続する

各アプリは、自分のサイトに表示される同意画面を通じてサインインします。貼り付ける API キーは不要です。プランによる制限、ローカルサイトでの動作可否、各項目をエンドツーエンドで最後に検証した日付を含む全一覧は、cowboymcp.com/connect で確認できます。

アプリ必要なプランボタンまたはコマンドガイド
Claude (claude.ai)Claude のいずれかのプラン。Free ではカスタムコネクターを 1 つ利用できます。Team と Enterprise では、オーナーが先に追加する必要がありますConnections タブ → Add to Claudeconnect-wordpress-to-claude
Claude Desktopclaude.ai と同じConnections タブ → Add to Claude、または Customize → Connectors → Add custom connectorconnect-wordpress-to-claude-desktop
Claude CodeClaude Code を含む Claude プラン(Pro または Max)、または API の従量課金Connections タブ → Claude Code パネル → 2 行のコマンドを実行(claude mcp add、claude mcp login)connect-wordpress-to-claude-code
ChatGPTウェブ版の Business、Enterprise、または Edu ワークスペース。Pro ではサーバーを 1 つ読み取り専用で接続できます。Developer モードはありませんConnections タブ → Open ChatGPT、次に Plugins → Add → Add custom MCP server → Create as a pluginconnect-wordpress-to-chatgpt
Codex CLI and appCodex を含む ChatGPT プラン(Plus、Pro、Business、Enterprise、または Edu)、または API キーConnections タブ → Codex パネル → codex mcp add コマンドを 1 つ実行connect-wordpress-to-codex
PerplexityPro、Max、または Enterprise。Free ではカスタムコネクターを利用できませんConnections タブ → Open Perplexity、次に Plugins(または Customize → Connectors)→ Add custom → Add MCP connectorconnect-wordpress-to-perplexity
Grok無料プランを含む、いずれかのプランConnections タブ → Open Grok、次に grok.com/connectors → New Connector → Customconnect-wordpress-to-grok
Gemini app米国在住の 18 歳以上で、英語版 Gemini を利用している個人の Google アカウント。有料プランの記載はありませんConnections タブ → Open Gemini、次に Customize → Connectors → + Customconnect-wordpress-to-gemini
Gemini CLIGoogle アカウント。無料枠を利用できますConnections タブ → Gemini CLI パネル → gemini mcp add コマンドを 1 つ実行し、次に /mcp authconnect-wordpress-to-gemini
Muse (Meta)無料。Meta は米国とカナダで Muse を提供していますConnections タブ → Muse パネル → Copy message をクリックし、新しい Muse チャットに貼り付けますconnect-wordpress-to-muse
Muse Code同じ Muse アカウントConnections タブ → Muse Code パネル → Copy message をクリックし、muse に貼り付けてから muse mcp login コマンドを 1 つ実行しますconnect-wordpress-to-muse#muse-code
CursorCursor のいずれかのプランConnections タブ → Add to Cursorconnect-wordpress-to-cursor
VS Code (GitHub Copilot)Free を含む、いずれかの Copilot プランConnections タブ → Install in VS Codeconnect-wordpress-to-vs-code
n8nn8n Cloud のいずれかのプラン、またはセルフホストの n8n(Community Edition を含む)Connections タブ → n8n パネルで、MCP OAuth2 認証情報を使用する MCP Client Tool ノードを追加しますconnect-wordpress-to-n8n
OpenClaw実行中の OpenClaw ゲートウェイConnections タブ → OpenClaw パネル → Copy message をクリックして OpenClaw チャットに貼り付けるか、openclaw mcp add + openclaw mcp login を実行しますconnect-wordpress-to-openclaw
Hermes AgentNous Research の Hermes Agent。チャット経由で接続するには接続ツールが必要ですが、ターミナルコマンドはすべてのインストール環境で使えますConnections タブ → Hermes Agent パネル → Copy message をクリックして Hermes チャットに貼り付けるか、hermes mcp add … --auth oauth を 1 つ実行しますconnect-wordpress-to-hermes-agent
Windsurf、Cline、Zed、LibreChat など、ほかの Streamable HTTP クライアントは、スコープ付き API キーを使って接続します(以下の設定ブロックを参照してください)。Opencode は同じブラウザー認証フローでサインインします。

エージェントを接続する

エンドポイントは https://yoursite.com/wp-json/cowboy-mcp/v1/endpoint です(Streamable HTTP 上の JSON-RPC 2.0、MCP 2025-06-18)。

Claude Code

claude mcp add --transport http your-site https://yoursite.com/wp-json/cowboy-mcp/v1/endpoint \
  --header "Authorization: Bearer YOUR_API_KEY"

Claude デスクトップおよび Web、ChatGPT(ワンクリック、キー不要) — Connections タブで Add to Claude / Open ChatGPT をクリックします(ブラウザーサインインは有効になっています。ChatGPT の場合は、コピーしたリンクをカスタム MCP サーバーとして貼り付けてください)。サイトで同意画面を承認します(フルアクセス、読み取り専用、またはカスタムアクセスを選択します)。公開 HTTPS サイトが必要です。

ローカルサイト上の Claude Desktop — Connections タブに表示される mcp-remote ブリッジの設定を使用します。

{
  "mcpServers": {
    "your-site": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://yoursite.local/wp-json/cowboy-mcp/v1/endpoint",
        "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }
    }
  }
}

Cursor / Windsurf(Devin Desktop)(~/.cursor/mcp.json、~/.config/devin/mcp_config.json)

{
  "mcpServers": {
    "your-site": {
      "url": "https://yoursite.com/wp-json/cowboy-mcp/v1/endpoint",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Cline:エントリーに "type": "streamableHttp" を追加します。VS Code(.vscode/mcp.json):mcpServers の代わりに servers を使い、"type": "http" を追加します。Zed:同じ url と headers を設定の context_servers に追加します。

Codex CLI — Codex は起動のたびにキーを読み込むため、export もシェルプロファイルに追加してください。

export COWBOY_MCP_API_KEY="YOUR_API_KEY"
codex mcp add your-site --url https://yoursite.com/wp-json/cowboy-mcp/v1/endpoint --bearer-token-env-var COWBOY_MCP_API_KEY

Gemini CLI

gemini mcp add --scope user --transport http your-site https://yoursite.com/wp-json/cowboy-mcp/v1/endpoint \
  --header "Authorization: Bearer YOUR_API_KEY"

Gemini アプリ、Grok、Perplexity、Meta Muse、OpenClaw、Hermes Agent、n8n(キー不要) — Connections タブにそれぞれ専用のパネルがあります。クラウドアプリでは接続リンクをカスタム MCP サーバーとして使用し、Muse、OpenClaw、Hermes ではチャットに貼り付けるメッセージを使用します。n8n の MCP Client Tool ノードでは MCP OAuth2 を使用します。いずれもブラウザーを通じてサイトにサインインします。

Bearer ヘッダーを使った Streamable HTTP に対応するクライアント(n8n、Opencode、LibreChat、独自のエージェントなど)は、同じ方法で接続できます。Opencode:リモートサーバーで "oauth": false を設定すると、キーが使用されます。クライアント別の手順ガイドはこちらです:cowboymcp.com。

curl による簡単な動作確認

curl -s -X POST https://yoursite.com/wp-json/cowboy-mcp/v1/endpoint \
  -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"cowboy_run","arguments":{"tool":"wp_site_info","arguments":{}}}}'

安全性モデル

  • セーフモード(デフォルトで有効):destructiveHint が付与されたツールは、confirm: true を付けて呼び出しを再送するまで実行を拒否します。拒否時にはプレビューが表示されます。
  • ドライラン:読み取り専用でないすべてのツールは dry_run: true を受け付け、変更される内容を正確に報告します。
  • 取り消しジャーナル:ジャーナル対象の変更(投稿、オプション、ユーザー、メディア、メニュー、ターム、コメント、WooCommerce オブジェクト、SEO メタデータ、Gutenberg/FSE の編集、検索・置換の行、プラグイン/テーマのパッケージ)の変更前スナップショットを保存します。wp_list_changes / wp_undo_change、一括取り消し、競合検出、取り消しのやり直しに対応します。デフォルトの保存期間は7日間です。
  • データベースチェックポイント:サイトのテーブルをプレフィックスで指定してダンプし、アトミックに復元します。最大5件を保持します。プラグイン/テーマの更新や、変更を伴う WP-CLI コマンドの実行前に自動取得されます。チェックポイントで復元されるのはテーブルであり、アップロードファイルやコードは対象外です。
  • 監査ログ:すべてのツール呼び出し、エラー、認証イベントを {prefix}cowboy_mcp_audit_log に記録します(キー、ツール、引数、結果、IP)。30日後に削除され、読み取り時にはシークレットがマスキングされます。
  • スコープ付き認証情報:API キーと OAuth 接続には {mode: full|read_only|custom, allowed_tools[]} が設定されます。ディスパッチ時に適用され、cowboy_run 経由で呼び出されるツールや一括処理にも適用されます。readOnlyHint はセキュリティ境界として扱われます。
  • キーと制限:キーは一方向ハッシュで保存され、表示は一度だけで、個別に失効できます。キーごとのレート制限(デフォルトは120回/分)、リクエストの Origin 許可リストに対応します。OAuth トークンはハッシュ化して保存され、デフォルトでは無効で、管理者の同意が必要です。
  • ガードレール:保護対象オプションの拒否リスト(siteurl、active_plugins、認証情報、プラグイン独自の設定など)、危険な SQL と WP-CLI のブロックリスト(eval、shell、db drop など)をシェル形式のトークナイザーで適用します。送信リクエストの SSRF 検証、wp-content 内に限定したパスとアトミック書き込み、すべてのファイル書き込み前の PHP 構文チェック、Power モードなしでの mu-plugins への書き込み禁止、自身の削除と最後の管理者の削除の保護も行います。
  • パワーモード:管理者専用のチェックボックスで、単発のジョブに限り、選定されたガードレールを解除します。API 経由では有効にできず、認証情報オプションの保護、シークレットのマスキング、自身の保護は解除されません。
  • 接続ドクター:ワンクリックで自己診断を行います(HTTPS、到達可能性、REST、OAuth のディスカバリー、Cloudflare チャレンジ、ModSecurity 形式の WAF、LiteSpeed キャッシュなどのホスト側ブロッカー)。フィンガープリントに基づく原因と解決策も提示します。wp cowboy-mcp doctor コマンドと wp_connection_doctor ツールも利用できます。

比較

事実に基づく日付入りの比較はサイトで公開しています:すべての WordPress MCP プラグインの比較 · Novamira との比較 · AI Engine との比較 · WPVibe との比較 · InstaWP との比較 · WordPress MCP Adapter との比較 · セルフホスト型とホスト型の比較。要約すると、エンドポイントはリレーや従量課金なしでセルフホストでき、すべてのツールが無料で、取り消し機能、チェックポイント、監査ログが一体で提供されます。

アーキテクチャ

cowboy-mcp.php                 # entry point, constants, activation/uninstall
includes/
  class-mcp-transport.php      # REST route, JSON-RPC dispatch, sessions (Streamable HTTP)
  class-mcp-auth.php           # API keys (hashed), Bearer validation, rate limits, Origin allowlist
  class-mcp-oauth.php          # OAuth 2.1 authorization server (discovery, DCR, consent, tokens)
  class-mcp-security.php       # denylists, SSRF, SQL/WP-CLI gates, scoping, secret scrubbing
  class-mcp-tools.php          # registry, gateway meta-tools, dispatch, lazy domain loading
  class-mcp-rollback.php       # undo journal   class-mcp-checkpoint.php  # DB checkpoints
  class-mcp-audit-log.php      # audit table    class-mcp-installer.php   # WP.org package installer
  class-mcp-doctor.php         # Connection Doctor   class-mcp-compat.php  # admin-free reimplementations
  class-mcp-resources.php / class-mcp-prompts.php / class-mcp-completion.php
  tools/{core,gutenberg,acf,woocommerce,seo,forms,cache,elementor,wordfence}/
admin/                         # settings page (Connection, Settings, Activity, Logs, About), assets
languages/                     # 12 bundled locales for the admin UI (ru, uk, zh_CN, ja, ko, es, fr, de, pt_BR, it, hi, id)

エージェントに返されるツールの説明とエラーメッセージは意図的に英語にしています。管理画面は翻訳されています。

拡張性
  • cowboy_mcp_tools フィルター — 独自のツール定義とハンドラーを登録します。
  • cowboy_mcp_tool_allowed フィルター — リクエストごとに特定のツールをブロックします。
  • cowboy_mcp_allowed_origins フィルター — リクエストの Origin 許可リストを拡張します。

開発

npx wp-env start          # local WordPress at http://localhost:8890 with this checkout mounted as the plugin
CLI="$(docker container ls -q --filter 'name=^[0-9a-f]+-cli-1$')"
docker exec "$CLI" wp plugin check cowboy-mcp --format=csv   # Plugin Check (install it in wp-env first)
find . -name '*.php' -not -path './node_modules/*' -exec php -l {} +  # syntax check

ビルド手順はありません。プルリクエストを歓迎します。WordPress.org の審査要件(wp-admin/includes の読み込み禁止、パス定数の禁止、準備・検証済みの $wpdb クエリー、出力のエスケープ)を守ってください。

サポート、レビュー、セキュリティ

  • 質問や接続の問題: WordPress.org のサポートフォーラム — Connection Doctor のレポートを貼り付けてください。通常、トピックには 1 日以内に回答があります。
  • バグや機能リクエスト: GitHub のイシュー。
  • セキュリティの問題: 公開イシューではなく、このリポジトリの Security タブ(非公開の脆弱性報告)から非公開で報告してください。
  • レビュー: Cowboy MCP によって時間を節約できた場合は、WordPress.org でのレビューを投稿すると、ほかのサイト所有者が見つけやすくなります。

ライセンス

GPL-2.0-or-later。© Andrew Ivanov (februality)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。