インストール不要。2分以内に動きます。
cloud.anythingmcp.com で無料トライアルを開始し、Freshsales をワンクリックで追加して、AI クライアント(Claude、ChatGPT、Copilot、Cursor)を生成された MCP エンドポイントに向けるだけ。Docker も git clone も、開発経験も不要です。
概要
あらゆる AI エージェントから Freshsales(Freshworks CRM)を操作:連絡先、アカウント、商談の検索と絞り込み、パイプラインのステージ間での商談の移動、メモの追加、タスクとアポイントの予定、営業活動の記録、マーケティングリストの管理。ユーザー個人の API キーとアカウントのバンドル URL で動作します。
こう聞いてみよう
Freshsales のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要? cloud.anythingmcp.com を直接利用してください。 サインインし、Connectors → Freshsales をクリック、認証情報を貼り付け、MCP API キーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要。
Freshsales + Cursor
あらゆる AI エージェントから Freshsales(Freshworks CRM)を操作:連絡先、アカウント、商談の検索と絞り込み、パイプラインのステージ間での商談の移動、メモの追加、タスクとアポイントの予定、営業活動の記録、マーケティングリストの管理。ユーザー個人の API キーとアカウントのバンドル URL で動作します。
前提条件
完全なセットアップ手順はコネクタ自体に組み込まれています (ストアでコネクタを選択すると表示)。必要な環境変数:
FRESHSALES_BUNDLE_URL, FRESHSALES_API_KEY
ステップ 1 — 認証情報を取得
設定は約 2 分です。Freshsales(Freshworks CRM)のアカウントが必要です。
- Freshsales でプロフィール画像をクリックし、Profile Settings から API Settings タブを開きます。
- Your API key を
FRESHSALES_API_KEYにコピーします。コネクタはAuthorization: Token token=<key>として送信するので、キーだけを貼り付けてください。 - 同じタブで bundle alias(アカウントのアドレス)を
FRESHSALES_BUNDLE_URLにコピーします。例:https://acme.myfreshworks.com/crm/sales。Freshworks スイート以前に作成されたアカウントはhttps://acme.freshsales.ioを使います。/apiと末尾のスラッシュは付けません。 - コネクタをインストールし、
freshsales_list_ownersを実行します。ポータルのユーザーが一覧表示され、キーとアドレスが確認できます。
すべての呼び出しは、キーを設定したユーザーの権限で動きます。そのユーザーの範囲外のレコードは見えません。チームに必要なデータが見えるユーザーのキーを使ってください。
最初に使うツール: freshsales_list_owners は owner_id に使うユーザー ID を返します。freshsales_list_selector は選択リスト(テリトリー、パイプラインとステージ、通貨、商談の種類と理由、リードソース、業種と企業タイプ、キャンペーン、連絡先ステータス、ライフサイクルステージ、営業活動の種類と結果)を読み、書き込みに使う ID を返します。freshsales_list_pipeline_stages は 1 つのパイプラインのステージを返します。freshsales_list_fields は連絡先、アカウント、商談、営業活動のフィールドをカスタムフィールドも含めて一覧表示します。カスタムフィールドの内部名は cf_ で始まり、custom_field に入れます。
レコードを探す:
freshsales_search: 連絡先、アカウント、商談、ユーザーを名前やメールでテキスト検索します。includeには単数形のcontact、sales_account、deal、userを指定します。複数形では何も返りません。freshsales_lookup: 1 つのフィールドでの完全一致。例えばメールで連絡先を、名前やカスタムフィールドの値で連絡先、アカウント、商談を探します。freshsales_filtered_search: フィールドに対するルール(完全一致、範囲、リスト)で絞り込み、レコード全体を返します。- 一覧は必ず保存済みビューを通します。
freshsales_list_viewsでビュー ID(例: "All Contacts" や "My Deals")を取得し、freshsales_list_contacts、freshsales_list_accounts、freshsales_list_dealsで並べ替え付きでそのビューを読みます。
連絡先、アカウント、商談: freshsales_get_contact、freshsales_get_account、freshsales_get_deal は 1 件のレコードを読み、include で関連レコードを埋め込みます(例: sales_accounts,deals,notes)。freshsales_list_contact_activities は連絡先のタイムライン(メール、通話、メモ、フィールド変更、Web 訪問)を表示します。書き込みには freshsales_create_contact(メールか姓のどちらかが必須)、freshsales_update_contact、freshsales_upsert_contact(メールなど一意のフィールドで作成または更新)、freshsales_create_account(一意の name)、freshsales_update_account、freshsales_create_deal(name と amount が必須)、freshsales_update_deal を使います。商談は deal_stage_id をそのパイプラインのステージに設定すると進みます。受注と失注もステージで、失注した商談には deal_reason_id を付けられます。更新では渡したフィールドだけが変わります。
メモ、タスク、アポイント、営業活動 は targetable_type(Contact、SalesAccount、Deal)と targetable_id でレコードに紐付きます。
- メモ:
freshsales_create_note、freshsales_update_note。 - タスク:
freshsales_list_tasks(1 回の呼び出しにフィルター 1 つ:open、due_today、due_tomorrow、overdue、completed)、freshsales_get_task、freshsales_create_task、freshsales_update_task、freshsales_complete_task。 - アポイント:
freshsales_list_appointments(今後の予定はopen、過去はpast。古いポータルではupcoming)、freshsales_get_appointment、freshsales_create_appointment、freshsales_update_appointment。参加者はユーザー(FdMultitenant::User)か連絡先(Contact)です。 - 記録した通話や訪問などの営業活動:
freshsales_list_sales_activities、freshsales_get_sales_activity、freshsales_create_sales_activity。
マーケティングリスト: freshsales_list_marketing_lists、freshsales_list_marketing_list_contacts、freshsales_add_contacts_to_list、freshsales_remove_contacts_from_list(連絡先そのものは残ります)。
リード: 現在の Freshsales アカウントでは、見込み客はライフサイクルステージ付きの連絡先として管理され、独立したリードモジュールはありません。AI はビューか freshsales_filtered_search でライフサイクルステージ別に連絡先を絞り込みます。
インストール時にオフのツール: ありません。コネクタには削除ツールがないため、連絡先、アカウント、商談、メモ、タスク、アポイントは削除できません。作成や更新は本番の CRM を直接変更するので、保存前にフィールドを AI に表示させてください。
データ形式: タイムスタンプは UTC またはオフセット付きで返ります(2026-02-13T23:27:49Z)。日付の入力は YYYY-MM-DD か ISO 8601 で、タイムゾーンがなければ UTC とみなされます。金額は商談の通貨で、base_currency_amount はポータルの通貨に換算された値です。空のフィールドは null です。include で埋め込んだレコードは、レコードと並んでトップレベルの別配列(users、sales_accounts、deals)で返り、ID で紐付きます。
ページング: 一覧は page(1 から)と per_page(既定 25、最大 100)を受け取り、meta.total_pages と meta.total を返します。freshsales_search は既定で 10 件、最大 100 件です。
制限とよくあるエラー: アカウントあたり 1 時間に 1000 リクエストまでで、超えると 429 が返ります。401 はキーの誤りか未設定、403 はユーザーに権限がないかプランにない機能、404 は ID の誤りかバンドル URL の誤りです。検証エラーは errors.message 付きの 400 で返ります。
このコネクタはレコードを削除せず、メールを送信せず、ポータルの設定、フィールド、パイプラインも変更しません。
ステップ 2 — アダプターをインストール
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
ステップ 3 — Cursor にコネクタを追加
サーバーURL: AnythingMCP で MCP Servers を開き、このコネクタがあるサーバーを選んで URL(
https://cloud.anythingmcp.com/mcp/…)をコピーします。このガイドでYOUR_SERVER_IDと表示されている箇所に使ってください。
Cursor は ~/.cursor/mcp.json から MCP サーバーを読み込みます。次のエントリを追加してください:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- AnythingMCP の MCP Servers → 対象のサーバー → API keys で MCP API キーを作成し、
YOUR_MCP_API_KEYと置き換えます。 - ファイルを保存し、Cursor を再起動します。
- Cursor → Settings → MCP を開き、
anythingmcpが一覧にあり接続済みであることを確認します。 - チャットを始めましょう。エージェントが
Freshsalesのツールを呼び出せるようになりました。
利用可能なツール
| Tool | What it does |
|---|---|
freshsales_list_owners | List the users of the Freshsales portal (id, name, email) |
freshsales_list_selector | List the values of a configuration picklist: territories, deal stages and pipelines, currencies, deal reasons and types, lead sources… |
freshsales_list_pipeline_stages | List the stages of one deal pipeline (id, name, position) |
freshsales_list_fields | List the fields of a module, including custom fields (internal name cf_..., label, type, choices) |
freshsales_list_views | List the saved views (filters) of contacts, accounts or deals, with their ids |
freshsales_list_contacts | List the contacts of a view, 25 per page by default, with sorting |
freshsales_get_contact | Get one contact with all fields, optionally embedding owner, accounts, deals, tasks, appointments, notes and sales activities |
freshsales_list_contact_activities | List the activity timeline of a contact: emails, calls, notes, field changes, web visits |
freshsales_create_contact | Create a contact |
freshsales_update_contact | Update a contact |
freshsales_upsert_contact | Create or update a contact matched by a unique field (usually the email): updates the existing contact, or creates it when none matches |
freshsales_list_accounts | List the accounts (companies) of a view, 25 per page by default |
freshsales_get_account | Get one account with all fields, optionally embedding owner, contacts, deals, tasks, appointments and notes |
freshsales_create_account | Create an account (company). name is required and must be unique |
freshsales_update_account | Update an account (company): name, address, owner, industry, custom fields |
freshsales_list_deals | List the deals of a view, 25 per page by default |
freshsales_get_deal | Get one deal with all fields, optionally embedding account, contacts, stage, pipeline, products, tasks and notes |
freshsales_create_deal | Create a deal. name and amount are required; link it to an account with sales_account_id and to contacts with contacts_added_list |
freshsales_update_deal | Update a deal: amount, stage (deal_stage_id moves it through the pipeline, including won and lost stages), close date, owner, linked… |
freshsales_create_note | Add a note to a contact, account or deal |
freshsales_update_note | Change the text of an existing note on a contact, account or deal |
freshsales_list_tasks | List tasks by status: open, due today, due tomorrow, overdue or completed |
freshsales_get_task | Get one task with its owner, collaborators and linked record |
freshsales_create_task | Create a task on a contact, account or deal. title, due_date, owner_id, targetable_type and targetable_id are required |
freshsales_update_task | Update a task: title, description, due date, owner, linked record or collaborators |
freshsales_complete_task | Mark a task as done (status completed) |
freshsales_list_appointments | List appointments (meetings), upcoming or past, with attendees and linked records |
freshsales_get_appointment | Get one appointment with its time, location, attendees and linked contact, account or deal |
freshsales_create_appointment | Schedule an appointment (meeting) with a contact, account or deal, with attendees. title, from_date and end_date are required |
freshsales_update_appointment | Reschedule or edit an appointment |
freshsales_list_sales_activities | List logged sales activities (calls, meetings, custom activity types), newest first |
freshsales_get_sales_activity | Get one logged sales activity with its type, outcome, times, notes and linked record |
freshsales_create_sales_activity | Log a sales activity (for example a call or visit) on a contact, account or deal. title, sales_activity_type_id, start_date, end_date… |
freshsales_search | Full-text search by name or email across contacts, accounts, deals and users |
freshsales_lookup | Exact-match lookup on one field: find contacts by email, or contacts, accounts or deals by name or a custom field value |
freshsales_filtered_search | Filter contacts, accounts or deals by field rules (exact matches, ranges, lists), e.g. contacts whose email is in a list |
freshsales_list_marketing_lists | List the marketing lists (static contact lists) with their ids |
freshsales_list_marketing_list_contacts | List the contacts of a marketing list, 25 per page by default |
freshsales_add_contacts_to_list | Add existing contacts to a marketing list by their contact ids |
freshsales_remove_contacts_from_list | Remove contacts from a marketing list |
プロンプトの例
- 「連絡先 [email protected] を探して、進行中の商談と最新のメモを見せて。」
- 「今月クローズ予定の自分の進行中の商談を、金額とステージ付きで一覧にして。」
- 「Acme 更新の商談を交渉ステージに移して、見積を送ったとメモを追加して。」
- 「期限切れの自分のタスクはどれ?紐付いているアカウントごとにまとめて。」
- 「Tom Becker との 30 分の通話を今日の日付で記録して、来週火曜 10:00 にフォローアップのタスクを作って。」
FAQ
Cursor の無料プランでカスタム MCP サーバーは使えますか? はい。MCP は Hobby、Pro、Business の各プランで利用できます。
次のステップ
このガイドは役に立ちましたか?