---
title: MCP ツール
description: "Model Context Protocol 上の 46 個のツール、呼び出しに必要な 3 つのもの、そして REST にあって MCP にないものを扱います。"
---

MCP は同じ製品に対する 2 つめのトランスポートであり、2 つめの製品ではありません。ツールは隣にある REST operation と同じサービス関数を呼び、同じアクションに解決され、同じ理由で拒否されます。

## このサイトが提供する MCP とは別のもの

この製品の周辺には MCP サーバーが 2 つ存在し、これを混同することが最初に避けるべき間違いです。

|  | このドキュメントサイト | 製品 |
| --- | --- | --- |
| エンドポイント | `https://docs.taylorz.ai/mcp` | API ホストの `/mcp` |
| ツール | 4 個 — `search_docs`、`get_page`、`list_pages`、`get_navigation` | 46 個。下記のとおり |
| 到達するもの | このドキュメントのページ | ワークスペースの CRM データ |
| 認証 | なし。公開されています | OAuth。他のエンドポイントと同じです |
| 書き込み | ありません | あります。適切なスコープが必要です |

API **について**答えるエージェントが欲しいならこのサイトを指してください。レコードを読み書きするエージェントが欲しいなら以下をお読みください。

## 呼び出しに必要な 3 つのもの

ツールの呼び出しは REST リクエストと同じ 4 つの検査を通り、そのうち 3 つは別々に用意する必要があります。

1. **接続スコープ `mcp.access`。** トークンはちょうど 1 つのリソースを指名します。`/api/v1` 用に発行されたトークンは `/mcp` では動かず、逆も同じです。両方のトランスポートを使うエージェントは 2 つのトークンを持ちます。
2. **アクションスコープ。** 各ツールが 1 つを要求します。下記のとおりで、REST の対応物とまったく同じです。
3. **テナントの `mcp` モジュール。** 無効なワークスペースはトランスポート全体を `mcp_disabled` で拒否します。

4 つめの検査（メンバーの役割）は用意するものではありませんが、やはり適用されます。`viewer` に許されている 8 個のアクションはすべて読み取りなので、`records.write` を持つ `viewer` はスコープではなく役割で拒否されます。完全な表は[権限](/ja/guides/concepts/permissions)にあります。

トークンの取得は REST と同じフローで、`api.access` の代わりに `mcp.access` を使います。[クライアントを接続する](/ja/guides/start/connect-a-client)を参照してください。

## ツール

19 個のアクションスコープにまたがる 46 個のツールです。スコープは同意が付与するものであり、拒否が名指しするものです。

### オブジェクト・フィールド・レコード

| スコープ | ツール | 読み/書き |
| --- | --- | --- |
| `objects.bootstrap` | `crm_initialize_workspace` | 書き |
| `objects.read` | `crm_list_objects`、`crm_list_fields` | 読み |
| `objects.manage` | `crm_create_object`、`crm_update_object`、`crm_create_field`、`crm_update_field` | 書き |
| `records.read` | `crm_list_records`、`crm_get_record` | 読み |
| `records.write` | `crm_create_record`、`crm_update_record` | 書き |

### Commerce と CPQ

| スコープ | ツール | 読み/書き |
| --- | --- | --- |
| `prices.read` | `crm_get_cpq_configuration`、`crm_get_commercial_policy`、`crm_list_products`、`crm_list_price_books`、`crm_list_purchase_costs` | 読み |
| `prices.manage` | `crm_create_product`、`crm_create_price_book`、`crm_assign_price_book`、`crm_import_prices`、`crm_create_purchase_cost` | 書き |
| `quotes.read` | `crm_list_quotes`、`crm_get_quote` | 読み |
| `quotes.write` | `crm_preview_quote`、`crm_create_quote`、`crm_revise_quote` | 書き |
| `settings.manage` | `crm_update_commercial_policy` | 書き |

**ツールの MCP アノテーションはスコープではありません。** `crm_preview_quote` は読み取りツールとしてアノテーションされ（実際に何も保存しません）、それでも `quotes.write` を要求します。背後のサービスがそのアクションの下で動くからです。23 個が読み取り、23 個が書き込みとしてアノテーションされており、その分割は上の表のスコープと一致しません。アノテーションだけから許可を判断するエージェントフレームワークは、間違ったスコープを要求することになります。

そのうえでもう 1 つの表示を持つツールがあります。`crm_decide_approval` だけが **destructive** と印されています。判断は取り消せません。取り消すツールは存在せず、判断できるのは指名された承認者だけです。

### 承認

| スコープ | ツール | 読み/書き |
| --- | --- | --- |
| `approvals.read` | `crm_list_approval_definitions`、`crm_list_approvals`、`crm_get_approval_log` | 読み |
| `approvals.manage` | `crm_define_approval` | 書き |
| `approvals.submit` | `crm_submit_approval`、`crm_withdraw_approval` | 書き |
| `approvals.decide` | `crm_decide_approval` | 書き |

### リポート

| スコープ | ツール | 読み/書き |
| --- | --- | --- |
| `reports.read` | `crm_preview_report`、`crm_list_reports`、`crm_run_report`、`crm_list_dashboards`、`crm_get_dashboard_widgets` | 読み |
| `reports.manage` | `crm_create_report`、`crm_create_dashboard` | 書き |

### ドキュメント

| スコープ | ツール | 読み/書き |
| --- | --- | --- |
| `documents.read` | `crm_list_document_templates` | 読み |
| `documents.manage` | `crm_create_document_template` | 書き |
| `documents.generate` | `crm_generate_document`、`crm_get_document_status`、`crm_download_document` | 書き、そして読み |

`documents.generate` は生成の全サイクルを覆うため、完成したドキュメントを取得できるエージェントは生成も依頼できます。ダウンロードリンクに注意が必要な理由は[ドキュメント生成](/ja/guides/modules/documents)にあります。

## MCP が覆わないもの

REST は 56 個の operation を公開し、MCP には 46 個のツールがあります。その差は恣意的ではありません。**レコードのアーカイブとリードの転換に対応する MCP ツールはありません。** どちらかが必要なエージェントは REST を使う必要があり、つまり `api.access` の 2 つめのトークンが必要になります。

2 つのアクションスコープはどちらのトランスポートにも届きません。`marketing.read` と `marketing.manage` は同意で付与できますが、外部エンドポイントがまったくありません。呼び出しているのは Web アプリケーション自身の Meta 連携と通知 Webhook だけです。利用可能ではなく予約済みとして扱ってください。

## それ以外はすべて同じ

ツールが REST の対応物と同じサービス関数を呼ぶため、このサイトのすべての概念がそのまま適用されます。リビジョンは依然として返す必要があり、古いものは依然として拒否されます。冪等性、十進文字列としての金額、カーソルページング、モジュールのゲートはまったく同じに振る舞います。[コンセプト](/ja/guides/concepts)のページは両方のトランスポートに向けて一度書かれており、[モジュール](/ja/guides/modules)のページはツールが従うのと同じ規則を記述しています。

違うのは外側の封筒と接続スコープです。呼び出し元がエージェントだからといって、認可が緩められることは何もありません。
