Freshsales MCP by usefulapi

io.usefulapi/freshsales

Manage Freshsales contacts, accounts, deals, tasks and appointments; add notes.

Yes, your AI can use this right now.Answered a live MCP handshake in 308 ms with no sign-in needed and exposes 31 tools.

Use Freshworks (Freshsales, Freshdesk) with: ChatGPT · Claude · Cursor · Claude Code · VS Code

Is this your server? Claim the listing. Verified adds a vendor-confirmed mark on this page and matching app pages.
Claim with Verified — $49/moWant it in front of people comparing CRM & Sales tools? Feature it — $149/mo

Connect it

Settings → Connectors → Add custom connector
URL: https://freshsales.usefulapi.io/mcp

31 tools, pulled live

Pulled straight from the server with tools/list on 2026-10-27.
freshsales_list_contact_viewsread-only

List the saved contact views (filters) of the account, e.g. 'My Contacts', 'New Contacts', 'All Contacts'. A view id is needed by freshsales_list_contacts; ids differ per account. GET /contacts/filters.

freshsales_list_contactsread-only

List the contacts in a view (get view_id from freshsales_list_contact_views), 25 per page with name, email, phone numbers, job title, lead score, open deals amount and last contacted. Pages: use next_page. GET /contacts/view/{view_id}.

freshsales_get_contactread-only

One contact by id with all its fields, optionally with related records embedded via include (notes, tasks, appointments, deals, sales_accounts, owner, sales_activities...). GET /contacts/{id}.

freshsales_searchread-only

Search by name/email text across one record type: contact, sales_account (company), deal or user. Returns id, type, name and email for the matches (up to per_page, default 10). Use the id with the get tools. GET /search.

freshsales_lookupread-only

Exact-match lookup of contacts, companies or deals by one field, e.g. a contact by email address. field is 'email' (contacts), 'name', or a custom field name (cf_...). Returns the full records. GET /lookup.

freshsales_list_account_viewsread-only

List the saved account (company) views of the account, e.g. 'My Accounts'. A view id is needed by freshsales_list_accounts. GET /sales_accounts/filters.

freshsales_list_accountsread-only

List the accounts (companies) in a view (view_id from freshsales_list_account_views), 25 per page, with name, location, open deals amount and last contacted. GET /sales_accounts/view/{view_id}.

freshsales_get_accountread-only

One account (company) by id with its fields, optionally with related records embedded (contacts, deals, tasks, appointments, owner...). GET /sales_accounts/{id}.

freshsales_list_deal_viewsread-only

List the saved deal views of the account, e.g. 'Open Deals'. A view id is needed by freshsales_list_deals. GET /deals/filters.

freshsales_list_dealsread-only

List the deals in a view (view_id from freshsales_list_deal_views), 25 per page, with name, amount, expected close, probability and age. GET /deals/view/{view_id}.

freshsales_get_dealread-only

One deal by id with amount, expected close, probability and ids of its stage, pipeline and owner, optionally with related records embedded (contacts, sales_account, deal_stage, owner, notes via sales_activities...). GET /deals/{id}.

freshsales_list_tasksread-only

List tasks by status filter: open, due_today, due_tomorrow, overdue or completed (one filter per call). Returns title, due date, owner and status. GET /tasks.

freshsales_get_taskread-only

One task by id. GET /tasks/{id}.

freshsales_list_appointmentsread-only

List appointments that are open (upcoming) or complete (one filter per call), with title, time, location and creator. GET /appointments.

freshsales_get_appointmentread-only

One appointment by id with its attendees. GET /appointments/{id}.

freshsales_list_sales_activitiesread-only

List logged sales activities (calls, meetings, emails...) of the account. GET /sales_activities.

freshsales_list_ownersread-only

List the users of the account (id and name). Use the id as owner_id when creating or updating records. GET /selector/owners.

freshsales_list_deal_pipelinesread-only

List the deal pipelines (id, name). GET /selector/deal_pipelines.

freshsales_list_deal_stagesread-only

List deal stages (id, name, deal_pipeline_id): those of the default pipeline, or of the pipeline given by pipeline_id. Use the id as deal_stage_id. GET /selector/deal_stages or /selector/deal_pipelines/{id}/deal_stages.

freshsales_list_optionsread-only

List the configured choices (id and name) for a field: lead_sources, contact_statuses, lifecycle_stages, deal_types, deal_reasons, deal_products, deal_payment_statuses, territories, currencies, industry_types, business_types, campaigns, sales_activity_types, sales_activity_outcomes. Use the ids in the *_id fields of the write tools. GET /selector/{kind}.

freshsales_create_contact

WRITE: create a contact. Freshsales requires an email or a mobile number. It may create a duplicate of an existing contact: search first (freshsales_lookup by email). POST /contacts.

freshsales_update_contactcan modify

WRITE: change fields of an existing contact; only the fields you pass are changed (passing sales_accounts replaces the associated companies). PUT /contacts/{id}.

freshsales_create_account

WRITE: create an account (company). name is required. It may duplicate an existing company: search first (freshsales_search). POST /sales_accounts.

freshsales_update_accountcan modify

WRITE: change fields of an existing account (company); only the fields you pass are changed. PUT /sales_accounts/{id}.

freshsales_create_deal

WRITE: create a deal. name, amount and sales_account_id are required; contact_ids attach existing contacts. Stage and pipeline default to the first of the default pipeline. POST /deals.

freshsales_update_dealcan modify

WRITE: change fields of an existing deal, e.g. move it to another stage (deal_stage_id), change amount or expected close; only the fields you pass are changed. PUT /deals/{id}.

freshsales_create_note

WRITE: add a note to a contact, account or deal. Visible to your team on the record. POST /notes.

freshsales_update_notecan modify

WRITE: replace the text of an existing note. PUT /notes/{id}.

freshsales_create_task

WRITE: create a task (to-do) attached to a contact, account or deal. title, due_date, owner_id and the target are required. POST /tasks.

freshsales_update_taskcan modify

WRITE: change a task: title, details, due date, owner, or mark it completed (status 1) or open (status 0). PUT /tasks/{id}.

freshsales_create_appointment

WRITE: create an appointment (meeting) with a start and end, optionally attached to a contact, account or deal and with attendees. Attendees may be notified by Freshsales. POST /appointments.

Alternatives in CRM & Sales

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”