cypress.DOCS
Log inRegister
Cypress Docs

MCP servers

Connect an AI agent to Cypress over the Model Context Protocol, to work in your organization or to read what Cypress knows.

TL;DRAI summary

This chapter explains how your custom agent can connect to Cypress using three servers. Each server offers different tools for managing vehicle listings, accessing insights, or reading the product manual. You will need an API key or Connect Cypress token to sign in.

Dive deeper:

Cypress runs three servers for agents that speak the Model Context Protocol: give your agent the address and a credential, and it can work in Cypress and read what Cypress knows, under the same rules as the app; the manual needs no credential at all. Since 1.5.0.

ServerAddressTools
Cypress Operatehttps://app.getcypress.ai/api/mcp/operateVehicles and their listings, offers, tasks, contacts, companies, deals, notes and interactions, emailing a contact, Mission Control, closings, notifications, campaigns, automations, Sell and Buy plans
Cypress Intelligencehttps://app.getcypress.ai/api/mcp/intelligenceInsights on a vehicle or a buy target, valuation and comparables, dealer demand, the market board, buy matches, Sequoia's suggestions. Read-only
Cypress Manualhttps://app.getcypress.ai/api/mcp/manualSearch and read this manual and its guides. Read-only, public, no credential

Signing in

Every request carries a credential, exactly as the REST API takes it:

  • An API key as a bearer (Authorization: Bearer cyp_live_…, or cyp_test_… for a sandbox). Most MCP clients let you set a header. Never test with a live key: see Live and test keys.
  • A Connect Cypress token, for an app or an agent your organization connected. A request without a credential answers 401 with WWW-Authenticate: Bearer resource_metadata="…/.well-known/oauth-protected-resource/api/mcp/<server>", which names Connect Cypress as the authorization server. An MCP client needs no registration with Cypress: it signs in with a client ID metadata document, or registers itself at the server settings' registration_endpoint (RFC 7591), and its token acts for the admin who approved it.

A credential that was sent and is not valid (unknown, revoked or expired) answers 401 with WWW-Authenticate: Bearer error="invalid_token" and its own message; one that was never sent gets the bare challenge above.

Cypress staff connect with a CM token (cyp_cm_…, made by a Cypress Manager in Settings › Developers). It acts as that person, under the same rules as in the app: for the organization named in the Cypress-Organization header, in ?organization= on the server's address, or in organizationId on each organization's tool; the staff tools (archiving a vehicle for Cypress, for example) need none. A connection is told who acts and for whom, and _meta carries "ai.getcypress/actor": "STAFF".

Where a connection acts. On initialize and server/discover, Operate and Intelligence say whether the credential's organization is LIVE or a SANDBOX: _meta carries "ai.getcypress/environment", a sandbox's server title ends in "(sandbox)", and the instructions open with it. In a sandbox nothing reaches a real person (emails, campaign sends, reminders and signing links are recorded and answered simulated), so an agent may try every write tool there.

The tools a client sees are those the credential's scopes allow: a key with tasks:read and tasks:write sees the task tools and nothing else. Cypress Intelligence needs insights:read (and buy-planning:read for buy matches). See Organization & scopes.

Try it

The MCP quickstart walks an agent through its first ten minutes in a sandbox, with the configuration for Claude Code, Cursor, Claude Desktop and other clients. In short: the Manual needs nothing. In Claude Code, for example:

claude mcp add --transport http cypress-manual "$BASE/api/mcp/manual"

Operate and Intelligence take an API key from Organization → Integrations, with the scopes you want the agent to have:

claude mcp add --transport http cypress-operate "$BASE/api/mcp/operate" \
  --header "Authorization: Bearer cyp_test_…"

Operate shows an agent the core tools by default: thirteen tools for the everyday work, and every other operation through discover.

Try it on a sandbox first: its test key acts where nothing reaches a real person.

Add an area to the address to show its tools beside the core ones, ?toolsets=core,crm (see Tools by area). Any MCP client takes the same two things, an address and a header. The MCP Inspector (npx @modelcontextprotocol/inspector, transport Streamable HTTP) lists the tools and calls them one at a time. Plain HTTP works too:

