Revamp CRM MCP by usefulapi
io.usefulapi/revamp-crmusefulapi.iostreamable-httpv1.0.0Scanned
Read Revamp CRM contacts, deals, notes and orders; create and update contacts, deals and notes.
19 tools: 3 can delete or cancel things, 3 change things and 13 only read.
- Reads private data · 9
- Reads text others write · 19
- Can send data out · 0
- 1 finding
Anlyon alternative
6 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.
19 tools
Deletes or cancels 3Claude Code: deny
revampcrm_mark_deal_lostWRITE: mark a deal as Lost in Revamp CRM with a reason (its status changes and it counts in lost-deal reports).Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_mark_deal_lost" says "mark": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: mark a deal as Lost in Revamp CRM with a reason (its status changes and it counts in lost-deal reports). It does not message the contact. Check the deal first with revampcrm_search_deals. POST /Deals/Lost.
Annotations the server declares
- title: Mark deal lost
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
revampcrm_mark_deal_wonWRITE: mark a deal as Won in Revamp CRM (its status changes and it counts in won-deal reports).Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_mark_deal_won" says "mark": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: mark a deal as Won in Revamp CRM (its status changes and it counts in won-deal reports). It does not message the contact. Check the deal first with revampcrm_search_deals. POST /Deals/Won.
Annotations the server declares
- title: Mark deal won
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
revampcrm_update_contactWRITE: change fields of an existing contact.Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_update_contact" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: change fields of an existing contact. Only the fields you pass change: the tool reads the stored contact first and sends it back with your changes (Revamp CRM's update replaces the whole record). `tags` replaces the contact's tags; passing a field overwrites its old value. It does not email or message the contact. PUT /Contacts/Edit.
Annotations the server declares
- title: Update contact
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 3Claude Code: ask
revampcrm_add_noteWRITE: add a note to a contact or a deal timeline in Revamp CRM.Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_add_note" says "add": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: add a note to a contact or a deal timeline in Revamp CRM. It is an internal note: nothing is sent to the contact. Adding twice creates two notes. POST /Notes/{Contact|Deal}/{id}/Add.
Annotations the server declares
- title: Add note
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
revampcrm_create_contactWRITE: create a new contact (person or organization) in the Revamp CRM account.Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_create_contact" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: create a new contact (person or organization) in the Revamp CRM account. It does not email or message the contact. Search first (revampcrm_list_contacts with keyword/email) so you do not create a duplicate: this tool does not check. Returns Revamp CRM's import result (status, message, the new id in ImportingIntoId). POST /Contacts/New.
Annotations the server declares
- title: Create contact
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
revampcrm_create_dealWRITE: create a new deal (opportunity) in the Revamp CRM account, optionally linked to a contact.Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_create_deal" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: create a new deal (opportunity) in the Revamp CRM account, optionally linked to a contact. It does not message anyone. Use revampcrm_list_deals_by_stage (CurrentStages) for valid stage names and revampcrm_list_deal_currencies for currencies. POST /Deals.
Annotations the server declares
- title: Create deal
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 13Show 13 read-only tools
revampcrm_count_ordersHow many orders Revamp CRM has synced for one store.Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_count_orders" says "count": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it How many orders Revamp CRM has synced for one store. GET /Orders/Count/{provider}/{store}.
Annotations the server declares
- title: Count e-commerce orders
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_get_contactOne contact by id with full details: contact info, address, tags, stage, custom fields, owner, previous/next task, deal totals (won/lost/open per currency), e-commerce order summar…Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_get_contact" says "get": a word for reading.
What it can reach
- private-dataThe name "revampcrm_get_contact" says "get" and "contact": it reads contacts.
- private-dataThe description's first sentence says "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it One contact by id with full details: contact info, address, tags, stage, custom fields, owner, previous/next task, deal totals (won/lost/open per currency), e-commerce order summary and order details. GET /Contacts/GetSingleContact/{id}/true.
Annotations the server declares
- title: Get contact
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_get_current_userThe Revamp CRM user the credentials belong to: id, name, email and role.Reads private dataReads text others write1 finding
Why it is in this group
- The name "revampcrm_get_current_user" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "credential": it reads secrets.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "The Revamp CRM user the credentials belong to: id, name, email and role. Us..."
Description, as the server wrote it The Revamp CRM user the credentials belong to: id, name, email and role. Use the id as owner_user_id / assigned_user_id. GET /User/WhoAmI.
Annotations the server declares
- title: Get current user
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_get_noteOne note or timeline entry by id: text/message, type, author, related contact and deal, created date.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_get_note" says "get": a word for reading.
What it can reach
- private-dataThe name "revampcrm_get_note" says "get" and "note": it reads notes.
- private-dataThe description's first sentence says "note": it reads notes.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "message": it reads messages, which other people can write.
Description, as the server wrote it One note or timeline entry by id: text/message, type, author, related contact and deal, created date. GET /Notes/getNote/{id}.
Annotations the server declares
- title: Get note
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_get_orderOne synced e-commerce order (Shopify, WooCommerce, BigCommerce ...) by the store's own order id: totals, tax, discount, shipping, financial and shipping status, line items and cust…Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_get_order" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it One synced e-commerce order (Shopify, WooCommerce, BigCommerce ...) by the store's own order id: totals, tax, discount, shipping, financial and shipping status, line items and customer. Needs the provider name and store name exactly as Revamp CRM stores them (see ExternalProviders / Shop on a contact). GET /Orders/Get/{provider}/{store}/{id}.
Annotations the server declares
- title: Get e-commerce order
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_contact_dealsAll deals of one contact (name, stage, status, value, currency, expected closing date, owner).Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_contact_deals" says "list": a word for reading.
What it can reach
- private-dataThe name "revampcrm_list_contact_deals" says "list" and "contact": it reads contacts.
- private-dataThe description's first sentence says "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it All deals of one contact (name, stage, status, value, currency, expected closing date, owner). GET /Contacts/{id}/Deals.
Annotations the server declares
- title: List a contact's deals
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_contact_stagesThe contact (lead) stage names configured in the account, in order.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_contact_stages" says "list": a word for reading.
What it can reach
- private-dataThe name "revampcrm_list_contact_stages" says "list" and "contact": it reads contacts.
- private-dataThe description's first sentence says "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it The contact (lead) stage names configured in the account, in order. Use them as contact_stage filters and values. GET /Account/ContactStage.
Annotations the server declares
- title: List contact stages
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_contactsSearch and list contacts (people and organizations), newest filters first.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_contacts" says "list": a word for reading.
What it can reach
- private-dataThe name "revampcrm_list_contacts" says "list" and "contact": it reads contacts.
- private-dataThe description's first sentence says "search" and "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Search and list contacts (people and organizations), newest filters first. With no filter it lists all contacts. Each item has name, organization, email/phone (ContactInfo), tags, stage, owner, last-contacted info and e-commerce order summary. resultsInfo carries totalCount and hasNext/nextIndex: pass nextIndex as `page` for the next page. GET /Contacts.
Annotations the server declares
- title: List or search contacts
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_custom_fieldsThe contact custom fields defined in the account: CustomFieldName (the property name, e.g.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_custom_fields" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it The contact custom fields defined in the account: CustomFieldName (the property name, e.g. CustomField3), DisplayName, Type and list options. Read this to interpret CustomFieldN values on contacts and to set them. GET /Account/getAccountCustomFields.
Annotations the server declares
- title: List contact custom fields
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_deal_currenciesThe currencies that deals in this account can use (name, value, symbol).Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_deal_currencies" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it The currencies that deals in this account can use (name, value, symbol). GET /Account/DealCurrencies.
Annotations the server declares
- title: List deal currencies
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_dealsList deals with optional filters (status, pipeline, owner, contact, currency, created / expected-closing / closed date ranges).Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_deals" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "list" and "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List deals with optional filters (status, pipeline, owner, contact, currency, created / expected-closing / closed date ranges). Each deal has name, stage, status, value, probability, forecasted sale, expected closing date, contact, owner and tags. The deal endpoints have no paging: the reply is cut to `limit` and says how many matched. GET /Deals/List.
Annotations the server declares
- title: List deals
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_list_deals_by_stageThe deal pipeline board: deals grouped by stage (with the stage names in CurrentStages).Reads text others writeNo findings
Why it is in this group
- The name "revampcrm_list_deals_by_stage" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it The deal pipeline board: deals grouped by stage (with the stage names in CurrentStages). Same filters as revampcrm_list_deals. At most `limit` deals are shown per stage. GET /Deals/ByStage.
Annotations the server declares
- title: List deals grouped by stage
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
revampcrm_search_dealsSearch deals by name, status, stage, contact, owner, pipeline, product, sales region or deal source (text match as Revamp CRM defines it).Reads private dataReads text others writeNo findings
Why it is in this group
- The name "revampcrm_search_deals" says "search": a word for reading.
What it can reach
- private-dataThe description's first sentence says "search" and "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Search deals by name, status, stage, contact, owner, pipeline, product, sales region or deal source (text match as Revamp CRM defines it). Revamp CRM applies `limit` itself and gives no total: may_have_more is true when a full page came back. GET /Deals/Search.
Annotations the server declares
- title: Search deals
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
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.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data9
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write19
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
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.
The description mentions "credentials".
What this check looks forMatched text
description: "The Revamp CRM user the credentials belong to: id, name, email and role. Us..."
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 revamp-crm https://revamp-crm.usefulapi.io/mcpclaude mcp add --transport http revamp-crm https://revamp-crm.usefulapi.io/mcpRun 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.
{
"permissions": {
"allow": [
"mcp__revamp-crm__revampcrm_get_current_user",
"mcp__revamp-crm__revampcrm_list_contact_stages",
"mcp__revamp-crm__revampcrm_list_deal_currencies",
"mcp__revamp-crm__revampcrm_list_custom_fields",
"mcp__revamp-crm__revampcrm_list_contacts",
"mcp__revamp-crm__revampcrm_get_contact",
"mcp__revamp-crm__revampcrm_list_contact_deals",
"mcp__revamp-crm__revampcrm_list_deals",
"mcp__revamp-crm__revampcrm_search_deals",
"mcp__revamp-crm__revampcrm_list_deals_by_stage",
"mcp__revamp-crm__revampcrm_get_note",
"mcp__revamp-crm__revampcrm_get_order",
"mcp__revamp-crm__revampcrm_count_orders"
],
"ask": [
"mcp__revamp-crm__revampcrm_create_contact",
"mcp__revamp-crm__revampcrm_create_deal",
"mcp__revamp-crm__revampcrm_add_note"
],
"deny": [
"mcp__revamp-crm__revampcrm_update_contact",
"mcp__revamp-crm__revampcrm_mark_deal_won",
"mcp__revamp-crm__revampcrm_mark_deal_lost"
]
}
}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 revamp-crm. Review it before you use it.
Capability tags behind 19 rules
- mcp__revamp-crm__revampcrm_get_current_user private-data, untrusted-input
- mcp__revamp-crm__revampcrm_list_contact_stages private-data, untrusted-input
- mcp__revamp-crm__revampcrm_list_deal_currencies untrusted-input
- mcp__revamp-crm__revampcrm_list_custom_fields private-data, untrusted-input
- mcp__revamp-crm__revampcrm_list_contacts private-data, untrusted-input
- mcp__revamp-crm__revampcrm_get_contact private-data, untrusted-input
- mcp__revamp-crm__revampcrm_list_contact_deals private-data, untrusted-input
- mcp__revamp-crm__revampcrm_list_deals private-data, untrusted-input
- mcp__revamp-crm__revampcrm_search_deals private-data, untrusted-input
- mcp__revamp-crm__revampcrm_list_deals_by_stage untrusted-input
- mcp__revamp-crm__revampcrm_get_note private-data, untrusted-input
- mcp__revamp-crm__revampcrm_get_order untrusted-input
- mcp__revamp-crm__revampcrm_count_orders untrusted-input
- mcp__revamp-crm__revampcrm_create_contact untrusted-input
- mcp__revamp-crm__revampcrm_update_contact untrusted-input
- mcp__revamp-crm__revampcrm_create_deal untrusted-input
- mcp__revamp-crm__revampcrm_add_note untrusted-input
- mcp__revamp-crm__revampcrm_mark_deal_won untrusted-input
- mcp__revamp-crm__revampcrm_mark_deal_lost untrusted-input
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/io.usefulapi/revamp-crm/verify?hash=f4846597a47b80246cdc3c490620ad82c7996fe8bd70c4940acc25788768b042" | jq -e '.changed == false'Pinned hash f4846597a47b, from Oct 24, 2026, 16:21 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.usefulapi/revamp-crm/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.usefulapi/revamp-crm)Source: MCP Registry · repository. Synced Oct 24, 2026, 17:17 UTC.