Negotiated 2025-11-25. The bar is 2025-06-18 or newer.
Pass
HTTPS
The endpoint URL is https.
Performance
Not measured
Fast (p50)
Median latency 138 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.
Not measured
Consistent (p95)
95th percentile 138 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.
Not measured
Reliable (uptime)
1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.
Not measured
Stable tool list
Fewer than two successful probes in 30 days, so tool-list stability is not measured.
Access
Pass
Open access
tools/list succeeded with no credential, and the record declares none.
Not measured
Standard auth
Auth is not required, so the OAuth metadata check does not apply.
Not measured
Free tier cited
No publisher quote has been checked.
Tools
Pass
Tools described
Every tool description is at least 20 characters.
Pass
Valid input schemas
Every inputSchema is a JSON Schema object.
Fail
Parameters documented
147 of 207 parameters have a description (71%). The bar is 80%.
Pass
Safety hints
Every tool sets readOnlyHint or destructiveHint.
Publisher
Pass
Verified namespace
Listed in the Official MCP Registry.
Pass
Website matches publisher
The website host matches the reverse-domain namespace.
Pass
Source repo linked
A repository URL is on file.
Not measured
Repo owner matches
This namespace is not an io.github login, so the owner comparison does not apply.
Pass
Recently updated
Updated 2026-11-10T23:33:38.602925Z, within 180 days.
Not measured
Open-source licence
The GitHub licence lookup has not returned an OSI result yet.
Start using Insightly MCP by usefulapi
Connect to this server
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http insightly-mcp-by-usefulapi https://insightly.usefulapi.io/mcp
Capabilities
Tools 21
insightly_add_note
Add a note (title + body) to a Contact, Organisation, Lead, Opportunity or Project. Insightly: POST /<Object>/{id}/Notes.
Discovered insightly_create_contact
Create a contact (first_name is required). Insightly: POST /Contacts.
Discovered insightly_create_lead
Create a lead (last_name is required). Insightly's schema also marks lead_status_id and lead_source_id as required — get valid ids from insightly_list_lead_statuses / insightly_list_lead_sources. Insightly: POST /Leads.
Discovered insightly_create_opportunity
Create a sales opportunity (opportunity_name is required). Insightly: POST /Opportunities.
Discovered insightly_create_organisation
Create an organisation (company). Insightly: POST /Organisations.
Discovered insightly_create_task
Create a task (title is required). Insightly requires OWNER_USER_ID and COMPLETED on a task: if owner_user_id is omitted it is filled with the API key's own user (via GET /Users/Me), and completed defaults to false. Insightly: POST /Tasks.
Discovered insightly_get_current_user
Fetch the user the API key belongs to (USER_ID, name, email, admin flag). A cheap way to confirm the key and pod are right, and to get your own id for owner fields. Insightly: GET /Users/Me.
Discovered insightly_get_record
Fetch a single Contact, Organisation, Lead, Opportunity, Project, Task, Event or Note by id, with its custom fields, tags and links. Insightly: GET /<Object>/{id}.
Discovered insightly_list_lead_sources
List the lead sources defined in the instance (LEAD_SOURCE_ID, name). Insightly: GET /LeadSources.
Discovered insightly_list_lead_statuses
List the lead statuses defined in the instance (LEAD_STATUS_ID, name, type). Insightly: GET /LeadStatuses.
Discovered insightly_list_pipeline_stages
List every pipeline stage (STAGE_ID, PIPELINE_ID, name, order) — map an opportunity's or project's STAGE_ID to a stage name. Insightly: GET /PipelineStages.
Discovered insightly_list_pipelines
List the sales and project pipelines (PIPELINE_ID, name, whether for opportunities or projects). Insightly: GET /Pipelines.
Discovered insightly_list_record_activity
List the Notes, Tasks or Events attached to one Contact, Organisation, Lead, Opportunity or Project — the activity history of that record. Insightly: GET /<Object>/{id}/Notes | Tasks | Events.
Discovered insightly_list_records
List records of one type — Contacts, Organisations, Leads, Opportunities, Projects, Tasks, Events or Notes — optionally filtered by one field value and/or last-updated time. With field_name + field_value (both required together) or updated_after_utc this uses GET /<Object>/Search; otherwise GET /<Object>. Field names are Insightly's UPPER_SNAKE names, e.g. EMAIL_ADDRESS, LAST_NAME, ORGANISATION_NAME, OPPORTUNITY_STATE, LEAD_RATING, or a custom field such as Industry__c.
Discovered insightly_list_users
List the users in the Insightly instance — needed to resolve OWNER_USER_ID / RESPONSIBLE_USER_ID. Insightly: GET /Users.
Discovered insightly_search_by_tag
List Contacts, Organisations, Leads, Opportunities or Projects carrying a tag. Insightly: GET /<Object>/SearchByTag?tagName=.
Discovered insightly_update_contact
Update a contact. Only the fields you pass are changed (v3.1 partial update). Insightly: PUT /Contacts with CONTACT_ID.
Discovered insightly_update_lead
Update a lead. Only the fields you pass are changed. Insightly: PUT /Leads with LEAD_ID.
Discovered insightly_update_opportunity
Update an opportunity's value, probability, dates, owner or details. Only the fields you pass are changed. Insightly: PUT /Opportunities with OPPORTUNITY_ID.
Discovered insightly_update_organisation
Update an organisation. Only the fields you pass are changed. Insightly: PUT /Organisations with ORGANISATION_ID.
Discovered insightly_update_task
Update a task — mark it completed, change due date, status, assignee or details. Only the fields you pass are changed. Insightly: PUT /Tasks with TASK_ID.