curl -X POST "$BASE/api/mcp/manual" \
  -H "content-type: application/json" -H "MCP-Protocol-Version: 2025-06-18" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_manual","arguments":{"query":"connect an app"}}}'

The protocol

All three servers speak Streamable HTTP, statelessly: one JSON-RPC message per POST, answered with JSON. They serve the current revision, 2026-07-28 (the version, client and capabilities in each request's _meta, mirrored in the MCP-Protocol-Version, Mcp-Method and Mcp-Name headers; server/discover answers the supported versions, capabilities and server; the version may also come as plain _meta.protocolVersion, or in the header alone), and clients of the handshake revisions 2025-11-25, 2025-06-18 and 2025-03-26, which open with initialize (no session is created; send the version you agreed on in MCP-Protocol-Version). Errors are the protocol's own: -32022 for a version the server does not speak (with the supported ones), -32020 when a header does not match the body, 404 with -32601 for an unknown method, 405 for GET and DELETE.

Tasks. Cypress Operate supports the Tasks extension (SEP-2663; server/discover lists io.modelcontextprotocol/tasks). An import, of vehicles (import_vehicles) or of CRM records (import_crm_records), runs in the background, so to a client that says it takes tasks (the extension in that request's _meta capabilities) an import that queued work answers a task handle instead of a result: resultType: "task", a taskId and pollIntervalMs. A vehicle import that queues both new vehicles and updates is one task that follows both. The client polls tasks/get until the task is completed, with the import's own answer as its result (an import that failed completes too, with an error result). Cypress staff without an organization on the connection name it on tasks/get with organizationId, as on a tool call. tasks/cancel and tasks/update are acknowledged; an import cannot be stopped once queued. A task id works only for the organization that started it, and every poll reads the import again as the caller. A client that does not take tasks gets the plain answer, with the batch to follow with get_import or get_crm_import.

What a tool answers. Every tool declares an outputSchema, and its answer is structuredContent that fits it, with the same JSON, compact, in the text block for clients that read text only. The schemas describe the answer loosely (no field is required, any may be null) so a real answer is never refused; on Operate they come from this API's own response schemas, two levels deep.

Cypress Operate

Its tools are generated from this API's own reference: each one takes the endpoint's path and query parameters as arguments and its request body as body, and is answered by the same code a REST call reaches. Every write, Planning's included, takes dryRun (the route's own: every rule checked, what would change said, nothing written) and idempotencyKey (a retry answers the same, once). A write that takes something away or cannot be taken back is annotated destructiveHint so a client asks the person first: accepting, declining or withdrawing an offer, sending a campaign now, taking a vehicle off the market, ending the sell strategy, and every tool that deletes, removes, archives, revokes or dismisses (a goal, a note, a photo, a location).

What follows is every operation Operate offers. An agent sees the core tools by default and reaches the rest through discover and run_*; a connection that asks for an area, or for all, is shown those operations as tools of their own.

Lists answer a page an agent can read: 10 records unless the call names a limit, each summarized (its own fields and links, without its lists, such as a closing's steps) unless it asks for view: "full". Read one record in full with its get_ tool. nextHref names the next page.

AreaTools
Core (the default)find, get_context, brief, launch, reprice, answer_offer, advance_closing, log, discover, describe_operation, run_read, run_write, run_destructive: the everyday work, and every other operation through discovery. See Core tools
Taskslist_tasks, get_task, create_task, update_task, complete_task, reassign_task, delete_task
Your organizationget_organization, list_members, list_connections (what this credential may do, who works there, the apps and agents connected); on a sandbox only, reset_sandbox (the sandbox as it was made, under the same key)
CRMlist_contacts, get_contact, create_contact, update_contact, add_contact_note, log_contact_interaction, email_contact, list_contact_notes, edit_contact_note, remove_contact_note, list_contact_interactions, edit_contact_interaction, remove_contact_interaction, list_contact_tags, tag_contacts, list_businesses, get_business, create_business, update_business, list_business_notes, add_business_note, edit_business_note, remove_business_note, list_business_interactions, log_business_interaction, edit_business_interaction, remove_business_interaction, list_business_tags, tag_businesses, list_deals, get_deal, create_deal, update_deal, move_deal_stage, list_deal_stages, list_deal_notes, add_deal_note, edit_deal_note, remove_deal_note, list_deal_interactions, log_deal_interaction, edit_deal_interaction, remove_deal_interaction
Offerslist_offers, get_offer, accept_offer, decline_offer, counter_offer, withdraw_offer
Vehicles and listingslist_vehicles (by status, lifeStage, VIN or its last characters, make and model), get_vehicle (it names its open listing), launch_vehicle (a listing; listingMode: "IMMEDIATE" puts the car live; a dry run names what the car lacks: locationState, mileage, condition, a price), update_listing, list_listings, get_listing, list_vehicle_costs, add_vehicle_cost, list_odometer_readings, record_odometer_reading, get_vehicle_ownership, set_vehicle_ownership; with an API key or a CM token only (their routes take no app or agent token): create_vehicle, push_vehicles (up to 500; with removeMissing the push is the whole inventory and the vehicles it leaves out are staged for archive, see Pushing inventory), update_vehicle, delete_vehicle, report_vehicle_sold_elsewhere, record_vehicle_departure
The app's vehicle actionsThe buttons of a vehicle's page and the fleet grid, run by the app's own code as you (see The app's actions): list_vehicle_labels, add_vehicle_labels, remove_vehicle_labels, edit_labels_on_vehicles, change_vehicle_status, submit_vehicles_for_review, launch_approved_vehicle, launch_approved_vehicles, pause_vehicle, resume_vehicle, delist_vehicle, undo_vehicle_archive, set_vehicle_offer_rules, apply_pricing_rule, apply_pricing_rules, revalue_vehicle, revalue_vehicles, list_vehicle_valuations, list_vehicle_activity, check_vehicle_listing_readiness, get_vehicle_listing_metrics, get_vehicle_market_history, get_vehicle_comps, find_comparable_sales, get_vehicle_archive_record, list_vehicle_photos, add_vehicle_photo, remove_vehicle_photo, set_vehicle_cover_photo, reorder_vehicle_photos, add_vehicle_video, remove_vehicle_video, get_vehicle_history_report, attach_vehicle_history_report, list_vehicle_damages, add_vehicle_damage, remove_vehicle_damage, list_vehicle_share_links, create_vehicle_share_link, create_share_links, revoke_share_links, list_share_link_visitors, set_vehicles_visibility, set_vehicles_on_storefront, list_fleets, get_fleet_stats, get_fleet_metrics, add_vehicle, edit_vehicle (an agent never sets the floor or the target price), assign_vehicles_to_fleet, change_vehicles_status, set_floor_prices, set_listing_prices, request_vehicle_archive, delete_vehicles, list_vehicle_notices, get_vehicle_channel_flow; for Cypress staff dispose_vehicle, get_vehicle_engagement, get_vehicle_engagement_breakdowns, list_vehicle_engagement_actors, get_vehicle_engagement_actor — see De-listing
Mission Controlread_mission_control, delegate_item
Closingslist_closings, get_closing, remind_closing_step, request_closing_document, resend_signing_link, mark_closing_step — see Closings
Notificationslist_notifications, get_notification, get_notification_preferences, set_notification_preferences — see Notifications
Marketinglist_campaigns, get_campaign, create_campaign, update_campaign, activate_campaign, pause_campaign, send_campaign_now, delete_campaign, get_campaign_interest, list_campaign_sends, list_message_templates — see Marketing
Automationslist_automations, get_automation, validate_automation, create_automation, update_automation, save_automation_draft, dry_run_automation, submit_automation, activate_automation, deactivate_automation, list_automation_runs, get_automation_run, list_automation_run_steps — listed only while your organization has Automations; nothing runs until Cypress publishes it; see Automations
PlanningSell: get_sell_plan, get_sell_strategy, set_sell_strategy, end_sell_strategy, list_sell_goals, add_sell_goal, change_sell_goal, remove_sell_goal, get_sell_quarter, approve_sell_quarter, propose_sell_schedule, apply_sell_schedule, list_plan_vehicles, get_plan_vehicle, list_plan_blockers, add_plan_blocker, change_plan_blocker, demote_vehicle, move_plan_vehicles, park_plan_vehicles, track_plan_vehicles, unpark_plan_vehicles, preview_window_cohort, confirm_window_cohort. Buy: get_buy_quarter, set_buy_quarter, approve_buy_quarter, draft_buy_quarter, keep_buy_draft, list_buy_targets, get_buy_target, create_buy_target, change_buy_target, remove_buy_target, dismiss_buy_match, list_buy_purchases, record_buy_purchase, change_buy_purchase, remove_buy_purchase — the Sell tools while your organization has Planning, the Buy ones while it has Buy planning; approving a quarter is a person's; see Sell planning and Buy planning
Remarketing: more of the app's screensget_vehicle_planned_demand, list_offers_received, get_storefront, update_storefront, set_storefront_banner, set_storefront_logo, put_fleet_on_storefront, revoke_vehicle_share_link, reactivate_vehicle_share_link, delete_vehicle_share_link, list_vehicles_on_market, refresh_vehicle_sakura_read, list_labels, create_label, list_pricing_rules, create_pricing_rule, update_pricing_rule, read_import_file, import_vehicles, list_imports, get_import, decide_import_row, apply_import, appraise_vin, estimate_value, get_trading_book, get_company_report, get_company_insight, get_account_profile, get_my_engagement, get_my_profile_insight, suggest_vehicle_buyers
Planning: the app's screensget_sell_forecast, get_plan_demand, get_market_board, get_plan_execution, list_window_reviews, list_plan_tasks, list_sell_decisions, list_plan_groups, get_plan_cost_assumptions, get_vehicle_plan_costs, schedule_plan_vehicles, allocate_plan_lot, create_plan_group, update_plan_group, remove_plan_group, apply_plan_group, set_plan_group_members, add_plan_track, change_plan_track, remove_plan_track, remove_plan_blocker, set_plan_cost_assumptions, set_vehicle_plan_costs, update_plan_vehicle_details, answer_sell_decision, add_window_review_feedback, request_planning, get_sell_desk, get_buy_plan, get_buy_forecast, get_buy_fit, get_buy_match_analysis, search_buy_catalog, list_buy_decisions, set_buy_plan_settings, answer_buy_decision, request_buy_bundle, request_buy_planning, get_buy_board
Buyingmake_offer, buy_vehicle_now, accept_counter_offer, counter_back_offer, list_offers_made, list_offer_activity, read_offer_with_sakura, search_marketplace, get_marketplace_vehicle, open_share_link, list_marketplace_picks, dismiss_marketplace_pick, restore_marketplace_pick, get_purchase_profile, list_saved_vehicles, save_vehicle, unsave_vehicle, list_marketplace_alerts, create_marketplace_alert, update_marketplace_alert, delete_marketplace_alert, list_marketplace_alert_matches
Closings: the app's screenslist_closing_activity, list_closing_incidents, report_closing_incident, message_closing_incident, read_closing_with_sapele, get_closing_deal_setup, update_closing_deal_setup, enable_closing_deal_setup, confirm_closing_deal_setup, get_deal_setup_impact, get_deal_setup_core_facts, refresh_deal_setup_core_facts, get_closing_checklist_gaps, sync_closing_checklist, get_closing_step_blockers, upload_closing_document, get_closing_document, delete_closing_document, get_closing_document_options, generate_closing_document, get_closing_signatures, send_closing_document_for_signature, correct_signer_email, get_commission_invoice, start_commission_payment (Cypress's own apps only), cancel_closing, correct_closing_commission, record_off_platform_closing, regenerate_closing_fee, waive_closing_requirement, rollback_closing, run_closing_staff_action, set_closing_incident_status, analyze_closing_document, review_closing_document, get_closing_checklist, add_closing_checklist_item, customize_closing_checklist, change_closing_checklist_item, archive_closing_checklist_item, list_document_templates, create_document_template, get_document_template, save_document_template_draft, archive_document_template, set_document_template_background, remove_document_template_background, get_document_template_step, assign_document_template_step, publish_document_template, list_document_template_versions, restore_document_template_version, list_document_images, upload_document_image
CRM: the app's screensget_contact_deliverability, suggest_contact_business, get_contact_engagement, get_contact_timeline, get_contact_insight, get_business_engagement, get_business_timeline, get_business_insight, get_deal_timeline, get_deal_insight, list_deal_contacts, get_crm_analytics, get_crm_insight, delete_contact, delete_business, delete_deal, add_business_from_organization, add_deal_contact, remove_deal_contact, add_deal_vehicles, remove_deal_vehicles, import_crm_records, get_crm_import, link_business_organization, list_contact_account_candidates, link_contact_account, open_deal_from_interest
Marketing and promotions: the app's screensset_campaign_content, preview_campaign_email, list_campaign_recipients, estimate_campaign_audience, preview_campaign_contacts, send_campaign_test, get_campaign_test_send, list_campaign_audience_candidates, search_campaign_organizations, edit_platform_campaign, send_platform_campaign_now, get_message_template, create_message_template, save_message_template_draft, archive_message_template, clone_message_template, publish_message_template, list_message_template_versions, restore_message_template_version, get_engagement_overview, get_engagement_summary, get_engagement_breakdowns, get_engagement_by_vehicle, get_engagement_flow, list_engaged_visitors, list_warm_customers, get_engaged_visitor, list_promotions, get_promotion, create_promotion, update_promotion, publish_promotion, pause_promotion, archive_promotion, delete_promotion, get_promotion_insight, upload_promotion_hero, generate_promotion_hero, suggest_promotion_audience
Your organizationget_dealer_request, request_dealer_account, get_organization_profile, update_organization_profile, set_cypress_delegation, get_onboarding_status, invite_member, change_member_role, remove_member, list_locations, create_location, update_location, archive_location, list_lenders, create_lender, update_lender, archive_lender, list_bank_accounts, create_bank_account, update_bank_account, archive_bank_account, list_transporters, create_transporter, update_transporter, archive_transporter, list_title_addresses, create_title_address, update_title_address, archive_title_address, list_custom_fields, create_custom_field, update_custom_field, archive_custom_field, list_org_documents, upload_org_document, remove_org_document, get_seller_terms, set_seller_terms, list_invoices, get_billing_summary, get_invoice_settings, list_credit_movements, list_credit_notes, list_unapplied_bank_transfers, get_invoice_credit_offer, update_my_profile, list_my_activity
Work: the app's screenslist_interest
Huddlelist_huddle_rooms, get_huddle_room, list_huddle_messages, post_huddle_message, edit_huddle_message, delete_huddle_message, react_to_huddle_message, pin_huddle_message, list_huddle_pins, join_huddle_room, create_huddle_channel, add_huddle_members, open_huddle_direct, list_huddle_inbox — as the person or agent the credential acts for, never an API key; see Huddle
Cypress staff (a CM token only)list_customer_organizations, get_customer_organization, create_customer_organization, update_customer_organization, change_organization_status, set_organization_profiles, get_organization_product, switch_organization_product, list_organization_activity, approve_organization_application, reject_organization_application, get_onboarding_checklist, mark_onboarding_checklist_item, add_onboarding_checklist_item, list_organization_documents, get_organization_document, upload_organization_document, analyze_organization_document, review_organization_document, remove_organization_document_slot, invite_organization_member, change_organization_member_role, update_organization_member_profile, revoke_organization_member, restore_organization_member, send_member_password_reset, update_organization_billing_details, get_organization_invoice_settings, update_organization_invoice_settings, list_organization_ach_batches, list_private_customers, get_private_customer, resend_customer_confirmation, list_cypress_staff, get_cypress_staff_member, list_cypress_staff_activity, get_default_account_manager, set_default_account_manager, get_account_rules, set_account_rules, get_organization_account_rules, set_organization_account_rules, get_organization_dealer_request, decide_dealer_request, list_update_requests, get_review_queue_counts, get_update_request, get_update_request_impact, reject_update_request, approve_price_update, approve_location_update, approve_archive_request, list_archived_vehicles, record_archive_decision, roll_back_archive, list_pending_label_applications, decide_label_application, list_platform_labels, create_platform_label, update_platform_label, delete_platform_label, list_label_rules, create_label_rule, list_platform_pricing_rules, create_platform_pricing_rule, update_platform_pricing_rule, delete_platform_pricing_rule, list_sales_channels, grant_sales_channel, update_sales_channel, list_commission_schemes, create_commission_scheme, update_commission_scheme, list_hub_automations, get_hub_automation, create_hub_automation, update_hub_automation, delete_hub_automation, save_hub_automation_draft, publish_automation, send_back_automation, run_hub_automation, duplicate_hub_automation, restore_automation_version, list_hub_automation_runs, get_hub_automation_run, get_platform_activity_overview, get_platform_activity_funnel, get_platform_activity_side, list_platform_activity_orgs, get_platform_activity_org, get_platform_activity_team, get_platform_activity_manager, get_platform_activity_coming_back, list_agent_benchmark_runs, get_agent_benchmark_run, list_agent_audit_items, decide_agent_audit_item
Agent quality (an app Cypress made only)record_agent_benchmark_run, record_agent_audit_items, list_agent_verdicts: a first-party app's own token with agent-quality:write (Grove), never a partner app, a key, an agent or a CM token — see Agent quality

