Salesforce Order Concierge
Enables management of Salesforce orders, returns, and cases, including checking order status and tracking, creating return orders, managing return order line items, creating and updating support cases, and automating return label emails.
Sends formatted alerts and notifications to Slack channels for real-time updates on order management activities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Salesforce Order Concierge check the status of order 00000100"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Salesforce Order Concierge MCP Server
A Model Context Protocol (MCP) server that provides Salesforce order management capabilities for Claude Desktop, including order status checking, return creation, case management, and Slack notifications.
π― Overview
This MCP server enables Claude Desktop to interact with Salesforce for:
Order status checking with shipping details and tracking information
Return order creation using standard Salesforce ReturnOrder objects
Case management integration for customer service escalation
Slack notification system for real-time alerts
Return label email automation for customer convenience
Related MCP server: Salesforce MCP Server
π Available Tools
check_order_status- Check order status, shipping details, and tracking informationcreate_return- Create return orders using standard Salesforce objectsemail_return_label- Email return shipping labels to customersupdate_case_status- Update case status with priority and assignment changescreate_case_from_return- Create support cases from return orderssend_slack_alert- Send formatted alerts to Slack channels
π Quick Setup
1. Install Dependencies and Build
npm install
npm run build2. Deploy Salesforce Metadata (Optional)
If you want to use the enhanced features:
# Authenticate to your Salesforce org
sf org login web --alias MyOrg
# Deploy custom fields and flows
sf project deploy start --target-org MyOrg3. Configure Claude Desktop
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"salesforce-order-concierge": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/sf_mcp_oc",
"env": {
"SF_LOGIN_URL": "https://login.salesforce.com",
"SF_USERNAME": "your-salesforce-username@example.com",
"SF_PASSWORD": "your-salesforce-password",
"SF_SECURITY_TOKEN": "your-salesforce-security-token",
"SLACK_WEBHOOK_URL": "your-slack-webhook-url-optional"
}
}
}
}4. Restart Claude Desktop
After adding the configuration, restart Claude Desktop to load the MCP server.
π Testing with MCP Inspector
The MCP Inspector is a powerful tool for testing and debugging MCP servers. Here's how to use it:
Install MCP Inspector
npx @modelcontextprotocol/inspectorTest Your Server
Start the Inspector:
npx @modelcontextprotocol/inspectorConfigure Connection:
Server Command:
nodeArguments:
["dist/index.js"]Working Directory:
/path/to/sf_mcp_ocEnvironment Variables:
SF_LOGIN_URL=https://login.salesforce.com SF_USERNAME=your-username@example.com SF_PASSWORD=your-password SF_SECURITY_TOKEN=your-token SLACK_WEBHOOK_URL=your-webhook-url
Test Tools:
Click "Connect" to establish connection
Browse available tools in the left panel
Test each tool with sample data
View requests/responses in real-time
Sample Test Data
Check Order Status:
{
"orderId": "00000100"
}Create Return:
{
"orderId": "801xx0000000001",
"lineItemId": "802xx0000000001",
"reason": "Defective",
"quantity": 1,
"description": "Product stopped working"
}Send Slack Alert:
{
"message": "Test alert from MCP Inspector",
"priority": "info"
}Debugging Tips
Connection Issues: Check environment variables and Salesforce credentials
Tool Failures: Review error messages in the inspector's response panel
Permissions: Ensure your Salesforce user has access to required objects
Network: Verify Salesforce and Slack connectivity
π Prerequisites
Salesforce Requirements
Salesforce org with Service Cloud or Field Service license
Order Management enabled
API access for the configured user
Standard objects: Order, OrderItem, ReturnOrder, ReturnOrderLineItem, Case
System Requirements
Node.js 18+ installed
Salesforce CLI (optional, for metadata deployment)
Claude Desktop application
π§ Environment Variables
Variable | Required | Description |
| Yes | Salesforce login URL ( |
| Yes | Salesforce username |
| Yes | Salesforce password |
| Yes | Salesforce security token |
| No | Slack webhook URL for notifications |
π Salesforce Objects Used
Standard Objects
ReturnOrder - Standard Salesforce object for return management
ReturnOrderLineItem - Individual return items
Case - Customer service integration
Order/OrderItem - Order relationships
Custom Fields (Optional)
ReturnOrder.LabelEmailSent__c - Tracks if return label was emailed
ReturnOrder.LabelEmailSentDate__c - Email timestamp
π¨ Troubleshooting
Common Issues
"Server disconnected while setting up"
# Check if server builds successfully npm run build # Verify file permissions chmod +x dist/index.js # Test server startup node dist/index.js"Invalid login"
Verify Salesforce credentials
Check security token (get new one from Setup β My Personal Information)
Use correct login URL for your org type
"Object not found" errors
Ensure Service Cloud license is active
Enable Order Management in Setup β Sales β Order Settings
Verify user has access to ReturnOrder objects
Tool execution failures
Test with MCP Inspector to see detailed error messages
Check Salesforce debug logs
Verify required fields are populated
Getting Help
Use MCP Inspector for detailed debugging
Check Claude Desktop logs for connection issues
Review Salesforce debug logs for API errors
Test Salesforce connectivity with simple SOQL queries
π Project Structure
sf_mcp_oc/
βββ src/
β βββ index.ts # Main MCP server
β βββ salesforce-client.ts # Salesforce API client
β βββ types.ts # TypeScript schemas
βββ force-app/main/default/ # Salesforce metadata
β βββ objects/ReturnOrder/ # Custom fields
β βββ flows/ # Automation flows
βββ dist/ # Compiled JavaScript
βββ package.json # Node.js dependencies
βββ tsconfig.json # TypeScript config
βββ CLAUDE.md # Project instructionsπ Security
Never commit credentials to version control
Use environment variables for all sensitive data
Rotate Salesforce security tokens regularly
Use dedicated API users with minimal required permissions
π License
MIT License - see LICENSE file for details.
π Resources
Available Tools
6 toolscheck_order_statusB
Check an order's shipping status, carrier, tracking number, and ETA
Inputs: orderId (required).
create_case_from_returnC
Create a case from an existing return order for tracking and follow-up
Inputs: returnOrderId (required).
create_returnC
Create a return order for a single line item in an order using standard Salesforce objects
Inputs: orderId (required), lineItemId (required), reason (required), quantity (required), +1 more.
email_return_labelC
Email the customer a PDF return label for an approved return order
Inputs: returnOrderId (required), customerEmail (required).
send_slack_alertC
Send a Slack alert notification
Inputs: message (required), priority, caseId, customFields.
update_case_statusC
Update a case status with optional priority and assignment changes
Inputs: caseId (required), status (required), reason, priority, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 6 tools
Every tool has a clearly distinct purpose with no ambiguity. Tools like check_order_status, create_return, and email_return_label each target specific, non-overlapping actions in the order and return workflow, while send_slack_alert and update_case_status serve separate notification and case management functions.
The naming follows a consistent verb_noun pattern throughout (e.g., check_order_status, create_return, update_case_status), with only minor deviations such as send_slack_alert using 'send' instead of a more domain-specific verb, but overall it remains highly readable and predictable.
With 6 tools, the server is well-scoped for its purpose of managing orders, returns, and cases. Each tool earns its place by covering distinct aspects of the workflow, from status checks to case creation and notifications, without feeling bloated or insufficient.
The tool set provides strong coverage for order and return workflows, including status checks, return creation, case management, and notifications. Minor gaps exist, such as no direct tool for creating or updating orders themselves, but agents can likely work around this using existing tools like create_return and update_case_status.
Maintenance
Related MCP Connectors
Create contacts, move deals, send proposals and invoices, read your inbox, from Claude or ChatGPT.
Solk CRM for Claude: accounts, pipeline, visits, quotes, orders and tickets with your permissions.
Connect ChatGPT or Claude to your CRM, store or shipping API. Keys stay out of the chat.
Your SMB workspace in Claude or ChatGPT: tasks, notes, sales and Michèle's memory, via OAuth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates Claude with Salesforce to enable natural language querying, modification, and management of Salesforce records and metadata. It supports comprehensive operations including object/field management, SOSL searches, and Apex code execution.3,410 npm1MIT
- AlicenseAqualityDmaintenanceIntegrates Claude with Salesforce for natural language interactions with Salesforce data and metadata, enabling querying, modifying, and managing objects and records.2020 npmMIT
- AlicenseAqualityDmaintenanceEnables AI tools like Claude Desktop and Cline to interact with Salesforce, providing tools for SOQL queries, Apex execution, metadata management, and more.1768 npm42MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to interact with Salesforce for querying, modifying, and managing objects and records, with automatic integration setup for external services like WhatsApp, Slack, email, and webhooks.MIT