Attio MCPをClaudeにつないでCRMを検索・更新する手順
AttioのホストMCPをClaudeに接続し、人物・会社・ディールの検索、メモとタスクの追加、リスト更新を会話で行う手順です。書き込み前の確認と権限の絞り方も扱います。
Attio MCPは、Attioが運営するホスト型のMCPサーバーです。ClaudeにつなぐとAttioのワークスペースに対して、人物・会社・ディールの検索、メモやタスクの追加、リストの更新を会話で頼めます。接続はOAuthで、APIキーは使いません。
この記事では、接続の手順、頼み方の例、検索系ツールの使い分け、書き込みで起きやすい落とし穴、Claude Codeで読み取りと書き込みの権限を分ける設定を順に扱います。
Attio MCPでClaudeにできること
接続先はhttps://mcp.attio.com/mcpの1つだけです。Claude側から見れば、Attioのワークスペース全体がツール群として見えます。ツールは次の領域に分かれています。
| 領域 | 主なツール | 頼める内容の例 |
|---|---|---|
| レコードとオブジェクト | 主なツールsearch-records list-records create-record upsert-record update-record merge-records | 頼める内容の例人物・会社・ディールの検索、作成、更新、重複の統合 |
| リスト | 主なツールlist-records-in-list add-record-to-list update-list-entry-by-record-id | 頼める内容の例パイプラインへの追加、ステージの変更 |
| メモとコメント | 主なツールcreate-note semantic-search-notes create-comment | 頼める内容の例打ち合わせメモの記録、議論の検索 |
| タスク | 主なツールcreate-task update-task list-tasks | 頼める内容の例フォローアップの登録、完了処理 |
| 会議・通話・メール | 主なツールsearch-meetings get-call-recording semantic-search-emails | 頼める内容の例通話の文字起こしの取得、メールの横断検索 |
| 集計 | 主なツールrun-basic-report query-particle-sql | 頼める内容の例ステージ別の件数、担当者別の平均金額 |
読み取りは自動承認され、書き込みは実行前にユーザーへ確認を求める設計になっています。Attio側の説明では、ツールにMCPの安全性アノテーションが付いていて、この区別はそこから来ています。
接続したあとの権限は、ログインしたAttioユーザーのものと同じです。Claudeだけが特別に広い範囲を見られるわけではなく、そのユーザーが閲覧できない情報は取れません。
接続する:ClaudeのWebとDesktop
Claude.aiとClaude Desktopでは、コネクタの画面から入れます。
Claude.aiとDesktopでの接続
- 1
コネクタの画面を開く
設定の「Connectors」から「Browse connectors」を開きます。
- 2
Attioを探して入れる
検索欄に
Attioと入れ、Attioを選んでインストールします。 - 3
Attioのアカウントでログインする
ブラウザにAttioのログイン画面が開くので、使うワークスペースのアカウントで承認します。
前提は、有効なAttioワークスペースと、MCPに対応したクライアントの2つです。一覧にAttioが出ない場合は、https://mcp.attio.com/mcpをカスタムコネクタのURLとして追加する方法もあります。カスタムコネクタの作り方はCoworkカスタムコネクタ自作ガイドに、コネクタ全般の仕組みはClaude Connectorsの解説にあります。
Team・Enterpriseプランでは、claude.aiにサーバーを追加できるのは管理者だけです(Claude Codeの公式ページの記載)。個人の契約ではない場合は、先に管理者へ依頼する必要があります。
接続する:Claude Code
Claude CodeはリモートのHTTPサーバーをclaude mcp addで直接追加できます。
claude mcp add --transport http attio https://mcp.attio.com/mcp追加したあと、セッション内で/mcpを実行し、ブラウザの案内に従ってAttioにログインします。ブラウザが自動で開かなければ、表示されたURLを手で開きます。認証後にリダイレクトが接続エラーになった場合は、アドレスバーのコールバックURLを全部コピーして、Claude Code側のURL入力欄に貼ります。
シェルから認証したいときはclaude mcp login attioでも同じ流れを実行できます。非対話モード(claude -p)ではOAuthの画面を出せないため、先に対話セッションでログインを済ませておく必要があります。
claude.aiのアカウントでClaude Codeにログインしている場合は、claude.aiで入れたコネクタがClaude Codeでも使えます。この経路で入ったツールの名前はmcp__claude_ai_<サーバー名>__<ツール名>の形です。同じAttioをclaude mcp addと二重に入れると混乱しやすいので、どちらか一方に寄せます。
落とし穴
認証が切れたら/mcpで再認証する
保存済みのリフレッシュトークンが拒否されると、Claude Codeは/mcpを案内する通知を出します。/mcpでAttioを選び「Re-authenticate」を実行すれば、次のツール呼び出しが失敗する前に復旧できます。
最初に頼む:検索から始める
最初は読み取りだけで動作を確かめます。Attioの公式ページにある例を、そのまま使えます。
Stripeの担当者を全員出してください
Namit Chadhaのメールアドレスは?
Linearとの最後のやり取りは何でしたか?
Series Bの会社をCRMから探してください
今週期限の未完了タスクを見せて英語の例文を日本語に言い換えて頼む形ですが、Claudeが内部で選ぶツールは同じです。名前を指定して探すならsearch-records、条件で絞って並べるならlist-recordsが使われます。
あいまいな名前だと、Claudeが先にlist-objectsでオブジェクトの種類を確認したり、list-attribute-definitionsで属性の一覧を引いたりします。社内で独自に作ったオブジェクトや属性がある場合は、最初にその名前を伝えておくと、探し回る呼び出しが減ります。
検索系ツールの使い分け
検索に使えるツールは複数あり、得意なものが違います。
| 知りたいこと | 向くツール | ひとこと |
|---|---|---|
| 名前・メール・ドメインが分かる人や会社 | 向くツールsearch-records | ひとこと索引された属性への全文検索 |
| 条件で絞って並べたい(「今月作成」「オープンなディール」) | 向くツールlist-records | ひとことフィルターと並び替えを指定できる |
| 話題でメモを探したい(「価格の反対意見」) | 向くツールsemantic-search-notes | ひとことAIによる意味検索 |
| 参加者や日付でメモを探したい | 向くツールsearch-notes-by-metadata | ひとこと親レコード・作成者・会議・作成時期で絞る |
| 通話の内容から探したい | 向くツールsemantic-search-call-recordings | ひとこと話題で通話録音を探す |
| 特定の通話の全文 | 向くツールget-call-recording | ひとこと詳細と文字起こしを取得 |
話題で探す意味検索と、メタデータで絞る検索は別のツールです。「先月の担当者とのやり取り」のように人と期間が分かっているときはメタデータ側、「値引き交渉の話が出た案件」のように内容で探すときは意味検索側と、頼み方を変えると当たりやすくなります。
意味検索は後述のとおり、レート制限も厳しい区分に入っています。
更新する:書き込みツールと確認の動き
書き込みを伴う操作は、Claudeが実行前に確認を求めます。確認の画面の出方はクライアントごとに違います。Attioのドキュメントは、書き込みは作成・更新の前にユーザーへ確認を求めると説明しています。
書き込みに使われるツールは次のとおりです。
- レコード:
create-recordupsert-recordupdate-recordmerge-records - リスト:
create-listadd-record-to-listupdate-listupdate-list-entry-by-idupdate-list-entry-by-record-id - メモ・コメント:
create-noteupdate-notecreate-commentdelete-comment - タスク:
create-taskupdate-taskdelete-task
頼み方の例を、操作ごとに並べます。
Linearのアカウントにメモを残して:デモ通話が好調で、価格を見たいと言われた
Rampへのフォローアップを3日後のタスクにして
Acmeを営業パイプラインに追加して
AcmeのパイプラインのエントリをProposal Sentに変えて作成と更新の違いで事故が分かれる
create-recordは新しいレコードを作ります。同じ人を2回頼むと重複が生まれます。upsert-recordはメールやドメインのような照合用の属性で既存のレコードを探し、あれば更新、なければ作成します。人物や会社を扱うときは、「メールアドレスで照合して、なければ作成して」と頼む形にすると重複が減ります。
update-list-entry-by-record-idには制約があります。親レコードのIDからリストのエントリを探して更新するツールですが、対象のリストにそのレコードのエントリが0件、または複数ある場合はエラーになります。複数のパイプラインに同じ会社が入っている場合は、エントリIDを指定するupdate-list-entry-by-id側を使います。「エントリID 9f0f…を更新して」のようにIDを渡す頼み方です。
merge-recordsは、同じオブジェクトの2つのレコードを新しい1つのレコードに統合します。両方に値がある属性は、主にする側の値が優先されます。どちらを主にするかを確認してから承認します。
delete-commentは自分が作ったコメントだけを消せます。親コメントを消すと、返信もまとめて消えます。delete-taskはワークスペースからタスクを消すツールなので、承認の前にタスクの題名を見ます。
落とし穴
一括の更新は件数を先に確かめる
「Series Bの会社すべてにタグを付けて」のような頼み方は、更新の呼び出しが件数ぶん発生します。先に「対象を一覧にして件数を教えて」と頼んで、対象を確認してから更新に進みます。
通話のあとの処理を1回の会話にまとめる
ツールは組み合わせて使えます。通話後の処理を、1つの依頼にまとめる例です。
通話後の記録を1回で終わらせる流れ
- 1
通話録音を探す
「昨日のLinearとの通話の文字起こしを取って」と頼み、
search-call-recordings-by-metadataとget-call-recordingで内容を読みます。 - 2
メモにまとめて記録する
要点を3行にまとめ、
create-noteでLinearの会社レコードに追記します。 - 3
次の予定をタスクにする
「提案書を金曜までに送る」を
create-taskで登録し、会社レコードに紐づけます。 - 4
ステージを動かす
パイプラインの状態を
update-list-entry-by-record-idで更新します。
手順2〜4は書き込みなので、それぞれで承認を求められます。承認の場面で、メモの本文、タスクの期限、変更後のステージを確認できるので、要約の誤りもここで止められます。
Attioのドキュメントには、通話関連ツールの利用条件についての記載がありません。使えるかどうかは、Attioのヘルプセンターかサポートで確かめます。
同じ型の運用は、kintoneのような国産の業務システムでも使えます。kintoneのレコード検索と更新と見比べると、承認の置き方の違いが分かります。録音をAI側に預ける場合はPlaud MCPの録音検索も同じ型です。
Claude Codeで読み取りと書き込みの権限を分ける
Claude Codeでは、MCPツールごとに許可・確認を設定できます。Attioの書き込みは確認を必ず挟み、読み取りだけを自動許可にする設定の例です。サーバーをattioという名前で追加した場合の書き方です。
{
"permissions": {
"allow": [
"mcp__attio__search-records",
"mcp__attio__list-*",
"mcp__attio__get-*"
],
"ask": [
"mcp__attio__create-*",
"mcp__attio__upsert-record",
"mcp__attio__update-*",
"mcp__attio__merge-records",
"mcp__attio__delete-*"
]
}
}これは公式の権限ルールの書式に沿って組んだ例で、Attio側の推奨設定ではありません。許可ルールのワイルドカードは、mcp__<サーバー名>__というリテラルの接頭辞のあとにだけ使えます。"mcp__*"のような接頭辞なしの許可ルールは、警告つきで無視されます。
なお、claude.aiのコネクタ経由で入れた場合、サーバー名の部分はclaude_ai_<名前>の形になるため、ルールの書き出しも変わります。実際のツール名は、承認ダイアログに表示されたものに合わせるのが確実です。括弧でパラメータを絞る書き方がMCPのルールでは読み飛ばされる点など、書式の詳細はClaude CodeのMCP権限ルールにまとめています。
組織がclaude.aiのコネクタのツールを「確認」に設定している場合、Claude Code側で許可ルールを書いても効きません。毎回プロンプトが出ます。
レート制限と、つまずいたときの切り分け
Attio MCPには、ワークスペース単位のレート制限があります。ツールは区分ごとにまとめられ、同じ区分のツールは1つの枠を共有します。
区分ごとのレート制限
読み取り
100回/秒
get-* と list-* の大半
書き込み
25回/秒
create・update・delete 系
検索
300回/分
search-records など
意味検索・集計・SQL
2回/秒
semantic-search・report・SQL
意味検索(semantic-search-*)、集計(run-basic-report)、SQL(query-particle-sql)は、いずれも毎秒2回です。統合のmerge-recordsは毎秒5回です。普通の会話で使う範囲なら、制限に当たることは多くありません。
制限に当たったときは、並列で呼び出さないように頼む、順番に実行する、少し待って再試行する、の3つが案内されています。
症状別の切り分け
Attioが応答しないときの確認順
- Qコネクタの一覧にAttioが出ていますか?答えがいいえ答えがはい
Team・Enterpriseプランなら管理者が追加する必要があります。個人の契約なら
https://mcp.attio.com/mcpをカスタムコネクタとして追加します。 - Qログインの画面で承認を済ませましたか?答えがいいえ答えがはい
Claude Codeなら
/mcpかclaude mcp login attioを実行して、OAuthの手順を最後まで進めます。 - Q特定のレコードだけ見えませんか?答えがいいえ答えがはい
権限はログインしたAttioユーザーと同じです。そのユーザーに見えないレコードは、Claudeからも取れません。
それでも解決しない
Attioのヘルプセンターかサポートに問い合わせます。Attioのドキュメントの案内もその2つです。
query-particle-sqlは全プランで使えるわけではありません。読み取り専用のSQLを実行するツールで、契約中の請求プランによっては利用できないと、Attioのドキュメントに明記されています。SQLが必要な集計を頼む前に、Attio側の契約を確認します。
使う前に押さえたい3点
接続は簡単ですが、CRMには顧客の個人情報や商談の金額が入っています。次の3点は先に決めておくと安全です。
- 書き込みの承認は中身を読んで押す。メモの本文、タスクの期限、変更後のステージをその場で確認します。
- 権限は人に合わせる。Claudeの権限はログインしたユーザーと同じなので、広い権限のアカウントでつなぐと、Claudeの操作範囲も広がります。
- 接続は取り消せる。セッションはAttioのアカウント設定から取り消せます。Claude Codeでは
/mcpのメニューの「Clear authentication」でも取り消せます。
Attioのドキュメントによれば、MCPの操作はすべてログに記録され、監査できます。追加の連携を設定しない限り、データが外部のシステムに共有されることもありません。