A write Cypress keeps for a person is not made. When the rules say a person decides (an email in your organization's name, an offer below the floor, a policy, the other side's closing step), the tool answers with status: NEEDS_PERSON, the reason, and a decisionLink, always: the record in Cypress where a person makes the call, or the screen for a decision that names no record. Give the link to a person; do not retry. A refusal that says what to fix is not a person's decision: an automation that uses a node your organization's automations may not contain comes back as an error with its findings, one per node, so the agent can change the graph and try again.

Cypress Intelligence

ToolReads
vehicle_insightsCedar's sell or hold, pricing and campaign brief, and Sequoia's items, on your vehicle; on another organization's car for sale, only the Marketplace's listing insight. See Insights
buy_target_insightsYour buy target's price guide and Sequoia's items on it
vehicle_valuationYour vehicle's latest valuation, and what the same year, make and model sold for on Cypress
vehicle_demand, lot_demandHow many dealers plan to buy vehicles like yours, and how many they need
market_boardWhat dealers want and what sellers plan to bring, across Cypress (with Planning)
buy_target_matchesThe live listings that fit your target
sequoia_itemsSequoia's live suggestions on your Sell or Buy plan, with their reasons and guardrails

The privacy rules are the app's: a figure from a seller's floor goes only to that seller; market counts appear only from two dealers, and a sold range only from five sales by two sellers or more; the market board never shows your own organization or a name.

