About salesforce-server
salesforce-server is an MCP server published by git+ryu-727 in the Developer Tools category: mCP server for Salesforce Tooling API integration.
Install
npx salesforce-mcp-serverclaude mcp add salesforce-mcp-gitryu72 -- npx -y salesforce-mcp-servernpx -y salesforce-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (38)
analyze_dependenciesAnalyze code dependencies
Parameters not published.
analyze_soql_performanceAnalyze SOQL query performance
Parameters not published.
call_rest_apiMake generic REST API calls to Salesforce
Parameters not published.
check_apex_sharingCheck Apex sharing declarations
Parameters not published.
create_apex_classCreate a new Apex class
Parameters not published.
create_apex_pageCreate a new Visualforce page
Parameters not published.
create_apex_triggerCreate a new Apex trigger
Parameters not published.
delete_apex_classDelete an Apex class
Parameters not published.
delete_apex_pageDelete a page
Parameters not published.
delete_apex_triggerDelete a trigger
Parameters not published.
Show all 38 tools
describe_sobjectDescribe a specific SObject schema
Parameters not published.
describe_tooling_objectGet schema information for Tooling objects
Parameters not published.
execute_tooling_queryExecute SOQL queries against Tooling API
Parameters not published.
get_apex_classGet detailed information about a specific Apex class
Parameters not published.
get_apex_pageGet detailed information about a specific page
Parameters not published.
get_apex_triggerGet detailed information about a specific trigger
Parameters not published.
get_async_apex_jobGet detailed information about a specific AsyncApexJob by ID
Parameters not published.
get_code_coverageGet code coverage information
Parameters not published.
get_completion_suggestionsGet code completion suggestions
Parameters not published.
get_debug_log_bodyGet full debug log content
Parameters not published.
get_debug_logsRetrieve debug logs
Parameters not published.
get_org_coverageGet organization-wide coverage statistics
Parameters not published.
get_org_infoGet organization information
Parameters not published.
get_org_limitsGet organization limits information
Parameters not published.
get_sobjects_listGet list of all available SObjects
Parameters not published.
get_symbol_tableAnalyze code structure and symbols
Parameters not published.
get_test_resultsGet test execution results
Parameters not published.
list_apex_classesList all Apex classes with optional filtering
Parameters not published.
list_apex_pagesList all Visualforce pages
Parameters not published.
list_apex_triggersList all Apex triggers
Parameters not published.
list_sobjectsList available SObjects
Parameters not published.
run_testsExecute Apex tests
Parameters not published.
search_async_apex_jobsSearch AsyncApexJob records with filtering by status, job type, Apex class name, date range
Parameters not published.
search_metadataSearch for metadata across different types
Parameters not published.
update_apex_classUpdate an existing Apex class
Parameters not published.
update_apex_pageUpdate an existing page
Parameters not published.
update_apex_triggerUpdate an existing trigger
Parameters not published.
validate_syntaxValidate Apex code syntax
Parameters not published.
Ask AI
Ask AI about salesforce-server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
4 checks have not been run yet.
README
Salesforce Tooling API MCP Server
A Model Context Protocol (MCP) server that provides comprehensive access to Salesforce Tooling API functionality through Claude and other compatible AI assistants.
Features
🔧 Metadata Management
- Apex Class Tools: CRUD operations for Apex classes
- Apex Trigger Tools: CRUD operations for Apex triggers
- Visualforce Tools: CRUD operations for Visualforce pages
🔍 Query & Search
- SOQL Query Tools: Execute Tooling API queries with SOQL
- Metadata Search: Search across different metadata types
- Object Describe: Get schema information for Tooling API objects
📊 Code Analysis & Quality
- Code Coverage Tools: Analyze test coverage for classes and triggers
- Symbol Table Tools: Analyze code structure, dependencies, and get completion suggestions
- Performance Tools: Analyze SOQL query performance
🐛 Development & Debugging
- Debug Tools: Access debug logs and heap dumps
- Test Execution: Run Apex tests and get results
- Syntax Validation: Validate Apex code syntax
🔒 Security & Governance
- Security Tools: Check Apex sharing declarations and permissions
- Org Management: Get organization information and available objects
Installation
- Clone this repository:
git clone <repository-url>
cd salesforce-mcp
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Configure your Salesforce connection using environment variables:
SF CLI Authentication
The MCP server uses Salesforce CLI authentication. Make sure you have authenticated to your org using the Salesforce CLI:
# Use default authenticated org
npm run dev
# Specify a particular org by alias
export SF_TARGET_ORG="myorg"
npm run dev
# Or specify by username
export SF_TARGET_ORG="user@example.com"
npm run dev
Prerequisites:
- Install Salesforce CLI: https://developer.salesforce.com/tools/cli
- Authenticate to your org:
sf org login web - Verify authentication:
sf org list
Usage
Running the MCP Server
# Development mode
npm run dev
# Production mode (after build)
./build/index.js
Claude Code CLI Configuration
claude mcp add salesforce-mcp -s project \
-e SF_TARGET_ORG=myorg \
-- npx salesforce-mcp-server@latest
Available Tools
REST API Tools
search_async_apex_jobs- Search AsyncApexJob records with filtering by status, job type, Apex class name, date rangeget_async_apex_job- Get detailed information about a specific AsyncApexJob by IDcall_rest_api- Make generic REST API calls to Salesforceget_org_limits- Get organization limits informationget_sobjects_list- Get list of all available SObjectsdescribe_sobject- Describe a specific SObject schema
Apex Class Management
list_apex_classes- List all Apex classes with optional filteringget_apex_class- Get detailed information about a specific Apex classcreate_apex_class- Create a new Apex classupdate_apex_class- Update an existing Apex classdelete_apex_class- Delete an Apex class
Apex Trigger Management
list_apex_triggers- List all Apex triggersget_apex_trigger- Get detailed information about a specific triggercreate_apex_trigger- Create a new Apex triggerupdate_apex_trigger- Update an existing triggerdelete_apex_trigger- Delete a trigger
Visualforce Page Management
list_apex_pages- List all Visualforce pagesget_apex_page- Get detailed information about a specific pagecreate_apex_page- Create a new Visualforce pageupdate_apex_page- Update an existing pagedelete_apex_page- Delete a page
Query & Analysis Tools
execute_tooling_query- Execute SOQL queries against Tooling APIdescribe_tooling_object- Get schema information for Tooling objectssearch_metadata- Search for metadata across different typesget_code_coverage- Get code coverage informationget_org_coverage- Get organization-wide coverage statisticsget_symbol_table- Analyze code structure and symbolsanalyze_dependencies- Analyze code dependenciesget_completion_suggestions- Get code completion suggestions
Development Tools
run_tests- Execute Apex testsget_test_results- Get test execution resultsget_debug_logs- Retrieve debug logsget_debug_log_body- Get full debug log contentvalidate_syntax- Validate Apex code syntaxcheck_apex_sharing- Check Apex sharing declarationsanalyze_soql_performance- Analyze SOQL query performanceget_org_info- Get organization informationlist_sobjects- List available SObjects
Example Usage with Claude
Once the MCP server is running and connected to Claude, you can use natural language commands like:
- "Search for completed AsyncApexJob records for BatchProcessor class"
- "Get details of AsyncApexJob with ID 707XXXXXXXXXXXXXXX"
- "Find all failed batch jobs from the last week"
- "List all Apex classes that contain 'Account' in their name"
- "Show me the code coverage for all classes below 75%"
- "Get the symbol table for the AccountTriggerHandler class"
- "Create a new Apex class called TestUtils with basic utility methods"
- "Run all tests and show me the results"
Development
Project Structure
src/
├── auth/ # Salesforce authentication
├── client/ # Tooling API HTTP client
├── tools/ # MCP tool implementations
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── index.ts # Main server entry point
Available Scripts
npm run build- Build the TypeScript projectnpm run dev- Run in development mode with hot reloadnpm run watch- Watch mode for TypeScript compilationnpm run lint- Run ESLintnpm run format- Format code with Prettiernpm test- Run tests
Requirements
- Node.js 18+
- Valid Salesforce org with API access
- Salesforce CLI installed and authenticated
License
MIT License - see LICENSE file for details
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.