{
  "name": "salesforce-mcp",
  "display_name": "Salesforce Connector",
  "description": "Interact with Salesforce Data and Metadata",
  "repository": {
    "type": "git",
    "url": "https://github.com/smn2gnt/MCP-Salesforce"
  },
  "license": "[NOT FOUND]",
  "author": {
    "name": "smn2gnt"
  },
  "homepage": "https://github.com/smn2gnt/MCP-Salesforce",
  "categories": [
    "Productivity"
  ],
  "tags": [
    "salesforce"
  ],
  "installations": {
    "uvx": {
      "type": "uvx",
      "command": "uvx",
      "args": [
        "--from",
        "mcp-salesforce-connector",
        "salesforce"
      ],
      "env": {
        "SALESFORCE_USERNAME": "${SALESFORCE_USERNAME}",
        "SALESFORCE_PASSWORD": "${SALESFORCE_PASSWORD}",
        "SALESFORCE_SECURITY_TOKEN": "${SALESFORCE_SECURITY_TOKEN}"
      }
    }
  },
  "arguments": {
    "SALESFORCE_USERNAME": {
      "description": "Your Salesforce username for authentication",
      "required": true,
      "example": "myemail@example.com"
    },
    "SALESFORCE_PASSWORD": {
      "description": "Your Salesforce password for authentication",
      "required": true
    },
    "SALESFORCE_SECURITY_TOKEN": {
      "description": "Your Salesforce security token for additional security measures",
      "required": true
    }
  },
  "tools": [
    {
      "name": "run_soql_query",
      "description": "Executes a SOQL query against Salesforce",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "The SOQL query to execute"
          }
        },
        "required": [
          "query"
        ]
      }
    },
    {
      "name": "run_sosl_search",
      "description": "Executes a SOSL search against Salesforce",
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "description": "The SOSL search to execute (e.g., 'FIND {John Smith} IN ALL FIELDS')"
          }
        },
        "required": [
          "search"
        ]
      }
    },
    {
      "name": "get_object_fields",
      "description": "Retrieves field Names, labels and types for a specific Salesforce object",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name": {
            "type": "string",
            "description": "The name of the Salesforce object (e.g., 'Account', 'Contact')"
          }
        },
        "required": [
          "object_name"
        ]
      }
    },
    {
      "name": "get_record",
      "description": "Retrieves a specific record by ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name": {
            "type": "string",
            "description": "The name of the Salesforce object (e.g., 'Account', 'Contact')"
          },
          "record_id": {
            "type": "string",
            "description": "The ID of the record to retrieve"
          }
        },
        "required": [
          "object_name",
          "record_id"
        ]
      }
    },
    {
      "name": "create_record",
      "description": "Creates a new record",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name": {
            "type": "string",
            "description": "The name of the Salesforce object (e.g., 'Account', 'Contact')"
          },
          "data": {
            "type": "object",
            "description": "The data for the new record",
            "properties": {},
            "additionalProperties": true
          }
        },
        "required": [
          "object_name",
          "data"
        ]
      }
    },
    {
      "name": "update_record",
      "description": "Updates an existing record",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name": {
            "type": "string",
            "description": "The name of the Salesforce object (e.g., 'Account', 'Contact')"
          },
          "record_id": {
            "type": "string",
            "description": "The ID of the record to update"
          },
          "data": {
            "type": "object",
            "description": "The updated data for the record",
            "properties": {},
            "additionalProperties": true
          }
        },
        "required": [
          "object_name",
          "record_id",
          "data"
        ]
      }
    },
    {
      "name": "delete_record",
      "description": "Deletes a record",
      "inputSchema": {
        "type": "object",
        "properties": {
          "object_name": {
            "type": "string",
            "description": "The name of the Salesforce object (e.g., 'Account', 'Contact')"
          },
          "record_id": {
            "type": "string",
            "description": "The ID of the record to delete"
          }
        },
        "required": [
          "object_name",
          "record_id"
        ]
      }
    },
    {
      "name": "tooling_execute",
      "description": "Executes a Tooling API request",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "The Tooling API endpoint to call (e.g., 'sobjects/ApexClass')"
          },
          "method": {
            "type": "string",
            "description": "The HTTP method (default: 'GET')",
            "enum": [
              "GET",
              "POST",
              "PATCH",
              "DELETE"
            ],
            "default": "GET"
          },
          "data": {
            "type": "object",
            "description": "Data for POST/PATCH requests",
            "properties": {},
            "additionalProperties": true
          }
        },
        "required": [
          "action"
        ]
      }
    },
    {
      "name": "apex_execute",
      "description": "Executes an Apex REST request",
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "The Apex REST endpoint to call (e.g., '/MyApexClass')"
          },
          "method": {
            "type": "string",
            "description": "The HTTP method (default: 'GET')",
            "enum": [
              "GET",
              "POST",
              "PATCH",
              "DELETE"
            ],
            "default": "GET"
          },
          "data": {
            "type": "object",
            "description": "Data for POST/PATCH requests",
            "properties": {},
            "additionalProperties": true
          }
        },
        "required": [
          "action"
        ]
      }
    },
    {
      "name": "restful",
      "description": "Makes a direct REST API call to Salesforce",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "The path of the REST API endpoint (e.g., 'sobjects/Account/describe')"
          },
          "method": {
            "type": "string",
            "description": "The HTTP method (default: 'GET')",
            "enum": [
              "GET",
              "POST",
              "PATCH",
              "DELETE"
            ],
            "default": "GET"
          },
          "params": {
            "type": "object",
            "description": "Query parameters for the request",
            "properties": {},
            "additionalProperties": true
          },
          "data": {
            "type": "object",
            "description": "Data for POST/PATCH requests",
            "properties": {},
            "additionalProperties": true
          }
        },
        "required": [
          "path"
        ]
      }
    }
  ]
}