Cypress Manual

The platform manual and guides, the pages under /docs, for an agent that needs to know how Cypress works before it acts, or for anyone building on it. It holds no customer data, so it takes no credential: point the agent at the address and it is ready. It is limited to 120 requests a minute per caller, and answers 429 with Retry-After: 60 past that. Search ranks a page by the words of the question that are rare across the manual (common words such as "how" count for nothing), in its title, its path and its text, and meets "delist", "de-listing" and "delisting" as one word; a passage shown with a result starts at a sentence or a word and ends at a word.

ToolDoes
search_manualFinds the pages that answer a question in plain words (up to 10), each with its title, link, section and the passage that matched
read_manual_pageReads one page in full, as prose, by its path (/docs/developers/external-ids) or its link. Long pages are cut at 20,000 characters and say so
list_manual_sectionsWithout arguments, the manual's sections (remarketing, planning, developers and the rest) with how many pages each has; with section, that section's pages, each with its title and path

Skills

The Manual also serves Cypress's workflows for agents as Agent Skills, over the MCP Skills extension: a client that supports skills lists them with skills/list and loads the one a job needs. Each is a SKILL.md that walks an agent through the work with the core tools, the rules included.

SkillWhat it walks an agent through
skill://cypress/price-and-publish/SKILL.mdFinding what each car lacks to go live, filling it, launching with a dry run first, handing a floor to a person
skill://cypress/triage-offers/SKILL.mdReading each waiting offer with its car and prices, answering what a rule settles, handing the rest to a person
skill://cypress/chase-a-closing/SKILL.mdFinding the late or waiting steps, reminding, asking for documents, re-sending signing links

