The Elements MCP (Model Context Protocol) server exposes 56 tools for working with Elements. This article lists every tool, what it does, the key inputs it needs, whether it only reads data or also writes to Elements, and what access it requires.
You don't need to call these tools by name: the skills described in Elements MCP server: supported skills pick the right tool for your request automatically. Use this list when you want to know exactly what your assistant can do. The set of available tools grows over time as Elements adds new skills.
No Elements MCP tool changes your Salesforce org. Every tool reads and changes only data stored in Elements: diagrams, MetaFields, saved views, proposed nodes, Spaces, and this connection's authorization. No tool writes to, deploys to, or deletes anything in a Salesforce org.
Prerequisites
Elements has enabled MCP access for the Space you want to use. The MCP server is included in the Advanced Metadata Management plan, or in Core Metadata Management with the Agentic Org Management add-on.
A Salesforce Org is connected and synced to that Space.
Your AI assistant is connected to Elements. See Connect your AI assistant to the Elements MCP server.
Which tools your assistant can see
Every Elements MCP tool respects your existing Elements permissions: a tool never returns more than you could already see in the Elements app.
Which tools you see depends on the plan and licences of the Spaces you authorize. Elements checks role requirements, such as Space admin or Author, and access to a reference model, diagram or view when a tool is called; without the required access, the call is refused with access_denied. After a licensing change, start a new conversation so your assistant picks up the updated tool list.
Read tools that support file delivery return a file only when a reply is larger than the 30,000-character response budget, unless their rows always come as part files (see Large results).
Tool labels
Each tool below is labelled with the MCP annotation it sends:
Read-only:
readOnlyHint: true.Writes to Elements:
readOnlyHint: falseanddestructiveHint: false.Destructive in Elements:
readOnlyHint: falseanddestructiveHint: true.
Four tools are labelled Destructive in Elements. Each has a safeguard:
import_diagramreplaces the draft of a diagram with an edited copy. Your assistant first shows you what would be replaced and only goes ahead after you confirm. It changes the draft only; publishing stays with a person in Elements.manage_diagramcan remove activities, lines, notes and text boxes from one level of a diagram, along with the attachments and links on a removed activity. For a large removal, or one that would take away a sub-process beneath an activity, your assistant must first ask you to confirm. A removed sub-process goes to the Elements recycle bin, and Elements keeps a history entry of the level before the assistant's first change.update_metafield: removing a picklist option, or narrowing which metadata a MetaField applies to, permanently deletes those values wherever they're used. Your assistant first shows you how many items would lose a value and only goes ahead after you confirm.revoke_accessdisconnects your assistant from Elements. It deletes no data; you reconnect by signing in again. Your assistant asks you to confirm first.
Spaces
Tool | What it does | Required inputs | Access requirements |
| Shows the active Space and pages the Spaces authorized for this connection. | None. Optional: teamId, skip, pageSize. | — |
| Selects the Space for following calls. | teamId. | — |
| Creates an Elements Space. | name. Optional: prefix, description. | — |
| Revokes this client connection after confirmation. | confirm: true. | At least one consented Space must have an active membership and not be suspended; otherwise revoke the connection from the 'Connected apps' tab in Elements. Confirmation required. |
Metadata
Tool | What it does | Required inputs | Access requirements |
| Lists Salesforce reference models available in a Space. | None. Optional: teamId, search. | — |
| Returns dependency rows for selected metadata nodes. | refModelId, nodeIds or nodeId; direction and metadata selection options. | View access to the reference model where required. |
| Returns fields or relationships for a metadata node. | refModelId and exactly one of nodeId or nodeIds. Optional: page.list for single-component paging. | View access to the reference model where required. |
| Explains metadata behavior in plain English. Uses AI. | aspect and metadata node selection; refModelId when identifying a node. | Automation & Execution Intelligence add-on* |
| Analyzes automation and record-lock impact for a planned data load. | refModelId and one or more target definitions. | View access to the reference model where required. |
| Finds reference-model metadata by search terms. | refModelId, search terms. | View access to the reference model where required. |
| Lists change history for a metadata component. | refModelId, nodeId. | View access to the reference model where required. |
| Returns usage and telemetry for an object. | refModelId, nodeId. | View access to the reference model where required. |
| Returns source for selected metadata nodes. | refModelId, nodeIds. | View access to the reference model where required. |
| Audits access granted to selected metadata nodes. | refModelId and nodeId or nodeIds. | View access to the reference model where required. |
| Describes available metadata types and query columns. | refModelId. Optional: metadataList or allNodes. | View access to the reference model where required. |
| Lists metadata matching criteria or a saved cleanup view. | refModelId; criteria or a view id. | View access to the reference model where required. |
| Saves a metadata criteria view. | refModelId, name, viewSpec. | Edit access to the reference model. |
| Adds a proposed metadata node to a reference model. | refModelId, metadataType, label, apiName, parentId identifying the parent container. | Edit access to the reference model. |
| Lists managed packages and component counts. | refModelId. | View access to the reference model where required. |
| Plans a managed package removal and identifies dependencies. It never uninstalls anything. | refModelId, package selection. | View access to the reference model where required. |
| Lists MetaField definitions and dependencies. | None. Optional: implementationId and filters. | — |
| Creates a MetaField definition. | implementation, title, type, appliesTo; list and multi-picklist types also require options. | Space admin role. |
| Updates a MetaField definition. | metafieldId and at least one definition field. | Space admin role. |
| Sets MetaField values on selected nodes. | refModelId and assignments: [{metafieldId, values: [...]}]; each value selects nodes with nodeIds or nodeFilter. | Edit access to the reference model. |
| Creates or replaces the dependency matrix between two MetaFields; values already on your items are never deleted. | controllerId, dependentId, relationMap. | Space admin role. |
| Lists metadata change records in a date range. | refModelId. Optional: fromDate, toDate, metadataTypes, status. | View access to the reference model where required. |
* Advanced Metadata Management includes every add-on. On Core Metadata Management, this add-on is required in addition to Agentic Org Management, which the MCP server itself requires.
Org health
Tool | What it does | Required inputs | Access requirements |
| Returns a selected org-health dimension. | refModelId, area. | View access to the reference model. |
| Returns detail rows for an org-health chart or item. | refModelId, chartType; chart-specific detail inputs. | View access to the reference model. |
Agent opportunities
Tool | What it does | Required inputs | Access requirements |
| Ranks objects for agentic opportunities using usage signals. | refModelId. | View access to the reference model where required. |
Diagrams
Tool | What it does | Required inputs | Access requirements |
| Lists process maps in the active Space. | None. Optional: query for a name fragment, folderId, limit, skip. | — |
| Lists every level of a process map, including titles, nesting, activity counts, and publish and edit status. A map being copied from a template is included. | mapId. | View access to the named map where required. |
| Reads one level of a process map or architecture diagram: activities, resources and RASCI (Responsible, Accountable, Support, Consulted, Informed), lines, notes and text boxes, with optional layout and attachments. | diagramId, or mapId plus levelNumber or title. | View access to the named map where required. |
| Returns schemas for diagram reads and changes. | None. | — |
| Changes one level of a diagram: adds, updates, moves or removes activities, resources, lines, notes and text boxes, child levels and attachments. Your assistant previews the change first and asks you to confirm large removals or removing a child level. | diagramId and baseVersion. Optional: element changes, title or description, dryRun. | Access to the reference model for metadata attachments. |
| Creates a new, empty map with one blank top-level diagram. | name. Optional: type, description, folderId. | Author role. |
| Lists the diagram templates you can start a map from. | None. Optional: templateSpaceId, category, type, search. | — |
| Starts a new map as a copy of a template; the copy runs in the background. | templateMapId, templateSpaceId. | Author role; view access and 'Can copy' on the template. |
| Polls generated process-map results. | diagramId. | View access to the named map where required. |
| Generates a process map from text or images, or from a Salesforce lifecycle object. Your assistant checks for completion afterward. Uses AI. | Depends on source: text, images, or refModelId and objectApiName. | Author role; edit access to the reference model for the org_object source. |
| Uploads an image for process-map generation. | contentType and image data, or upload URL mode inputs. | Author role. |
| Exports a process map for editing. | mapId. | Manage access to the diagram. |
| Imports an edited process map, replacing the current draft. | mapId and import source; confirm when applying. | Author role; edit access to that diagram. |
Stories
Tool | What it does | Required inputs | Access requirements |
| Lists stories in a Space or on a diagram. | None. Optional: diagramId, skip, limit, mode. | — |
| Generates draft stories from diagram activities. Uses AI. | mapId. Optional: activityMxKeys to select activities. | Requirements manager role; edit access to the diagram. |
Decision Engine
The Decision Engine tools plan a Salesforce automation or schema change before you make it. Each analysis runs in the background, and your assistant checks get_analysis_result before starting the next step. Elements keeps the analysis; any requirements and stories it produces stay drafts.
Tool | What it does | Required inputs | Access requirements |
| Inventories automation relevant to a proposed change. | refModelId, request. | Edit access to the reference model. |
| Recommends automation implementation options. | refModelId, missionId. | Edit access to the reference model. |
| Scans direct dependencies for a proposed change. | refModelId; missionId or standalone target. | Edit access to the reference model. |
| Analyzes the impact of a proposed change. | refModelId, missionId, change description. | Edit access to the reference model. |
| Analyzes architecture risks in a proposed change. | refModelId and missionId or standalone target. | Edit access to the reference model. |
| Drafts requirements and stories for delivery. | refModelId, missionId. | Edit access to the reference model. |
| Inventories schema related to a proposed change. | refModelId, request. | Edit access to the reference model. |
| Recommends schema implementation options. | refModelId, missionId. | Edit access to the reference model. |
| Retrieves a Decision Engine mission result. | refModelId, missionId. | Edit access to the reference model. |
Playbook tools
These tools support the Remove Unused Apex playbook and other playbooks. See What is an MCP playbook?
Tool | What it does | Required inputs | Access requirements |
| Checks whether Apex event monitoring data is available. | refModelId. | View access to the reference model. |
| Ranks potentially unused Apex using synced metadata and telemetry. | refModelId. | View access to the reference model. |
| Searches indexed source for literal text. | refModelId, query. | View access to the reference model. |
Large results
Six tools always return rows as downloadable part files: get_dependencies, get_access, run_code_search, list_metadata_changes, list_metadata_by_criteria and get_metadata_source. They use newline-delimited JSON or comma-separated values where supported. Manifest mode returns counts without rows where available. For file-only tools, delivery does not change row files; five accept it for oversized manifest replies, while list_metadata_changes does not accept it. Each reply states how long its links last (expiresInSeconds); call again for fresh links.
Frequently Asked Questions
Can any Elements MCP tool delete or change my Salesforce metadata?
No Elements MCP tool deletes or changes your Salesforce metadata. No tool writes to, deploys to or deletes anything in a Salesforce org. The tools labelled Writes to Elements or Destructive in Elements only create or change things inside Elements, such as Spaces, metadata views, MetaFields, proposed metadata nodes, maps and diagram drafts, and user stories.
Which Elements MCP tools use AI?
The Elements MCP tools that use a large language model are explain_metadata_components, the Decision Engine tools, generate_process_map and generate_stories_from_diagram. They run through the same licensed AI features Elements already offers in the web app.
Why can't my assistant see a tool listed here?
Your assistant can't see an Elements MCP tool when none of your authorized Spaces makes it available through its plan and licences. Role requirements are checked when the tool is called. Check the per-tool requirements in the tools reference on GitHub, see Elements MCP server troubleshooting for what each refusal message means, and start a new conversation after any licensing change.
