io.usefulapi/freshsales · v1.0.0 · sales-and-crm
Freshsales MCP by usefulapi is healthy: it completed an MCP handshake in 1036 ms and exposes 31 tools.
Manage Freshsales contacts, accounts, deals, tasks and appointments; add notes.
Endpoint: https://freshsales.usefulapi.io/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 31 |
| Latency | 1036 ms |
| Last checked (UTC) | 2026-10-25T17:55:08.233Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-25T17:55:08.233Z | Healthy | 1036 |
freshsales_list_contact_views | 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_contacts | 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_contact | 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_search | 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_lookup | 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_views | 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_accounts | 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_account | 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_views | 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_deals | 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_deal | 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_tasks | 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_task | One task by id. GET /tasks/{id}. |
freshsales_list_appointments | List appointments that are open (upcoming) or complete (one filter per call), with title, time, location and creator. GET /appointments. |
freshsales_get_appointment | One appointment by id with its attendees. GET /appointments/{id}. |
freshsales_list_sales_activities | List logged sales activities (calls, meetings, emails...) of the account. GET /sales_activities. |
freshsales_list_owners | 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_pipelines | List the deal pipelines (id, name). GET /selector/deal_pipelines. |
freshsales_list_deal_stages | 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_options | 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 t |
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_contact | 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_account | 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_deal | 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_note | 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_task | 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. |