Every file comes with its SHA-256 digest and size, so a client can check what it loads. A client without skills can read the same files with resources/read.

Tools by area

An agent picks the right tool more reliably when it sees fewer of them. Each server groups its tools by business area, and a connection can ask for the areas its role needs on the server's URL:

https://app.getcypress.ai/api/mcp/operate?toolsets=closings,work
https://app.getcypress.ai/api/mcp/intelligence?toolsets=planning

The connection then sees those areas' tools only, among the ones its scopes allow. Areas never widen what a credential may do: asking for marketing without marketing:read shows nothing. Without toolsets, Operate shows the core tools (core), with the staff tools beside them for a CM token, and Intelligence and the Manual every tool they have. A tool outside the areas a connection asked for answers which executor or area reaches it. all shows every per-operation tool instead, for a gateway that brings its own tool search; core,crm shows the core tools and the CRM's own. A name the server does not have is an error (-32602, naming the areas it offers), never an empty list. The x-mcp-toolsets header works the same way, for clients that cannot change the URL.

ServerAreaTools
OperatecoreThe default: the everyday work in 13 tools, and every other operation through discover, describe_operation and run_*
OperateallEvery per-operation tool the credential may use (about 400), for a gateway with its own tool search
OperateworkTasks, Mission Control, and what your members were told
OperateremarketingYour vehicles, their listings and offers: selling your cars and buying on Cypress
OperateclosingsClosings as seller or buyer
OperatecrmContacts, companies, deals, notes, interactions and emails
OperatemarketingCampaigns
OperateautomationsYour own automations
OperateplanningSell and Buy plans: the mandate, goals, the quarter, Sequoia's schedule and buy draft
OperatebuyingThe marketplace as a buyer: search, saved vehicles and searches, offers made, buy now
OperateaccountYour organization: settings, members, locations, banking, billing reads, imports, analytics
OperatehuddleConversations: the rooms you are in, their messages and threads, posting, reactions, pins, channels and your Inbox
OperatestaffCypress Managers only (a CM token): organizations, reviews, approvals, labels, rules, channels, automations
OperatequalityFirst-party apps only (Grove): send the agent's benchmark runs and flagged answers, read Cypress's verdicts back
IntelligenceremarketingVehicle insights, valuations, dealer demand, the market board
IntelligenceplanningBuy target insights, live matches, Sequoia's suggestions
ManualmanualSearch and read the manual

Suggested areas by role:

RoleOperateIntelligence
Any agent (the default, nothing to ask for)corenone
Sales or remarketing agentcore,remarketingremarketing
Closing coordinatorcore,closingsnone
CRM and outreach agentcore,crm,marketingnone
Buyer or planning agentcore,planning,buyingplanning
Automation buildercore,automationsnone
Back office (settings, team, billing reads)core,accountnone
Cypress Manager (CM token)core,staffnone
A gateway with its own tool searchallnone

Give each agent the scopes its role needs as well: the areas choose what it is shown, the scopes what it may do. Operate's instructions carry the same table, so an agent connected without toolsets reads which areas its job needs.

Switching a server off

Operate and Intelligence are on for every organization. An admin, or Cypress staff acting for the organization, switches either off in Settings › Connected apps › MCP servers; every request from the organization's credentials then answers 403, saying where to turn it back on.