← Salesforce MCP Server

Salesforce MCP Server 0.2.1

npm · salesforce-mcp-server · current release

25
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-18T01:57:15.107Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2024-11-05.

Server capabilities
{
  "tools": {}
}

Tools 25

ToolCategoryAnnotationsRisk
analyze_soql_performanceAnalyze SOQL query performance
Input schema
{
  "type": "object",
  "properties": {
    "soql": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "soql"
  ]
}
— · —
call_rest_apiMake a generic REST API call to Salesforce (supports GET, POST, PATCH, DELETE)
Input schema
{
  "type": "object",
  "properties": {
    "endpoint": {
      "type": "string",
      "description": "The API endpoint path (e.g., \"limits\", \"sobjects\", \"query\")",
      "minLength": 1
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST",
        "PATCH",
        "DELETE"
      ],
      "default": "GET",
      "description": "HTTP method to use"
    },
    "body": {
      "type": "object",
      "description": "Request body for POST/PATCH requests"
    },
    "params": {
      "type": "object",
      "description": "Query parameters"
    }
  },
  "required": [
    "endpoint"
  ],
  "additionalProperties": false
}
— · —
check_apex_sharingCheck Apex class sharing declarations
Input schema
{
  "type": "object",
  "properties": {
    "apexClassId": {
      "type": "string",
      "minLength": 15
    }
  },
  "required": [
    "apexClassId"
  ]
}
— · —
create_apex_classCreate a new Apex class
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "body": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "name",
    "body"
  ]
}
— · —
delete_apex_classDelete an Apex class (use with caution)
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 15
    }
  },
  "required": [
    "id"
  ]
}
— · —
describe_sobjectDescribe a specific SObject using REST API
Input schema
{
  "type": "object",
  "properties": {
    "sobjectType": {
      "type": "string",
      "description": "Name of the SObject to describe",
      "minLength": 1
    }
  },
  "required": [
    "sobjectType"
  ],
  "additionalProperties": false
}
— · —
describe_tooling_objectGet schema information for Tooling API objects
Input schema
{
  "type": "object",
  "properties": {
    "sobjectType": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "sobjectType"
  ]
}
— · —
execute_tooling_queryExecute SOQL queries against Tooling API
Input schema
{
  "type": "object",
  "properties": {
    "soql": {
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "type": "number",
      "default": 100,
      "maximum": 2000
    }
  },
  "required": [
    "soql"
  ]
}
— · —
get_apex_classGet detailed information about a specific Apex class including its source code
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The 15 or 18 character ID of the Apex class",
      "minLength": 15
    }
  },
  "required": [
    "id"
  ]
}
— · —
get_apex_pageGet detailed information about a Visualforce page
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 15
    }
  },
  "required": [
    "id"
  ]
}
— · —
get_apex_triggerGet detailed information about a specific Apex trigger
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 15
    }
  },
  "required": [
    "id"
  ]
}
— · —
get_async_apex_jobGet a specific AsyncApexJob record by ID using Tooling API
Input schema
{
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "description": "The AsyncApexJob ID",
      "minLength": 15,
      "maxLength": 18
    }
  },
  "required": [
    "jobId"
  ],
  "additionalProperties": false
}
— · —
get_code_coverageGet code coverage information for Apex classes and triggers
Input schema
{
  "type": "object",
  "properties": {
    "apexClassOrTriggerId": {
      "type": "string"
    },
    "minCoverage": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    }
  }
}
— · —
get_debug_logsGet recent debug logs
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "default": 10,
      "maximum": 100
    }
  }
}
— · —
get_org_infoGet organization information
Input schema
{
  "type": "object",
  "properties": {}
}
— · —
get_org_limitsGet organization limits information from Salesforce REST API
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
— · —
get_sobjects_listGet list of all available SObjects from Salesforce REST API
Input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
— · —
get_symbol_tableGet symbol table for an Apex class
Input schema
{
  "type": "object",
  "properties": {
    "apexClassId": {
      "type": "string",
      "minLength": 15
    }
  },
  "required": [
    "apexClassId"
  ]
}
— · —
list_apex_classesList Apex classes in the organization with optional name filtering
Input schema
{
  "type": "object",
  "properties": {
    "nameFilter": {
      "type": "string",
      "description": "Optional filter to search for classes by name"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return (default: 50, max: 200)",
      "default": 50,
      "maximum": 200
    }
  }
}
— · —
list_apex_pagesList Visualforce pages
Input schema
{
  "type": "object",
  "properties": {
    "nameFilter": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "default": 50,
      "maximum": 200
    }
  }
}
— · —
list_apex_triggersList Apex triggers in the organization with optional name filtering
Input schema
{
  "type": "object",
  "properties": {
    "nameFilter": {
      "type": "string"
    },
    "limit": {
      "type": "number",
      "default": 50,
      "maximum": 200
    }
  }
}
— · —
run_testsExecute Apex tests
Input schema
{
  "type": "object",
  "properties": {
    "classIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
— · —
search_async_apex_jobsSearch AsyncApexJob records using Tooling API
Input schema
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Job status filter (e.g., \"Completed\", \"Processing\", \"Queued\", \"Failed\")"
    },
    "jobType": {
      "type": "string",
      "description": "Job type filter (e.g., \"BatchApex\", \"Future\", \"Queueable\")"
    },
    "apexClassName": {
      "type": "string",
      "description": "Filter by Apex class name (partial match supported)"
    },
    "createdDateFrom": {
      "type": "string",
      "description": "Filter jobs created after this date (ISO format, e.g., \"2023-01-01T00:00:00Z\")"
    },
    "createdDateTo": {
      "type": "string",
      "description": "Filter jobs created before this date (ISO format, e.g., \"2023-12-31T23:59:59Z\")"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of records to return",
      "default": 100,
      "minimum": 1,
      "maximum": 2000
    }
  },
  "additionalProperties": false
}
— · —
update_apex_classUpdate the source code of an existing Apex class
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 15
    },
    "body": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "id",
    "body"
  ]
}
— · —
validate_syntaxValidate Apex class syntax
Input schema
{
  "type": "object",
  "properties": {
    "apexClassId": {
      "type": "string",
      "minLength": 15
    }
  },
  "required": [
    "apexClassId"
  ]
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.