io.github.semwalajay83-sem/salesforce-metadata-mcp
NPM · SALESFORCE-METADATA-MCP · SCANNED AUG 3
The only Salesforce MCP with Agentforce, OmniStudio & DevOps Center tools — 222 total.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (107 of 111), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 38003 tokens (~171/item across 222 items; 222 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability check failed: the tool surface changed between 2.7.0 and 2.8.7: 0 tool removals, 1 breaking changes, 3 additions. See how to fix → Fail
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 94% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · salesforce-metadata-mcp
claude mcp add semwalajay83-sem-salesforce-metadata-mcp -- npx -y salesforce-metadata-mcp
codex mcp add semwalajay83-sem-salesforce-metadata-mcp -- npx -y salesforce-metadata-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"semwalajay83-sem-salesforce-metadata-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"salesforce-metadata-mcp"
],
"enabled": true
}
}
} openclaw mcp add semwalajay83-sem-salesforce-metadata-mcp --command npx --arg -y --arg salesforce-metadata-mcp
mcp_servers:
semwalajay83-sem-salesforce-metadata-mcp:
command: "npx"
args: ["-y", "salesforce-metadata-mcp"] {
"mcpServers": {
"semwalajay83-sem-salesforce-metadata-mcp": {
"command": "npx",
"args": [
"-y",
"salesforce-metadata-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +39
- Known CVEs: unverified → fail ▼ security
- Stability: unverified → fail ▼ security
- Malware scan: unverified → pass ▲ security
- Schema quality: unverified → excellent ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- 1 Aug 26 −9
- Known CVEs: fail → unverified ▼ security
- Dependency health: partial → unverified ▼ functional
- 31 Jul 26 +20
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +7
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Security disclosure: unverified → fail ▼ functional
- Dependency health: partial → unverified ▼ functional
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- Licence: MIT functional
- 29 Jul 26 −16
- Malware scan: pass → unverified ▼ security
- Security disclosure: fail → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- Package version: 2.7.0 → 2.8.0 functional
- 28 Jul 26 −19
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 43
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-frvp-7c67-39w9 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
Dependencies 107 packages
107 packages in the resolved dependency tree · 107 deprecated · 39 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
sf_create_tab Create Custom Tab ~203
Creates a Custom Tab for a custom object so it appears in the navigation bar and App Launcher. Tabs are required to make custom objects accessible from the UI. Specify the object API name and choose a motif/icon from Salesforce's icon library (e.g., 'Custom64: Coin').
| Name | Type | Req | Description |
|---|---|---|---|
| customObject | boolean | — | Set to true for custom object tabs |
| description | string | — | Tab description |
| fullName | string | yes | Tab API name, typically same as the object API name, e.g. 'Invoice__c' |
| label | string | — | Tab label (defaults to object label) |
| motif | string | — | Icon/motif for the tab, e.g. 'Custom64: Coin', 'Custom1: default' |
| page | string | — | Visualforce page name for VF tab |
| sobjectName | string | — | Object API name if this is a custom object tab |
| url | string | — | URL for web tab type |
No output schema declared.
No examples provided.
sf_create_territory Create Enterprise Territory Management Territory ~204
Creates a Territory in Enterprise Territory Management (ETM). Territories define logical sales regions or account groupings. Requires ETM to be enabled in the org. territoryName: API name (DeveloperName) of the territory label: display name territoryType: DeveloperName of the Territory2Type (e.g. 'Geographic', 'Named_Account') parentTerritoryName: optional parent territory DeveloperName for hierarchical nesting description: optional description
| Name | Type | Req | Description |
|---|---|---|---|
| accountAccessLevel | string | — | Account access for territory members |
| caseAccessLevel | string | — | Case access |
| description | string | — | Territory description |
| label | string | yes | Territory display label |
| opportunityAccessLevel | string | — | Opportunity access |
| parentTerritoryName | string|null | — | Parent territory name for hierarchy |
| territoryName | string | yes | Territory API name |
| territoryType | string | — | Territory2Type API name (must exist in org) |
No output schema declared.
No examples provided.
sf_create_user Create Salesforce User ~252
Creates a new Salesforce user via the REST API. Requires username (must be unique and email-like), lastName, email, and profileName. The profile must already exist. Optionally assign a role by roleApiName (DeveloperName of the UserRole). The user will receive a welcome email unless email confirmations are suppressed in org settings.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | User alias (max 8 chars, shown in list views) |
| string | yes | Email address (also used for notifications) | |
| emailEncoding | string | — | Email encoding |
| firstName | string | — | First name |
| languageLocale | string | — | Language and locale, e.g. 'en_US' |
| lastName | string | yes | Last name |
| locale | string | — | Locale, e.g. 'en_US' |
| profileName | string | yes | Profile name, e.g. 'Standard User', 'System Administrator' |
| roleName | string | — | Role name to assign, e.g. 'CEO' |
| timeZone | string | — | Timezone, e.g. 'America/New_York' |
| username | string | yes | Unique username (must be email format and unique across all Salesforce orgs) |
No output schema declared.
No examples provided.
sf_create_user_role_hierarchy Create User Role Hierarchy ~230
Creates a new UserRole in the Salesforce Role Hierarchy. Roles control record visibility — users in higher roles can see records owned by users in lower roles (depending on OWD). Optionally set a parentRoleName to place this role beneath an existing role. roleName: API name for the role (no spaces, used as DeveloperName) label: display name shown in Setup parentRoleName: API name of the parent role (omit for a top-level role) description: optional description
| Name | Type | Req | Description |
|---|---|---|---|
| accountAccessLevel | string | — | Account access for subordinates |
| caseAccessLevel | string | — | Case access for subordinates |
| contactAccessLevel | string | — | Contact access for subordinates |
| description | string | — | Role description |
| label | string | yes | Role display label |
| mayForecastManagerShare | boolean | — | Grant manager forecast sharing |
| opportunityAccessLevel | string | — | Opportunity access for subordinates |
| parentRoleName | string | — | Parent role API name (omit for top-level) |
| roleName | string | yes | Role API name |
No output schema declared.
No examples provided.
sf_create_validation_rule Create Salesforce Validation Rule ~201
Creates or updates a Salesforce Validation Rule on any object via the Metadata API. The errorConditionFormula returns TRUE when data is INVALID. Use for data quality enforcement.
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | — | Whether the rule is active |
| description | string | — | Description of this validation rule |
| errorConditionFormula | string | yes | Formula returning TRUE when data is INVALID, e.g. "AND(ISPICKVAL(StageName,'Closed Won'),ISBLANK(CloseDate))" |
| errorDisplayField | string | — | Field API name to display error next to, e.g. 'CloseDate'. Blank = top of page. |
| errorMessage | string | yes | Error shown to user when validation fails (max 255 chars) |
| objectName | string | yes | Object API name, e.g. 'Account', 'Opportunity', 'Invoice__c' |
| ruleName | string | yes | API name for the rule, e.g. 'Require_Close_Date' |
No output schema declared.
No examples provided.
sf_create_visualforce_component Create Visualforce Component ~154
Creates a reusable Visualforce component (ApexComponent) in the Salesforce org via the Metadata API. Provide the component API name, label, and Visualforce markup (must include an <apex:component> tag). Components can be included in Visualforce pages using <c:ComponentName/>.
| Name | Type | Req | Description |
|---|---|---|---|
| apiVersion | string | — | API version, e.g. '62.0' |
| componentName | string | yes | API name for the Visualforce component, e.g. 'MyComponent' |
| content | string | yes | Visualforce component markup (must include <apex:component> tag) |
| description | string | — | Description of the component |
| label | string | yes | Display label for the component |
No output schema declared.
No examples provided.
sf_create_visualforce_email_template Create Visualforce Email Template ~162
Creates a Visualforce email template in the Salesforce org. Provide the template name, subject, recipient type (Contact, Lead, or User), related entity type, and the HTML body with Visualforce markup. A plain-text body is also required for email clients that don't support HTML.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | Description of the template |
| htmlBody | string | yes | HTML body with Visualforce markup |
| recipientType | string | yes | Type of recipient |
| relatedEntityType | string | yes | Related object API name, e.g. 'Account' |
| subject | string | yes | Email subject line |
| templateName | string | yes | API name for the email template |
| textBody | string | yes | Plain-text version of the email body |
No output schema declared.
No examples provided.
sf_create_visualforce_page Create Visualforce Page ~225
Creates a Visualforce page in the Salesforce org via the Metadata API. Provide the page API name, label, and Visualforce markup content (must include an <apex:page> tag). Optionally specify a standard controller, extensions, and whether to show the header/sidebar. The page is deployed immediately and accessible at /apex/PageName.
| Name | Type | Req | Description |
|---|---|---|---|
| apiVersion | string | — | API version, e.g. '62.0' |
| content | string | yes | Visualforce markup (must include <apex:page> tag) |
| description | string | — | Description of the page |
| extensions | string | — | Comma-separated Apex class names for controller extensions |
| label | string | yes | Display label for the page |
| pageName | string | yes | API name for the Visualforce page, e.g. 'MyPage' |
| showHeader | boolean | — | Whether to show the Salesforce header |
| sidebar | boolean | — | Whether to show the sidebar |
| standardController | string | — | Standard controller object API name, e.g. 'Account' |
No output schema declared.
No examples provided.
sf_create_work_type Create Field Service Work Type ~208
Creates a Work Type that defines a category of field service job. Work Types set default durations, block times, and skill requirements for work orders. estimatedDuration: expected time to complete the work durationType: Minutes, Hours, or Days blockTimeBeforeWork: travel/prep time before the appointment blockTimeAfterWork: cleanup/travel time after the appointment skillRequirements: array of { skillName, skillLevel } — skills required on the resource to perform this work type
| Name | Type | Req | Description |
|---|---|---|---|
| blockTimeAfterWork | number | — | Buffer time after work in minutes |
| blockTimeBeforeWork | number | — | Buffer time before work in minutes |
| description | string | — | — |
| durationType | string | — | — |
| estimatedDuration | number | yes | Estimated work duration value |
| label | string | yes | Display label (used as Name field) |
| skillRequirements | array | — | Required Skill DeveloperNames |
| workTypeName | string | yes | Name of the Work Type |
No output schema declared.
No examples provided.
sf_create_workflow_field_update Create Salesforce Workflow Field Update Action ~185
Creates a Workflow Field Update action that can be referenced by Approval Processes, Workflow Rules, or Flows. Sets a field to a literal value, formula result, or null.
| Name | Type | Req | Description |
|---|---|---|---|
| actionName | string | yes | API name of the action, e.g. 'Set_Stage_Closed_Won' |
| field | string | yes | Field API name to update, e.g. 'StageName' |
| formula | string | — | Formula for the new value, e.g. 'TODAY()' |
| label | string | yes | Human-readable label |
| literalValue | string | — | Literal string/picklist value to set |
| notifyAssignee | boolean | — | Notify owner/assignee after update |
| nullValue | boolean | — | Set the field to null/blank |
| objectName | string | yes | Object API name, e.g. 'Opportunity' |
No output schema declared.
No examples provided.
sf_create_workflow_rule Create Workflow Rule ~229
Creates a Workflow Rule (legacy automation) that evaluates criteria and triggers actions. Use for simple automations that don't require the power of Flows. Supports formula or criteria-based evaluation. Workflow rules can trigger field updates, email alerts, outbound messages, and tasks. objectName: object the rule applies to fullName: rule developer name triggerType: when to evaluate (onCreateOnly, onCreateOrTriggeringUpdate, onAllChanges) active: whether the rule is active formula or criteriaItems: define when the rule fires
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | — | Whether the rule is active |
| criteriaItems | array | — | Filter criteria items (alternative to formula) |
| description | string | — | Rule description |
| formula | string | — | Formula criteria, e.g. 'ISPICKVAL(Status, "New")' |
| fullName | string | yes | Workflow rule developer name, e.g. 'Lead_Assign_Rule' |
| objectName | string | yes | Object API name, e.g. 'Lead' |
| triggerType | string | yes | When the rule evaluates |
No output schema declared.
No examples provided.
sf_deactivate_flow Deactivate Flow ~78
Deactivates the currently active version of a Flow via the Tooling API, setting its status to Draft. This stops the flow from being triggered. Use sf_activate_flow to re-activate a specific version. Note: deactivating a flow does not delete it.
| Name | Type | Req | Description |
|---|---|---|---|
| flowApiName | string | yes | Flow API name to deactivate |
No output schema declared.
No examples provided.
sf_delete_record Delete SObject Record ~130
Deletes a single SObject record by record ID via the Salesforce REST API. The deletion is permanent and cannot be undone (the record goes to the Recycle Bin for objects that support it, from where it can be undeleted within 15 days). Provide the object API name and the 15 or 18 character record ID. For bulk deletions (100+ records), use sf_bulk_import_records with operation='delete'.
| Name | Type | Req | Description |
|---|---|---|---|
| objectApiName | string | yes | SObject API name, e.g. 'Account' |
| recordId | string | yes | 15 or 18 character Salesforce record ID |
No output schema declared.
No examples provided.
sf_delete_scratch_org Delete Scratch Org ~90
Deletes a Salesforce scratch org by alias. This permanently removes the org and all its data. Use when finished with development or testing to free up scratch org allocations. alias: alias of the scratch org to delete noPrompt: skip the confirmation prompt (default: true)
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | Alias of the scratch org to delete |
| noPrompt | boolean | — | Skip confirmation prompt |
No output schema declared.
No examples provided.
sf_deploy_metadata Deploy Metadata ~255
Deploys a set of metadata components directly to the org using the Metadata API SOAP deploy operation. Builds a package.xml and deployment zip in memory. Supports validate-only (checkOnly:true) for pre-deployment validation without making changes. Specify runTests to execute test classes during deployment (required for production). Polls until complete or timeout.
| Name | Type | Req | Description |
|---|---|---|---|
| checkOnly | boolean | — | Validate only, do not actually deploy |
| components | array | — | Metadata components to include in the deployment package. These reference components already in the org. Can be empty when using componentsXml to deploy new/updated components with inline XML. |
| componentsXml | array | — | Optional inline XML components to deploy. Each entry provides the complete XML definition (type, name, xml). The file path is inferred from type/name. When provided alongside components, both are dep… |
| rollbackOnError | boolean | — | Roll back all changes if any component fails |
| runTests | array | — | Test classes to run during deployment |
| testLevel | string | — | Test level: NoTestRun, RunSpecifiedTests, RunLocalTests, or RunAllTestsInOrg |
| waitMinutes | integer | — | Max minutes to wait for deploy to complete |
No output schema declared.
No examples provided.
sf_describe_object Describe Object Schema ~206
Retrieves schema metadata for a Salesforce object via the REST Describe API: fields (name, label, type, required, picklist values, length, references), child relationships, and record type info. Call this before querying or creating records on an unfamiliar object, or when a user asks what fields exist on an object. objectApiName: SObject API name, e.g. 'Account', 'My_Object__c' fieldsOnly: set true for a smaller/faster response with just the field list, omitting child relationships and record types
| Name | Type | Req | Description |
|---|---|---|---|
| fieldsOnly | boolean | — | If true, returns only the field list (name, label, type, required, picklist values) and omits child relationships/record type info — use for a smaller, faster response when you only need field names/… |
| objectApiName | string | yes | SObject API name to describe, e.g. 'Account', 'My_Object__c' |
No output schema declared.
No examples provided.
sf_detect_devops_merge_conflict Detect DevOps Center Merge Conflicts ~75
Checks a DevOps Center work item for merge conflicts. Returns the work item details and any associated merge conflict records. Use before promoting a work item to identify conflicts that need resolution. workItemId: DevOps Center work item ID
| Name | Type | Req | Description |
|---|---|---|---|
| workItemId | string | yes | DevOps Center work item ID |
No output schema declared.
No examples provided.
sf_devops_create_work_item Create DevOps Center Work Item ~137
Creates a work item in Salesforce DevOps Center. Work items represent units of work (features, bug fixes, etc.) that move through pipeline stages from development to production. name: work item name/title description: optional description pipelineStageId: optional pipeline stage ID to assign to assignedToId: optional user ID to assign the work item to
| Name | Type | Req | Description |
|---|---|---|---|
| assignedToId | string | — | User ID to assign the work item to |
| description | string | — | Work item description |
| name | string | yes | Work item name/title |
| pipelineStageId | string | — | Pipeline stage ID to assign to |
No output schema declared.
No examples provided.
sf_devops_promote_work_item Promote DevOps Center Work Item ~72
Promotes a DevOps Center work item to the next pipeline stage. Moving work items through the pipeline represents the progression of changes from development environments toward production. workItemId: the DevOps Center work item record ID
| Name | Type | Req | Description |
|---|---|---|---|
| workItemId | string | yes | DevOps Center work item ID |
No output schema declared.
No examples provided.
sf_enable_debug_logs Enable Debug Logs for a User ~236
Turns on Apex debug logging for a user by creating a DebugLevel and TraceFlag via the Tooling API. Required before sf_get_debug_logs will return anything new — Salesforce does not log activity unless a trace flag is active for that user. username: username of the user to trace, e.g. '[email protected]' durationMinutes: how long tracing stays active (default 30, max 1440) debugLevel: Apex code log granularity — FINEST (most verbose, recommended for debugging) down to ERROR After enabling, have the user (or an automated process) perform the action you want to debug, then call sf_get_debug_logs to list the resulting logs and sf_get_debug_log_body to read one.
| Name | Type | Req | Description |
|---|---|---|---|
| debugLevel | string | — | Apex code log granularity for the debug level (applies to ApexCode category; other categories default to a matching verbosity) |
| durationMinutes | integer | — | How long the trace flag stays active, in minutes (max 24 hours) |
| username | string | yes | Username of the user to trace, e.g. '[email protected]' |
No output schema declared.
No examples provided.
sf_execute_anonymous_apex Execute Anonymous Apex ~95
Executes anonymous Apex code in the Salesforce org using the Tooling API executeAnonymous endpoint. Returns compile errors, runtime exceptions, and debug log output. Use for one-off data fixes, testing Apex snippets, creating test data, running utilities, or debugging. Code runs in the context of the authenticated user.
| Name | Type | Req | Description |
|---|---|---|---|
| apexCode | string | yes | Anonymous Apex code to execute, e.g. 'System.debug(Date.today());' |
No output schema declared.
No examples provided.
sf_explore_slds_blueprints Explore SLDS Component Blueprints ~126
Returns Salesforce Lightning Design System (SLDS) component examples, best practices, and usage guidance for a given UI pattern. A read-only reference tool — does not modify the org. componentType: SLDS component type, e.g. 'data-table', 'modal', 'combobox' includeExampleCode: whether to include example LWC code snippets
| Name | Type | Req | Description |
|---|---|---|---|
| componentType | string | yes | SLDS component type, e.g. 'data-table', 'modal', 'combobox' |
| includeExampleCode | boolean | — | Whether to include example LWC code |
No output schema declared.
No examples provided.
sf_export_omnistudio_component Export OmniStudio Component ~167
Exports an OmniStudio component's metadata as a JSON string for backup, version control, or migration to another org. componentType: FlexCard, OmniScript, DataRaptor, IntegrationProcedure, CalculationMatrix, or CalculationProcedure componentName: the API name / fullName of the component to export (for OmniScript, use Type_SubType_Language format) Returns the component metadata as a JSON-serialized XML string.
| Name | Type | Req | Description |
|---|---|---|---|
| componentName | string | yes | Component API name |
| componentType | string | yes | Component type to export |
| language | string | — | Language (for OmniScript, e.g. 'English') |
| subType | string | — | Sub-type (required for OmniScript and IntegrationProcedure: the subType portion of the fullName) |
No output schema declared.
No examples provided.
sf_export_records Export Records to CSV ~161
Exports Salesforce records as CSV data using a SOQL query. Useful for data extraction, backup, or analysis. soql: the SOQL query to run (SELECT fields FROM Object WHERE ...) includeHeader: include column headers in the CSV output (default: true) maxRecords: maximum records to export (default: 50000 — use Bulk API for larger datasets) Returns the CSV content as a string. For very large exports (>50k records), use sf_bulk_import_records with operation='query' instead.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | Export format: json or csv |
| includeHeaders | boolean | — | Include CSV header row |
| limit | integer | — | Maximum records to export |
| query | string | yes | Full SOQL query string |
No output schema declared.
No examples provided.
sf_freeze_user Freeze or Unfreeze User ~97
Freezes or unfreezes a Salesforce user account. A frozen user cannot log in but the license is retained (unlike deactivation). Useful for temporarily blocking access without losing data ownership. username or userId: identify the user freeze: true to freeze, false to unfreeze
| Name | Type | Req | Description |
|---|---|---|---|
| freeze | boolean | yes | true to freeze, false to unfreeze |
| username | string | yes | Salesforce username to freeze or unfreeze |
No output schema declared.
No examples provided.
sf_get_apex_class Get Apex Class Source ~113
Retrieves the full source code of an existing Apex class by exact name, via the Tooling API. Use before modifying a class (to see current logic), when debugging, or when a user asks "show me the X class" / "what does this class do". Returns the class body, API version, and status. Not to be confused with sf_create_apex_class, which deploys new or updated code — this tool only reads.
| Name | Type | Req | Description |
|---|---|---|---|
| className | string | yes | Apex class name to retrieve |
No output schema declared.
No examples provided.
sf_get_apex_test_results Get Apex Test Results ~182
Retrieves Apex test results from the most recent test runs via the Tooling API. Returns pass/fail status, error messages, stack traces, and code coverage for each test method. className: filter to a specific test class name (optional) outcome: filter by outcome — 'Pass', 'Fail', 'Skip', or omit for all limit: maximum results to return (default: 100) Returns: class name, method name, outcome, run time (ms), error message, and stack trace for failures.
| Name | Type | Req | Description |
|---|---|---|---|
| className | string | — | Filter to a specific Apex test class |
| limit | integer | — | Maximum results to return |
| outcomeFilter | string | — | Filter by outcome |
| testRunId | string | — | Specific test run ID (from sf_run_apex_tests). Omit to get latest run. |
No output schema declared.
No examples provided.
sf_get_apex_trigger Get Apex Trigger Source ~105
Retrieves the full source code of an existing Apex trigger by exact name, via the Tooling API. Returns the trigger body, the object it fires on, its active status, and which trigger events (before/after insert/update/delete/undelete) it's registered for. Use before modifying a trigger, or when a user asks to see or explain an existing trigger.
| Name | Type | Req | Description |
|---|---|---|---|
| triggerName | string | yes | Apex trigger name (exact match), e.g. 'AccountTrigger' |
No output schema declared.
No examples provided.
sf_get_dataraptor Get OmniStudio DataRaptor ~50
Retrieves the configuration of a DataRaptor interface including its type, field mappings, and filter criteria.
| Name | Type | Req | Description |
|---|---|---|---|
| dataRaptorName | string | yes | API name of the DataRaptor to retrieve |
No output schema declared.
No examples provided.
sf_get_debug_log_body Get Debug Log Body ~78
Retrieves the full text content of a single Apex debug log by ID. Get the logId from sf_get_debug_logs first. Logs are retained by Salesforce for 24 hours only.
| Name | Type | Req | Description |
|---|---|---|---|
| logId | string | yes | ApexLog record ID from sf_get_debug_logs (15 or 18 chars). Logs are retained for 24 hours. |
No output schema declared.
No examples provided.
sf_get_debug_logs List Debug Logs ~192
Lists recent Apex debug logs (ApexLog records) via the Tooling API. Use sf_enable_debug_logs first if no logs are showing up — Salesforce only logs activity for users with an active trace flag. username: filter to logs generated by this username (optional) operation: filter by operation substring, e.g. 'execute_anonymous_apex' (optional) limit: maximum log entries to return (default 10, max 100) Returns log metadata (ID, start time, duration, status, operation) but not the log content — pass a logId to sf_get_debug_log_body to read the full log.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum number of log entries to return |
| operation | string | — | Filter by operation substring, e.g. 'execute_anonymous_apex' |
| username | string | — | Filter logs to this username (omit to list logs from all users) |
No output schema declared.
No examples provided.
sf_get_deployment_history Get Deployment History ~132
Retrieves the history of recent metadata deployments using the Tooling API DeployRequest object. Shows deployment status, component counts, test results, and error messages. limit: number of recent deployments to return (default: 20, max: 200) status: filter by status — 'Succeeded', 'Failed', 'Canceled', 'InProgress', 'Pending', or omit for all Returns: deploy ID, status, start time, end time, component totals, test totals, and any errors.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum deployments to return |
| status | string | — | Filter by deployment status |
No output schema declared.
No examples provided.
sf_get_event_logs Get Event Log Files ~254
Queries EventLogFile for detailed activity logs. Event logs capture granular org activity for security monitoring and performance analysis. Common eventType values: - Login — login attempts and results - API — SOAP/REST API calls - Report — report executions - Flow — Flow runs and executions - ApexExecution — Apex code executions - LightningPageView — Lightning page views - RestApi — REST API requests - VisualforceRequest — Visualforce page requests - URI — general HTTP requests - LightningError — Lightning component errors Returns parsed CSV log entries (up to 20 rows per log file, up to 3 files per call). Requires Event Monitoring add-on OR Agentforce debug logs to be enabled.
| Name | Type | Req | Description |
|---|---|---|---|
| endDate | string | — | End date in ISO format, e.g. '2025-12-31' |
| eventType | string | yes | Event type, e.g. 'Login', 'API', 'Report', 'Flow', 'ApexExecution', 'LightningPageView', 'RestApi' |
| limit | integer | — | Maximum log files to fetch |
| startDate | string | — | Start date in ISO format, e.g. '2025-01-01' |
No output schema declared.
No examples provided.
sf_get_field_history Get Field History for a Record ~221
Queries the {Object}History object to retrieve a field-level change history for a specific record. Shows what changed, when, the old and new values, and who made the change. Returns records with: date, field, oldValue, newValue, changedBy objectApiName: the SObject with history tracking enabled, e.g. 'Account', 'Opportunity', 'Case' recordId: the specific record to retrieve history for Note: Field history tracking must be enabled for the object and for each field you want to track (Setup → Object Manager → {Object} → Fields & Relationships → Field History Tracking). History is retained for up to 18 months.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | — | Optional field names to filter — returns all tracked fields if omitted |
| limit | integer | — | Maximum history records to return |
| objectApiName | string | yes | Object API name, e.g. 'Account', 'Case', 'Opportunity' |
| recordId | string | yes | Record ID to fetch history for (15 or 18 characters) |
No output schema declared.
No examples provided.
sf_get_field_permissions Get Field Level Security (Audit) ~151
Reads the current field-level security grants for a field across all Profiles and Permission Sets that reference it, via the FieldPermissions query object. Use to audit who can currently see or edit a field before changing access, or to answer "which profiles can edit this field?". Complements sf_create_field_level_security, which sets grants but doesn't report the current state. objectName: object API name, e.g. 'Account' fieldName: field API name, e.g. 'Revenue__c'
| Name | Type | Req | Description |
|---|---|---|---|
| fieldName | string | yes | Field API name, e.g. 'Revenue__c' (without the object prefix) |
| objectName | string | yes | Object API name, e.g. 'Account' |
No output schema declared.
No examples provided.
sf_get_flexcard Get OmniStudio FlexCard ~51
Retrieves the configuration of an OmniStudio FlexCard including its data source, fields, actions, states, and activation status.
| Name | Type | Req | Description |
|---|---|---|---|
| cardName | string | yes | API name of the FlexCard to retrieve |
No output schema declared.
No examples provided.
sf_get_flow_errors Get Flow Errors and Fault Logs ~164
Retrieves Flow interview fault records from the FlowRecordRelation and FlowInterview objects. Shows flows that have errored in runtime with their fault message and the record that triggered the error. flowApiName: filter to a specific flow API name (optional — returns errors for all flows if omitted) lookbackHours: how many hours back to search (default: 24, max: 168) limit: maximum records to return (default: 50) Returns: flow name, start time, error message, and related record ID for each fault.
| Name | Type | Req | Description |
|---|---|---|---|
| flowApiName | string | — | Filter to a specific flow API name (optional) |
| hoursBack | integer | — | Look back this many hours for errors |
| limit | integer | — | Maximum error records to return |
No output schema declared.
No examples provided.
sf_get_integration_procedure Get OmniStudio Integration Procedure ~51
Retrieves the configuration of an Integration Procedure including its elements and activation status. Identified by procedureName + subType.
| Name | Type | Req | Description |
|---|---|---|---|
| procedureName | string | yes | — |
| subType | string | yes | — |
No output schema declared.
No examples provided.
sf_get_login_history Get Login History ~231
Queries LoginHistory to see user login activity — who logged in, from where, and whether they succeeded. Returns records with: loginTime, username, sourceIp, browser, platform, status, loginType status values: 'Success', 'Failed', 'No Password', 'Blocked', 'No Cookie' loginType values: 'Application', 'API', 'SAML', 'OAuth', 'LightningLogin', 'Chatter' Useful for: - Security monitoring (failed logins, unusual IP addresses) - Compliance auditing (who accessed the org and when) - Investigating suspicious account activity Note: LoginHistory covers the past 6 months.
| Name | Type | Req | Description |
|---|---|---|---|
| endDate | string | — | End date in ISO format, e.g. '2025-12-31' |
| limit | integer | — | Maximum records to return |
| startDate | string | — | Start date in ISO format, e.g. '2025-01-01' |
| status | string | — | Filter by login status, e.g. 'Success', 'Failed' |
| username | string | — | Filter by Salesforce username |
No output schema declared.
No examples provided.
sf_get_omniscript Get OmniStudio OmniScript ~70
Retrieves the configuration of an OmniScript including its elements, activation status, and LWC settings. Identified by Type + SubType + Language.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | — | — |
| subType | string | yes | OmniScript sub-type |
| type | string | yes | OmniScript type |
No output schema declared.
No examples provided.
sf_get_org_limits Get Org Limits and Usage ~134
Retrieves current API and governor limit usage for the org via the Salesforce Limits REST API. Returns all limits with their current usage and maximum allowed values. Useful for: - Checking API call usage before running bulk operations - Monitoring storage (data/file) usage - Checking concurrent Apex job limits - Reviewing email delivery limits - Auditing active sessions Returns an array of { name, remaining, max, percentUsed } sorted by percent used (most consumed first).
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | — | Optional filter string — return only limits whose name contains this text (e.g. 'Api', 'Storage', 'Scratch') |
No output schema declared.
No examples provided.
sf_get_record Get SObject Record by ID ~133
Retrieves a single Salesforce record by its 15 or 18 character record ID. Returns all or specified fields. objectApiName: the SObject API name (e.g. 'Account', 'Opportunity') recordId: the 15 or 18 character Salesforce record ID fields: optional list of field API names to return (omit for all fields)
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | — | Field API names to retrieve. Empty = all available fields |
| objectApiName | string | yes | SObject API name, e.g. 'Account' |
| recordId | string | yes | Record ID (15 or 18 characters) |
No output schema declared.
No examples provided.
sf_get_setup_audit_trail Get Setup Audit Trail ~223
Queries the SetupAuditTrail object to see who made what configuration changes to the org, and when. Covers the last 6 months of setup activity. Returns records with: date, username, section, action, display (human-readable description) section filter examples: 'Custom Fields', 'Profiles', 'Flows', 'Apex Classes', 'Permission Sets', 'Connected Apps', 'Users' Useful for: - Security audits (who changed profiles or permissions) - Debugging unexpected configuration changes - Compliance reporting on org configuration changes
| Name | Type | Req | Description |
|---|---|---|---|
| createdByUsername | string | — | Filter by the username who made the change |
| endDate | string | — | End date in ISO format, e.g. '2025-12-31' |
| limit | integer | — | Maximum records to return |
| section | string | — | Filter by section, e.g. 'Custom Fields', 'Profiles', 'Flows', 'Apex Classes' |
| startDate | string | — | Start date in ISO format, e.g. '2025-01-01' |
No output schema declared.
No examples provided.
sf_guide_lwc_accessibility LWC Accessibility Guidance ~105
Returns guidance and a checklist for LWC accessibility best practices covering ARIA attributes, keyboard navigation, focus management, and screen reader support. A read-only advisory tool — does not modify the org. componentName: optional component name for context checklistOnly: return only the checklist items without detailed guidance
| Name | Type | Req | Description |
|---|---|---|---|
| checklistOnly | boolean | — | Return only the checklist without detailed guidance |
| componentName | string | — | LWC component name for context (optional) |
No output schema declared.
No examples provided.
sf_import_omnistudio_component Import OmniStudio Component ~170
Imports an OmniStudio component into the org from previously exported JSON (from sf_export_omnistudio_component). Optionally renames the component on import. componentType: FlexCard, OmniScript, DataRaptor, IntegrationProcedure, CalculationMatrix, or CalculationProcedure exportedJson: the JSON string returned by sf_export_omnistudio_component newComponentName: optional new name/fullName for the imported component (useful when migrating to a different name)
| Name | Type | Req | Description |
|---|---|---|---|
| activate | boolean | — | Activate the component after import |
| componentType | string | yes | Component type to import |
| jsonDefinition | string | yes | JSON string exported by sf_export_omnistudio_component |
| newName | string | yes | New API name for the imported component (must differ from source) |
No output schema declared.
No examples provided.
sf_install_package Install Package ~155
Installs a package version into a target org using the SF CLI. Supports both managed and unlocked packages. Requires the package version ID (04t...) or an alias. packageId: package version ID (04t...) or alias targetOrg: target org alias (defaults to SF_ALIAS env var) installationKey: installation key if the package version is protected wait: minutes to wait for installation to complete
| Name | Type | Req | Description |
|---|---|---|---|
| installationKey | string | — | Installation key if package is protected |
| packageId | string | yes | Package version ID (04t...) or alias to install |
| targetOrg | string | — | Target org alias (defaults to SF_ALIAS env var) |
| wait | integer | — | Minutes to wait for installation |
No output schema declared.
No examples provided.
sf_list_devops_projects List DevOps Center Projects ~45
Lists all DevOps Center projects in the org. Returns project names, IDs, and associated pipeline information. Use to discover project IDs needed for other DevOps Center operations.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sf_list_devops_work_items List DevOps Center Work Items ~110
Lists DevOps Center work items, optionally filtered by project or pipeline stage. Use to get an overview of work in progress. projectId: optional filter by DevOps Center project ID stageId: optional filter by pipeline stage ID limit: maximum records to return (default: 20)
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Maximum records to return |
| projectId | string | — | Filter by DevOps Center project ID |
| stageId | string | — | Filter by pipeline stage ID |
No output schema declared.
No examples provided.
sf_list_flow_versions List Flow Versions ~111
Lists all versions of a specific Flow, or all Flows in the org, via the Tooling API. Returns version number, status (Active, Draft, Obsolete), description, and creation date for each version. Optionally filter to exclude deactivated (Obsolete) versions. Use flowApiName to filter to a single flow.
| Name | Type | Req | Description |
|---|---|---|---|
| flowApiName | string | — | Flow API name (omit to list all flows) |
| includeDeactivated | boolean | — | Whether to include deactivated versions |
No output schema declared.
No examples provided.
sf_list_mcp_tools List MCP Server Tools ~70
Lists all tools currently registered in a given MCP server project by reading and parsing its src/index.ts file. Returns the tool names in the order they are registered. Use to audit what tools exist before adding new ones.
| Name | Type | Req | Description |
|---|---|---|---|
| projectDirectory | string | yes | Absolute path to the MCP server project directory |
No output schema declared.
No examples provided.