Skip to content

Conecto CRM

chat.conecto/crmconecto.chatstreamable-httpv1.0.0Scanned

Contacts, companies and deals, with every email, call and meeting on one record. Pay per action.

69 tools: 10 can delete or cancel things, 2 do something that can't be undone, 33 change things and 24 only read.

Tools: 10 delete, 2 irreversible, 33 write, 24 read.
  • Reads private data · 17
  • Reads text others write · 11
  • Can send data out · 6
  • 5 findings

Anlyon alternative

45 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

69 tools

Deletes or cancels 10Claude Code: deny
  • account_erase_personErases one person across every area when they ask (GDPR Art.No findings

    Why it is in this group

    • The name "account_erase_person" says "erase": a word for removing or ending something.
    • The description says "Can't be undone".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Erases one person across every area when they ask (GDPR Art. 17), once you know it is them (they wrote from that address, or confirmed it). Their CRM contact, chat visitor, past meetings and calls are anonymised, so deals stay without them, and a meeting they were only a guest at drops them; their chats, CRM history, form and routing form answers, job applications with the CV, newsletter subscriptions and events are deleted, and the call log's contents that name them are cleared. Kept, each with its reason in the result: accounting records, employment records, signed documents, the audit log, the account's own settings, upcoming meetings, and emails and tickets (outreach emails and replies too) unless correspondence is true. Their address goes on the suppression lists, so it is never mailed again: outreach campaigns stop for them at once. Can't be undone; the owner is emailed. A key of a team other than the company-wide one gets owner_required: pass the request to the owner. Free. Free.

    Annotations the server declares

    • title: Erase a person's data
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • account_refund_topupRefund a top-up paid in the last 24 hours that none of has been used yet: its credit, with the first top-up's bonus, leaves the balance, and the card gets the credit back with its …No findings

    Why it is in this group

    • The name "account_refund_topup" says "refund": a word that usually means money moves, which cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Refund a top-up paid in the last 24 hours that none of has been used yet: its credit, with the first top-up's bonus, leaves the balance, and the card gets the credit back with its tax. The service fee is kept. Without topup_id, the newest top-up (GET /v1/topups lists them with their ids). Free. Free.

    Annotations the server declares

    • title: Refund a top-up
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • crm_archive_companyHide a company from crm_find_companies, crm_search, duplicates and exports.No findings

    Why it is in this group

    • The name "crm_archive_company" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Hide a company from crm_find_companies, crm_search, duplicates and exports. Its people, deals and notes stay as they are, and crm_get_company still reads it (archived: true). Saving it again, even by name, does not bring it back; crm_restore_company does. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Archive a company
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • crm_archive_contactHide a contact from searches and lists.No findings

    Why it is in this group

    • The name "crm_archive_contact" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Hide a contact from searches and lists. Its history is kept; crm_update_contact cannot un-archive, crm_restore_contact does. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Archive a contact
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • crm_delete_fieldDelete a custom field and its value on every record.No findings

    Why it is in this group

    • The name "crm_delete_field" says "delete": a word for removing or ending something.
    • The description says "cannot be undone".
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a custom field and its value on every record. This cannot be undone. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Delete a custom field
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • crm_delete_pipelineDelete an empty pipeline (by id or name).No findings

    Why it is in this group

    • The name "crm_delete_pipeline" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an empty pipeline (by id or name). A pipeline that holds deals cannot be deleted: move them to another pipeline first with crm_move_deal. The last pipeline cannot be deleted. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Delete a pipeline
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • crm_delete_segmentDelete a saved segment; the records stay as they are.No findings

    Why it is in this group

    • The name "crm_delete_segment" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a saved segment; the records stay as they are. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Delete a segment
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • crm_delete_tagDelete a tag and take it off every contact, company and deal.No findings

    Why it is in this group

    • The name "crm_delete_tag" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a tag and take it off every contact, company and deal. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Delete a tag
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • crm_merge_companiesMerge duplicate companies into the one you keep.No findings

    Why it is in this group

    • The name "crm_merge_companies" says "merge": a word for a change that another call does not undo.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Merge duplicate companies into the one you keep. Its empty fields are filled from the others, tags and custom fields are combined (the kept company wins where both have a value), and their people, deals and notes move to it. The merged companies are deleted. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Merge companies
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • crm_merge_contactsMerge duplicate contacts into the one you keep.No findings

    Why it is in this group

    • The name "crm_merge_contacts" says "merge": a word for a change that another call does not undo.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Merge duplicate contacts into the one you keep. Its empty fields are filled from the others, tags and custom fields are combined (the kept contact wins where both have a value), and every note, task, email, chat, call, ticket and deal moves to it. The merged contacts are archived; their emails still find the kept contact. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Merge contacts
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Can't be undone 2Claude Code: ask
  • account_emit_eventSend an event you name, custom.<name> (custom.lead_qualified, custom.order_shipped), to every channel subscribed to it (notify_subscribe with "custom.*" or its name: Slack, Teams, …Can send data outNo findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • outboundThe description's first verb is "send": it sends or publishes something to other people.
    Description, as the server wrote it
    Send an event you name, custom.<name> (custom.lead_qualified, custom.order_shipped), to every channel subscribed to it (notify_subscribe with "custom.*" or its name: Slack, Teams, a webhook to Zapier, Make, n8n or the business's own systems) and to account_events, where another team's bot can pick it up. data is any JSON object (up to 10 KB); sent_by is added with this bot's name and team. $0.005 for each channel it goes to; free when no channel is subscribed. Costs $0.005 per channel it goes to; nothing if none are found.

    Annotations the server declares

    • title: Send an event of your own
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • crm_save_dealCreate a deal (no deal_id) or update one (with deal_id): pipeline and stage, amount, expected close date, next step, the company and contact it belongs to, tags and custom fields.No findings

    Why it is in this group

    • The name "crm_save_deal" says "save": a word for a change.
    • The input carries an amount (input.amount) and a currency, so it moves money.
    Description, as the server wrote it
    Create a deal (no deal_id) or update one (with deal_id): pipeline and stage, amount, expected close date, next step, the company and contact it belongs to, tags and custom fields. A new deal starts at the first stage of its pipeline unless you give one. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Save a deal
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 33Claude Code: ask
  • account_add_approval_ruleMake a tool wait for a person: every call of it, those whose argument is over a number (like invoices_create_credit_note when amount is over 500), or those whose argument is one of…No findings

    Why it is in this group

    • The name "account_add_approval_rule" says "add": a word for a change.
    Description, as the server wrote it
    Make a tool wait for a person: every call of it, those whose argument is over a number (like invoices_create_credit_note when amount is over 500), or those whose argument is one of some values (like connect_call when method is POST, PUT, PATCH or DELETE). A held call answers approval_required with an approval_id and asks the approver; when they approve, call again with the same arguments, once (a call no person answers for adds the approval: header X-Conecto-Approval, or _meta.approvalId over MCP). The approver is an email, a saved channel, or a team (its managers, or everyone in it); each approver gets a link of their own, and the person whose call it is never approves it. With two_people_over, calls whose argument is over it need two people. Bills like Xero's bill approval: purchasing_create_bill with argument total holds bills over an amount, tax included; a rule on purchasing_pay_bill also holds batches with such a payment. Removing a rule is the owner's, on their account page, when the account has an owner email. $0.001. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Hold a tool for approval
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • account_assign_teamMove a form, a meeting type, a job, an inbox, a phone number, a newsletter, the website chat, a rental, a pipeline, a table or a website to a team.No findings

    Why it is in this group

    • The name "account_assign_team" says "assign": a word for a change.
    Description, as the server wrote it
    Move a form, a meeting type, a job, an inbox, a phone number, a newsletter, the website chat, a rental, a pipeline, a table or a website to a team. What happens through it is charged to that team from now on (a form's responses, a number's calls, an inbox's tickets), and its rental moves with it. Something a bot makes already belongs to the bot's team. Only a key of the company-wide team without limits moves things between teams. $0.001. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Give something to a team
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_balanceThe account balance, how much of it is credit bought (AI visibility and the phone run only on that) and how much free and bonus credit, what running calls are holding, this key's d…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The account balance, how much of it is credit bought (AI visibility and the phone run only on that) and how much free and bonus credit, what running calls are holding, this key's daily budget, the auto-reload state, and how much of this month's free reads and downloads is used. Free.

    Annotations the server declares

    • title: Check balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_data_locationsWhere each area's data is stored and processed: the company that runs each place, the country or region, and what it holds.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Where each area's data is stored and processed: the company that runs each place, the country or region, and what it holds. Every area keeps its records in the database and runs on Conecto's servers; some also use a service named here (email, phone, PDFs, search). For the business's records of processing and its transfer assessments (GDPR Art. 30 and 44). Free.

    Annotations the server declares

    • title: See where the data is
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_eventsWhat happened in this account that someone outside the bot did, oldest first: applications, bookings, form responses, signatures, replies, emails received, goals reached on the web…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What happened in this account that someone outside the bot did, oldest first: applications, bookings, form responses, signatures, replies, emails received, goals reached on the website; and the custom events bots sent with account_emit_event. Kept 30 days. Poll with after = the last event_id you saw. Free.

    Annotations the server declares

    • title: Read recent events
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_export_allEverything this account holds, in ZIP files of up to 24 MB saved to its file store: every record of every area as JSON Lines, and the stored files themselves, with a README saying …1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "Credentials".

      Matched text

      description: "...es, with a README saying what is where. Credentials are left out. Runs in the background: p..."

      What this check looks for
    Description, as the server wrote it
    Everything this account holds, in ZIP files of up to 24 MB saved to its file store: every record of every area as JSON Lines, and the stored files themselves, with a README saying what is where. Credentials are left out. Runs in the background: poll the call with account_get_call; the result has a download link for each part. The parts open only for this key and for the owner's and admins' own keys that neither only read nor only draft. A key of a team other than the company-wide one gets owner_required. Free (EU Data Act). One at a time, three a day; the owner is emailed when an export is made. Free. Runs in the background: the reply has a call_id; poll it with the account_get_call tool or GET /v1/calls/<id>.

    Annotations the server declares

    • title: Export everything
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • account_export_personEverything account_find_person finds about one person in one ZIP in the file store: their records as JSON Lines (credentials left out) and the files those records point to, like a …Can send data out1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • outboundThe input takes a destination (input.phone): what the tool writes goes there.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...ile store: their records as JSON Lines (credentials left out) and the files those records p..."

      What this check looks for
    Description, as the server wrote it
    Everything account_find_person finds about one person in one ZIP in the file store: their records as JSON Lines (credentials left out) and the files those records point to, like a CV. Give the person the download link when they ask for a copy of their data (GDPR Art. 15 and 20), once you know it is them. The ZIP opens only for this key and for the owner's and admins' own keys that neither only read nor only draft. A key of a team other than the company-wide one gets owner_required: pass the request to the owner. Free; 20 a day. Free.

    Annotations the server declares

    • title: Export a person's data
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • account_pause_teamStops every key of a team at once, this one too if it is the team's: their calls are refused until the owner starts the team again on their account page.No findings

    Why it is in this group

    • The description's first verb is "stop": a word for a change.
    Description, as the server wrote it
    Stops every key of a team at once, this one too if it is the team's: their calls are refused until the owner starts the team again on their account page. For a bot that misbehaves or a team that spends too fast. Free. Free.

    Annotations the server declares

    • title: Pause a team
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • account_request_limitAsk Conecto to raise one of the business's limits: which one (or other, saying which), the number it needs, and why, in 40 to 2,000 characters.No findings

    Why it is in this group

    • The name "account_request_limit" says "request": a word for a change.
    Description, as the server wrote it
    Ask Conecto to raise one of the business's limits: which one (or other, saying which), the number it needs, and why, in 40 to 2,000 characters. Conecto reviews it and approves (maybe with less) or declines; the answer comes as the account.limit_request_answered event and by email to the owner, who is also told now. For an account that has topped up; one request per limit at a time, five in 30 days. Free. Free.

    Annotations the server declares

    • title: Ask for a higher limit
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • account_save_teamA department, location or project group of the account, like Support, Finance or the Hamburg shop.No findings

    Why it is in this group

    • The name "account_save_team" says "save": a word for a change.
    Description, as the server wrote it
    A department, location or project group of the account, like Support, Finance or the Hamburg shop. Its keys (POST /v1/keys with "team") can only work in its areas, only read when read_only is on, and spend against its budget (monthly_budget_usd per budget_period: a month, a fiscal quarter or year, or a project total): a hard budget refuses the call that would pass it, a soft one only warns. At alert_percent you get the event account.budget_alert and the owner an email, once a period. erp_code is the team's cost center in the company's ERP, for statements. drafts_only makes every write of its keys wait for one of its managers (or the owner), for a new bot that should only draft. mailboxes are the Microsoft 365 or Google mailboxes its keys may act as. You may make a team and narrow one; widening its areas, letting it write, ending drafts only, switching a hard budget to soft, and raising or removing a budget are the owner's, on their account page, when the account has an owner email. The company-wide team holds every key no other team does and is never limited to areas. $0.001. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Create or change a team
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_set_brandThe business's name as the sender, its logo (a PNG, JPEG, WebP or GIF from the file store), its colour and a footer line (an address, a legal line), on every email to its customers…No findings

    Why it is in this group

    • The name "account_set_brand" says "set": a word for a change.
    Description, as the server wrote it
    The business's name as the sender, its logo (a PNG, JPEG, WebP or GIF from the file store), its colour and a footer line (an address, a legal line), on every email to its customers (bookings, applications, tests, signatures, invoices, newsletters, replies) and on its published pages (forms, booking, careers, newsletters, status, views). Only what you pass changes; an empty string clears it. Mail from Conecto to you keeps Conecto's look. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Set the business's look
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_set_email_templateChange an email's subject, headline or opening words in the business's own voice, with {variables} from account_list_email_templates (like {name} or {when}).Can send data outNo findings

    Why it is in this group

    • The name "account_set_email_template" says "set": a word for a change.

    What it can reach

    • outboundThe name "account_set_email_template" says "set" and "email": it writes something other people read.
    Description, as the server wrote it
    Change an email's subject, headline or opening words in the business's own voice, with {variables} from account_list_email_templates (like {name} or {when}). The facts under them (times, places, amounts, links and buttons) stay as they are. Only what you pass changes; an empty string brings back the original words. Plain text; a blank line starts a new paragraph. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Rewrite one of the business's emails
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_set_owner_emailWhen the account was made without the owner's email: send that person a link to confirm they own it.Can send data outNo findings

    Why it is in this group

    • The name "account_set_owner_email" says "set": a word for a change.

    What it can reach

    • outboundThe name "account_set_owner_email" says "set" and "email": it writes something other people read.
    Description, as the server wrote it
    When the account was made without the owner's email: send that person a link to confirm they own it. Once they confirm, the owner gets the account's warnings and approval requests, and only the owner raises limits. Nothing changes until they open the link. Free. Free.

    Annotations the server declares

    • title: Name the business's owner
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • crm_add_noteAdd a note to a contact (by contact id or email), a deal or a company: what was said, decided or learned.No findings

    Why it is in this group

    • The name "crm_add_note" says "add": a word for a change.
    Description, as the server wrote it
    Add a note to a contact (by contact id or email), a deal or a company: what was said, decided or learned. A note on a deal also shows on its company's and contact's timelines. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Add a note
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • crm_complete_taskMark a task done (or cancelled).No findings

    Why it is in this group

    • The description's first verb is "mark": a word for a change.
    Description, as the server wrote it
    Mark a task done (or cancelled). Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Complete a task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_create_taskA follow-up on a contact, with an optional due time (ISO 8601) and priority.No findings

    Why it is in this group

    • The name "crm_create_task" says "create": a word for a change.
    Description, as the server wrote it
    A follow-up on a contact, with an optional due time (ISO 8601) and priority. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Create a task
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • crm_define_fieldAdd a field of your own to contacts, companies or deals, such as a "plan" picked from a list or a "renewal_date", or change its label, description or options.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Add a field of your own to contacts, companies or deals, such as a "plan" picked from a list or a "renewal_date", or change its label, description or options. From then on values sent in custom_fields are checked against its type (text, number, boolean, date as YYYY-MM-DD, select from options, url, email, phone), and you can filter and sort on it. A field that holds values keeps its type; delete it and define it again to change the type. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Define a custom field
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_exportContacts, companies or deals as CSV text (one row each; tags and custom fields as columns), with the same filters, tag and segment as the find tools: for a spreadsheet or for the o…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Contacts, companies or deals as CSV text (one row each; tags and custom fields as columns), with the same filters, tag and segment as the find tools: for a spreadsheet or for the owner. Archived contacts and companies are left out. Up to 500 rows a call; continue with next_offset. Free.

    Annotations the server declares

    • title: Export as CSV
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_move_dealMove a deal to a stage (by name or id), optionally of another pipeline.No findings

    Why it is in this group

    • The name "crm_move_deal" says "move": a word for a change.
    Description, as the server wrote it
    Move a deal to a stage (by name or id), optionally of another pipeline. A won or lost stage closes the deal (give lost_reason when it is lost); an open stage reopens it. Each move is kept in the deal's history: crm_get_deal shows how many days it stayed in each stage. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Move a deal
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_pipeline_reportHow a pipeline is doing: open deals by stage with their value and weighted value (value x probability), deals won and lost in a period (this month by default) with the win rate, av…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    How a pipeline is doing: open deals by stage with their value and weighted value (value x probability), deals won and lost in a period (this month by default) with the win rate, average deal won, average days to close and lost reasons, a forecast of open deals by expected close month, and how many open deals have not moved for stale_days. Values are per currency. Free.

    Annotations the server declares

    • title: Pipeline report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_restore_companyBring an archived company back into the lists, searches, duplicates and exports.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Bring an archived company back into the lists, searches, duplicates and exports. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Restore a company
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_restore_contactBring an archived contact back.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Bring an archived contact back. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Restore a contact
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_save_companiesCreate or update up to 100 companies in one call, each exactly like crm_save_company (matched by name).No findings

    Why it is in this group

    • The name "crm_save_companies" says "save": a word for a change.
    Description, as the server wrote it
    Create or update up to 100 companies in one call, each exactly like crm_save_company (matched by name). Each one succeeds or fails on its own; the reply lists which, and you pay only for the ones saved. Costs $0.01 per record saved; nothing if none are found.

    Annotations the server declares

    • title: Save many companies
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_save_companyCreate a company, or update the one with this name (case-insensitive).No findings

    Why it is in this group

    • The name "crm_save_company" says "save": a word for a change.
    Description, as the server wrote it
    Create a company, or update the one with this name (case-insensitive). With company_id, update that company instead, and a name renames it. Only the fields you send change; tags are added, custom fields merged. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Save a company
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_save_contactCreate a contact, or update the one with this email if it already exists.Can send data outNo findings

    Why it is in this group

    • The name "crm_save_contact" says "save": a word for a change.

    What it can reach

    • outboundThe input takes a destination (input.phone): what the tool writes goes there.
    Description, as the server wrote it
    Create a contact, or update the one with this email if it already exists. Only the fields you send change; tags are added, custom fields merged. Without an email a new contact is always created. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Save a contact
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_save_contactsCreate or update up to 100 contacts in one call, each exactly like crm_save_contact (matched by email; without an email a new contact is made).No findings

    Why it is in this group

    • The name "crm_save_contacts" says "save": a word for a change.
    Description, as the server wrote it
    Create or update up to 100 contacts in one call, each exactly like crm_save_contact (matched by email; without an email a new contact is made). Each one succeeds or fails on its own; the reply lists which, and you pay only for the ones saved. Costs $0.01 per record saved; nothing if none are found.

    Annotations the server declares

    • title: Save many contacts
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_save_pipelineCreate a deal pipeline, or change one (by pipeline_id, or the pipeline with this name): its name, its position among the pipelines, and its stages in order.No findings

    Why it is in this group

    • The name "crm_save_pipeline" says "save": a word for a change.
    Description, as the server wrote it
    Create a deal pipeline, or change one (by pipeline_id, or the pipeline with this name): its name, its position among the pipelines, and its stages in order. A stage that still holds deals cannot be dropped; move them first with crm_move_deal. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Save a pipeline
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_save_segmentSave filters under a name, such as "customers renewing within 30 days" (a new name creates a segment, an existing one replaces its filters).No findings

    Why it is in this group

    • The name "crm_save_segment" says "save": a word for a change.
    Description, as the server wrote it
    Save filters under a name, such as "customers renewing within 30 days" (a new name creates a segment, an existing one replaces its filters). Use it with the segment argument of crm_find_contacts, crm_find_companies, crm_find_deals and crm_export. Relative dates (today+30) are worked out each time. Costs $0.001 per call; nothing if it fails.

    Annotations the server declares

    • title: Save a segment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_tag_recordsAdd and remove tags on up to 100 contacts, companies or deals at once, such as everyone who came to a webinar.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Add and remove tags on up to 100 contacts, companies or deals at once, such as everyone who came to a webinar. A new tag is made on first use; tags match in any case. Find tagged records with the tag argument of the find tools. Costs $0.001 per record tagged; nothing if none are found.

    Annotations the server declares

    • title: Tag records
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_timelineEverything that happened with a contact, a company (all its people) or a deal, or in the whole CRM when you name none of them, newest first: notes, tasks, emails from your inboxes,…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Everything that happened with a contact, a company (all its people) or a deal, or in the whole CRM when you name none of them, newest first: notes, tasks, emails from your inboxes, website chats, phone calls (with their summary), tickets, meetings, deal stage moves and deal notes, each with its contact_id where it has one. Each says who made it: `by` is the name of the key whose bot did (like "Ben, through Claude"), a person, a form or an import, or null; `via` is "dashboard" when a person made it on a dashboard link the key made, "ai_app" when the key's AI app did. Read it before you write to someone. For the next page pass next_before as `before`. Free.

    Annotations the server declares

    • title: Read a timeline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_update_contactChange fields on an existing contact by id.Can send data outNo findings

    Why it is in this group

    • The name "crm_update_contact" says "update": a word for a change.

    What it can reach

    • outboundThe input takes a destination (input.phone): what the tool writes goes there.
    Description, as the server wrote it
    Change fields on an existing contact by id. Only the fields you send change; tags are added, custom fields merged. Costs $0.01 per call; nothing if it fails.

    Annotations the server declares

    • title: Update a contact
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 24Show 24 read-only tools
  • account_audit_logThe account's admin and security actions, newest first: keys made and revoked, limits and auto-reload, the owner's sign-ins, connectors, exports, vault reads and writes, credential…Reads private data1 finding

    Why it is in this group

    • The name "account_audit_log" says "log": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "vault": it reads secrets.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...ctors, exports, vault reads and writes, credentials set and everything deleted. Ordinary wo..."

      What this check looks for
    Description, as the server wrote it
    The account's admin and security actions, newest first: keys made and revoked, limits and auto-reload, the owner's sign-ins, connectors, exports, vault reads and writes, credentials set and everything deleted. Ordinary work is in the call log (account_list_calls). verify: true also checks the hash chain, which breaks where an entry was changed or removed. Free.

    Annotations the server declares

    • title: Read the audit log
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_find_personEvery record this account holds about one person, by their email address or phone number, across every area: CRM, chats, emails, tickets, forms, bookings, calls, applications, invo…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "account_find_person" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Every record this account holds about one person, by their email address or phone number, across every area: CRM, chats, emails, tickets, forms, bookings, calls, applications, invoices, orders, newsletters, HR and the call log, with their chats and CRM history. For a person who asks what the business keeps about them (GDPR Art. 15). Shows each kind with its count and ids; account_export_person gives them a copy, account_erase_person erases what may go. Free.

    Annotations the server declares

    • title: Find a person's data
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_get_brandThe name, logo, colour and footer line the business's emails and published pages carry.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "account_get_brand" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    The name, logo, colour and footer line the business's emails and published pages carry. Free.

    Annotations the server declares

    • title: See the business's look
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_get_callOne call by id: its status (queued, running, succeeded, failed), cost and result.No findings

    Why it is in this group

    • The name "account_get_call" says "get": a word for reading.
    Description, as the server wrote it
    One call by id: its status (queued, running, succeeded, failed), cost and result. Use it to poll a background call until it finishes. Free.

    Annotations the server declares

    • title: Get a call
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_get_limitsThe limits a business can ask Conecto to raise (calls a minute, new email addresses a day, phone numbers and more): each one's standard and current value and the most that can be a…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "account_get_limits" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    The limits a business can ask Conecto to raise (calls a minute, new email addresses a day, phone numbers and more): each one's standard and current value and the most that can be asked for, and the business's requests with their answers. Free.

    Annotations the server declares

    • title: Read the limits
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_list_approval_rulesThe tools that wait for a person's approval, with their thresholds and approvers.No findings

    Why it is in this group

    • The name "account_list_approval_rules" says "list": a word for reading.
    Description, as the server wrote it
    The tools that wait for a person's approval, with their thresholds and approvers. Free.

    Annotations the server declares

    • title: List approval rules
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_list_callsRecent calls on this account, newest first, optionally only failed or succeeded ones, or one area's.No findings

    Why it is in this group

    • The name "account_list_calls" says "list": a word for reading.
    Description, as the server wrote it
    Recent calls on this account, newest first, optionally only failed or succeeded ones, or one area's. Free.

    Annotations the server declares

    • title: List calls
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_list_email_templatesEvery email Conecto sends to the business's customers (bookings, applications, interviews, tests, signatures, invoices and quotes, newsletter sign-ups), with when it goes out and i…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "account_list_email_templates" says "list": a word for reading.

    What it can reach

    • private-dataThe name "account_list_email_templates" says "list" and "email": it reads mail.
    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe name "account_list_email_templates" says "list" and "email": it reads inbound email, which other people can write.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Every email Conecto sends to the business's customers (bookings, applications, interviews, tests, signatures, invoices and quotes, newsletter sign-ups), with when it goes out and its subject, headline and opening words as they are now, and the {variables} each can use. Free.

    Annotations the server declares

    • title: See what the business's emails say
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • account_list_teamsThe account's teams, the company-wide one first: each with its areas, whether it only reads, its budget (hard or soft, and its period) and alert line, this period's spend, its ERP …No findings

    Why it is in this group

    • The name "account_list_teams" says "list": a word for reading.
    Description, as the server wrote it
    The account's teams, the company-wide one first: each with its areas, whether it only reads, its budget (hard or soft, and its period) and alert line, this period's spend, its ERP code, whether it is paused, its keys, and its people with who manages it. A person's own assistant works within their teams. Free.

    Annotations the server declares

    • title: List teams
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_find_companiesSearch companies by name or domain, or by filters on any field, tag or custom field, or by a saved segment.No findings

    Why it is in this group

    • The name "crm_find_companies" says "find": a word for reading.
    Description, as the server wrote it
    Search companies by name or domain, or by filters on any field, tag or custom field, or by a saved segment. Archived companies are left out unless include_archived is true. Returns a page, the total, and next_offset for the next page. Free.

    Annotations the server declares

    • title: Find companies
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_find_contactsSearch the CRM by name, email, company or phone, or by filters on any field, tag or custom field, or by a saved segment.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "crm_find_contacts" says "find": a word for reading.

    What it can reach

    • private-dataThe name "crm_find_contacts" says "find" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "search" and "email": it reads mail.
    • untrusted-inputThe description's first sentence says "search" and "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Search the CRM by name, email, company or phone, or by filters on any field, tag or custom field, or by a saved segment. Returns a page of contacts (most recently seen first unless `sort` says otherwise), the total, and next_offset for the next page. Free.

    Annotations the server declares

    • title: Find contacts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_find_dealsDeals by pipeline, stage, status (open, won, lost), company or contact, or by filters on any field, tag or custom field, or by a saved segment; most recently changed first unless `…Reads private dataNo findings

    Why it is in this group

    • The name "crm_find_deals" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    Description, as the server wrote it
    Deals by pipeline, stage, status (open, won, lost), company or contact, or by filters on any field, tag or custom field, or by a saved segment; most recently changed first unless `sort` says otherwise. Deals that have not moved in 14 days: filters [{"field": "status", "op": "eq", "value": "open"}, {"field": "stage_entered_at", "op": "lt", "value": "today-14"}]. Free.

    Annotations the server declares

    • title: Find deals
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_find_duplicatesContacts or companies that are probably the same: contacts with the same email in any case, the same phone number in any format, or the same name at the same company; companies wit…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "crm_find_duplicates" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Contacts or companies that are probably the same: contacts with the same email in any case, the same phone number in any format, or the same name at the same company; companies with the same domain, or the same name once "Inc", "Ltd", "GmbH" and the like are dropped. Archived ones are left out. Merge each group with crm_merge_contacts or crm_merge_companies. Free.

    Annotations the server declares

    • title: Find duplicates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_get_companyOne company, by id or name, with its tags, custom fields, people, deals (open ones first) and notes, each note with who wrote it (by and via, as crm_timeline gives them).Reads private dataNo findings

    Why it is in this group

    • The name "crm_get_company" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "note": it reads notes.
    Description, as the server wrote it
    One company, by id or name, with its tags, custom fields, people, deals (open ones first) and notes, each note with who wrote it (by and via, as crm_timeline gives them). An archived company is read too (archived: true). Free.

    Annotations the server declares

    • title: Get a company
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_get_contactOne contact with its tags, custom fields, recent activity, open tasks and deals, by id or email, and came_from: the website visit that led to their first chat, booking, form or sig…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "crm_get_contact" says "get": a word for reading.

    What it can reach

    • private-dataThe name "crm_get_contact" says "get" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    One contact with its tags, custom fields, recent activity, open tasks and deals, by id or email, and came_from: the website visit that led to their first chat, booking, form or signup (channel, source, campaign, landing page), when the site is counted. crm_timeline has everything that happened with them. Free.

    Annotations the server declares

    • title: Get a contact
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_get_customerOne read before you answer someone: the contact (or company) and what is open with them across Conecto: open deals, help desk tickets, unpaid invoices and open quotes (with the bal…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "crm_get_customer" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe description's first sentence says "ticket": it reads issues, which other people can write.
    Description, as the server wrote it
    One read before you answer someone: the contact (or company) and what is open with them across Conecto: open deals, help desk tickets, unpaid invoices and open quotes (with the balance due per currency), documents waiting for their signature, their next meetings, the last email, chat and call, their newsletters, and where they first came from on the website. By contact_id, email or company_id (then its contacts' records too). Each list shows up to 5; each area's own tools have the rest. Free.

    Annotations the server declares

    • title: Everything open with a customer
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_get_dealOne deal with its pipeline and stage, its stage history (each stage and the days it stayed there), its notes with who wrote each (by and via, as crm_timeline gives them), and its c…Reads private dataNo findings

    Why it is in this group

    • The name "crm_get_deal" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "note": it reads notes.
    Description, as the server wrote it
    One deal with its pipeline and stage, its stage history (each stage and the days it stayed there), its notes with who wrote each (by and via, as crm_timeline gives them), and its contact and company. Free.

    Annotations the server declares

    • title: Get a deal
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_list_fieldsThe fields you can read, filter and sort on for contacts, companies and deals: the standard ones and the custom fields defined with crm_define_field (type, options, description, an…Reads private dataNo findings

    Why it is in this group

    • The name "crm_list_fields" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    Description, as the server wrote it
    The fields you can read, filter and sort on for contacts, companies and deals: the standard ones and the custom fields defined with crm_define_field (type, options, description, and how many records hold a value). Free.

    Annotations the server declares

    • title: List fields
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_list_pipelinesThe deal pipelines in order, each with its stages in order: id, name, probability (the chance a deal there is won, 0-100), outcome (open, won or lost), and how many deals sit there…No findings

    Why it is in this group

    • The name "crm_list_pipelines" says "list": a word for reading.
    Description, as the server wrote it
    The deal pipelines in order, each with its stages in order: id, name, probability (the chance a deal there is won, 0-100), outcome (open, won or lost), and how many deals sit there with their value by currency. Every account starts with "Sales": New, Qualified, Meeting, Proposal, Negotiation, Won, Lost. Free.

    Annotations the server declares

    • title: List pipelines
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_list_segmentsThe saved segments, each with its filters and how many records match right now.No findings

    Why it is in this group

    • The name "crm_list_segments" says "list": a word for reading.
    Description, as the server wrote it
    The saved segments, each with its filters and how many records match right now. Free.

    Annotations the server declares

    • title: List segments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_list_tagsEvery tag with how many contacts, companies and deals carry it.Reads private dataNo findings

    Why it is in this group

    • The name "crm_list_tags" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    Description, as the server wrote it
    Every tag with how many contacts, companies and deals carry it. Free.

    Annotations the server declares

    • title: List tags
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • crm_list_tasksTasks by status (default open), optionally for one contact or due before a time, soonest first, each with the contact it is about (id, name, email).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "crm_list_tasks" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    Tasks by status (default open), optionally for one contact or due before a time, soonest first, each with the contact it is about (id, name, email). Free.

    Annotations the server declares

    • title: List tasks
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

1122 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 6 outbound tools breaks every one.

Can send data out6
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__crm__account_emit_event",
      "mcp__crm__account_export_person",
      "mcp__crm__account_set_email_template",
      "mcp__crm__account_set_owner_email",
      "mcp__crm__crm_save_contact",
      "mcp__crm__crm_update_contact"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn3 info
  • The server marks "account_owner_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "account_owner_link" says "link": a word for a change.

    What this check looks for
  • The server marks "account_dashboard_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "account_dashboard_link" says "link": a word for a change.

    What this check looks for
  • The description mentions "Credentials".

    Matched text

    description: "...es, with a README saying what is where. Credentials are left out. Runs in the background: p..."

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...ctors, exports, vault reads and writes, credentials set and everything deleted. Ordinary wo..."

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...ile store: their records as JSON Lines (credentials left out) and the files those records p..."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http crm https://api.conecto.chat/mcp/crm --header 'Authorization: <your-authorization>'
claude mcp add --transport http crm https://api.conecto.chat/mcp/crm --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__crm__crm_find_contacts",
      "mcp__crm__crm_get_contact",
      "mcp__crm__crm_get_customer",
      "mcp__crm__crm_list_tasks",
      "mcp__crm__crm_find_companies",
      "mcp__crm__crm_get_company",
      "mcp__crm__crm_find_deals",
      "mcp__crm__crm_get_deal",
      "mcp__crm__crm_list_pipelines",
      "mcp__crm__crm_list_fields",
      "mcp__crm__crm_list_tags",
      "mcp__crm__crm_list_segments",
      "mcp__crm__crm_search",
      "mcp__crm__crm_find_duplicates",
      "mcp__crm__account_get_call",
      "mcp__crm__account_list_calls",
      "mcp__crm__account_get_limits",
      "mcp__crm__account_search",
      "mcp__crm__account_get_brand",
      "mcp__crm__account_list_email_templates",
      "mcp__crm__account_audit_log",
      "mcp__crm__account_list_teams",
      "mcp__crm__account_list_approval_rules",
      "mcp__crm__account_find_person"
    ],
    "ask": [
      "mcp__crm__crm_save_contact",
      "mcp__crm__crm_save_contacts",
      "mcp__crm__crm_update_contact",
      "mcp__crm__crm_restore_contact",
      "mcp__crm__crm_add_note",
      "mcp__crm__crm_create_task",
      "mcp__crm__crm_complete_task",
      "mcp__crm__crm_save_company",
      "mcp__crm__crm_restore_company",
      "mcp__crm__crm_save_companies",
      "mcp__crm__crm_save_deal",
      "mcp__crm__crm_save_pipeline",
      "mcp__crm__crm_move_deal",
      "mcp__crm__crm_pipeline_report",
      "mcp__crm__crm_define_field",
      "mcp__crm__crm_tag_records",
      "mcp__crm__crm_save_segment",
      "mcp__crm__crm_timeline",
      "mcp__crm__crm_export",
      "mcp__crm__account_balance",
      "mcp__crm__account_set_owner_email",
      "mcp__crm__account_owner_link",
      "mcp__crm__account_dashboard_link",
      "mcp__crm__account_request_limit",
      "mcp__crm__account_events",
      "mcp__crm__account_emit_event",
      "mcp__crm__account_set_brand",
      "mcp__crm__account_set_email_template",
      "mcp__crm__account_export_all",
      "mcp__crm__account_save_team",
      "mcp__crm__account_pause_team",
      "mcp__crm__account_assign_team",
      "mcp__crm__account_add_approval_rule",
      "mcp__crm__account_export_person",
      "mcp__crm__account_data_locations"
    ],
    "deny": [
      "mcp__crm__crm_archive_contact",
      "mcp__crm__crm_archive_company",
      "mcp__crm__crm_delete_pipeline",
      "mcp__crm__crm_delete_field",
      "mcp__crm__crm_delete_tag",
      "mcp__crm__crm_delete_segment",
      "mcp__crm__crm_merge_contacts",
      "mcp__crm__crm_merge_companies",
      "mcp__crm__account_refund_topup",
      "mcp__crm__account_erase_person"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as crm. Review it before you use it.

Capability tags behind 23 rules
  • mcp__crm__crm_find_contacts private-data, untrusted-input
  • mcp__crm__crm_get_contact private-data, untrusted-input
  • mcp__crm__crm_get_customer private-data, untrusted-input
  • mcp__crm__crm_save_contact outbound
  • mcp__crm__crm_update_contact outbound
  • mcp__crm__crm_list_tasks private-data, untrusted-input
  • mcp__crm__crm_get_company private-data
  • mcp__crm__crm_find_deals private-data
  • mcp__crm__crm_get_deal private-data
  • mcp__crm__crm_list_fields private-data
  • mcp__crm__crm_list_tags private-data
  • mcp__crm__crm_search private-data, untrusted-input
  • mcp__crm__crm_find_duplicates private-data, untrusted-input
  • mcp__crm__account_set_owner_email outbound
  • mcp__crm__account_get_limits private-data, untrusted-input
  • mcp__crm__account_emit_event outbound
  • mcp__crm__account_search private-data, untrusted-input
  • mcp__crm__account_get_brand private-data, untrusted-input
  • mcp__crm__account_list_email_templates private-data, untrusted-input
  • mcp__crm__account_set_email_template outbound
  • mcp__crm__account_audit_log private-data
  • mcp__crm__account_find_person private-data, untrusted-input
  • mcp__crm__account_export_person outbound

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/chat.conecto/crm/verify?hash=cbf5b8cb80f1c261bd65aeb6c1d639161e7fc21e04c95ca622cd7bb59fb9c7cf" | jq -e '.changed == false'

Pinned hash cbf5b8cb80f1, from Nov 2, 2026, 21:17 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/chat.conecto/crm/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for chat.conecto/crm
[![anlyon.dev](https://anlyon.dev/badge/chat.conecto/crm.svg)](https://anlyon.dev/servers/chat.conecto/crm)

Source: MCP Registry. Synced Nov 2, 2026, 22:17 UTC.