What is xlengelle sf agentforce mcp xlengelle
Agentforce MCP Server
This MCP server provides tools to interact with the Salesforce Agentforce API. It allows authentication, session creation, and message exchange with Agentforce agents.
Getting Started After Cloning
If you've just cloned this repository, you can use the interactive setup script to quickly configure and run the server:
chmod +x setup.sh
./setup.sh
The setup script will:
- Check your Python version
- Install required dependencies
- Guide you through entering your Salesforce credentials
- Test your connection to Salesforce
- Offer to start the server
- Provide instructions for configuring Claude Desktop
Alternatively, you can follow these manual steps:
-
Install dependencies:
pip install -r requirements.txt
-
Set up your environment variables:
cp .env.example .env
-
Collect your Salesforce credentials:
- SALESFORCE_ORG_ID: Your 18-character Salesforce Org ID
- SALESFORCE_AGENT_ID: The 18-character Agent ID from your Agentforce agent
- SALESFORCE_CLIENT_ID: The Consumer Key from your Connected App
- SALESFORCE_CLIENT_SECRET: The Consumer Secret from your Connected App
- SALESFORCE_SERVER_URL: Your Salesforce My Domain URL without https:// prefix
-
Edit your .env file with the collected credentials:
SALESFORCE_ORG_ID="00D5f000000J2PKEA0" SALESFORCE_AGENT_ID="0XxHn000000x9F1KAI" SALESFORCE_CLIENT_ID="3MVG9OGq41FnYVsFgnaG0AzJDWnoy37Bb18e0R.GgDJu2qB9sqppVl7ehWmJhGvPSLrrA0cBNhDJdsbZXnv52" SALESFORCE_CLIENT_SECRET="210117AC36E9E4C8AFCA02FF062B8A677BACBFFB71D2BB1162D60D316382FADE" SALESFORCE_SERVER_URL="example.my.salesforce.com"
(Note: These are fictional example values. Replace with your actual credentials.)
-
Make the server script executable:
chmod +x agentforce_mcp_server.py
-
Run the server:
python agentforce_mcp_server.py
For detailed instructions on finding your Salesforce credentials, see the Setting Up Salesforce section below.
Setup
-
Ensure you have Python 3.10 or higher installed.
-
Install the required dependencies:
pip install -r requirements.txt
-
Make the server script executable:
chmod +x agentforce_mcp_server.py
Configuration
The server uses environment variables for configuration. These are loaded from the .env
file.
-
Copy the example environment file to create your own:
cp .env.example .env
-
Edit the
.env
file and fill in your values:SALESFORCE_ORG_ID="your_org_id_here" SALESFORCE_AGENT_ID="your_agent_id_here" # The 18-character Agent ID you found in Salesforce SALESFORCE_CLIENT_ID="your_client_id_here" # The Consumer Key from your Connected App SALESFORCE_CLIENT_SECRET="your_client_secret_here" # The Consumer Secret from your Connected App SALESFORCE_SERVER_URL="your_server_url_here" # Your My Domain URL (e.g., example.my.salesforce.com)
Salesforce Configuration
To use the Agentforce API, you need to:
- Create a Connected App in your Salesforce org
- Find your Agentforce Agent ID
- Note your Salesforce My Domain URL
For detailed instructions on these steps, see the Setting Up Salesforce section below.
Running the Server
Run the server using:
python agentforce_mcp_server.py
Available Tools
The MCP server exposes the following tools:
1. authenticate
Authenticates with the Agentforce API using a client email.
Parameters:
client_email
: Email of the client for authentication
2. create_agent_session
Creates a session with the configured Agentforce agent.
Parameters:
client_email
: Email of the authenticated client
3. send_message_to_agent
Sends a message to the Agentforce agent and returns the response.
Parameters:
client_email
: Email of the authenticated clientmessage
: Message to send to the agent
4. get_session_status
Gets the status of the current session, including authentication status, session ID, and sequence ID.
Parameters:
client_email
: Email of the authenticated client
5. complete_agentforce_conversation
Convenience method that handles the complete flow - authentication, session creation, and message sending.
Parameters:
client_email
: Email of the client for authenticationuser_query
: Message to send to the agent
Using with Claude for Desktop
To use this server with Claude for Desktop, update your claude_desktop_config.json
file:
{
"mcpServers": {
"agentforce": {
"command": "python",
"args": [
"/path/to/your/agentforce_mcp_server.py"
]
}
}
}
Replace the path with the absolute path to the server script on your machine.
Path Locations by Platform
macOS
- Configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
- Example path:
/Users/yourusername/Projects/agentforce-mcp-server/agentforce_mcp_server.py
Windows
- Configuration file:
%APPDATA%\Claude\claude_desktop_config.json
- Example path:
C:\Users\yourusername\Projects\agentforce-mcp-server\agentforce_mcp_server.py
Setting Up Salesforce
Creating a Connected App
To use the Agentforce API, you need to create a Connected App in your Salesforce org:
- Log in to your Salesforce org as an administrator
- Go to Setup
- In the Quick Find box, search for "App Manager" and click on it
- Click the New Connected App button
- Fill in the basic information:
- Connected App Name: Agentforce MCP Integration (or any name you prefer)
- API Name: Agentforce_MCP_Integration (this will be auto-filled)
- Contact Email: Your email address
- Check Enable OAuth Settings
- Set the Callback URL to
https://localhost/oauth/callback
(this is not used but required) - Under Selected OAuth Scopes, add:
- Manage user data via APIs (api)
- Perform requests at any time (refresh_token, offline_access)
- Click Save
- After saving, you'll be redirected to the Connected App detail page
- Note the Consumer Key (this is your client ID) and click Click to reveal next to Consumer Secret to get your client secret
Finding Your Agent ID
To find your Agentforce Agent ID:
- Log in to your Salesforce org
- Navigate to Einstein Agent Builder
- Select the agent you want to use
- Look at the URL in your browser - it will contain the Agent ID in the format:
https://your-salesforce-instance.lightning.force.com/lightning/r/Agent__c/0XxXXXXXXXXXXXXX/view
- The Agent ID is that 18-character ID (
0XxXXXXXXXXXXXXX
) in the URL
Finding Your Salesforce My Domain URL
To find your Salesforce My Domain URL:
- Log in to your Salesforce org
- Go to Setup
- In the Quick Find box, search for "My Domain" and click on it
- You'll see your domain in the format
DOMAIN-NAME.my.salesforce.com
- Use this URL without the "https://" prefix in your .env file
Finding Your Org ID
To find your Salesforce Org ID:
- Log in to your Salesforce org
- Go to Setup
- In the Quick Find box, search for "Company Information" and click on it
- Look for the "Organization ID" field - this is your Salesforce Org ID
- It will be a 15 or 18-character alphanumeric string
Notes
- The server automatically manages sequence IDs for message exchanges
- Authentication and session state are maintained for each client email
- All API interactions are logged for debugging purposes
Troubleshooting
If you encounter issues:
- Authentication failures: Verify your Connected App settings and ensure the client ID and secret are correct
- Session creation errors: Check your Agent ID and make sure it's the 18-character version
- Connection issues: Verify your Salesforce My Domain URL is correct (without "https://" prefix)
- Permission errors: Make sure your Connected App has the proper OAuth scopes enabled
Testing the Setup
You can test your setup using the included test script:
python test_agentforce.py
This will attempt to authenticate, create a session, and exchange messages with your Agentforce agent.
Contributing and GitHub Push
This repository includes a helpful script that simplifies the process of pushing your changes to GitHub:
chmod +x github_push.sh
./github_push.sh
The github_push.sh
script will:
- Check if git is installed on your system
- Verify that sensitive files like
.env
won't be pushed (they're in.gitignore
) - Prompt you for your GitHub repository URL
- Initialize a git repository if needed, or update the remote URL
- Add all files and display them for your review
- Commit the changes with a descriptive message
- Push the changes to GitHub
This makes it easy to share your customizations or contribute back to the project while ensuring that sensitive information stays secure.
Leave a Comment
Frequently Asked Questions
What is MCP?
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.
What are MCP Servers?
MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.
How do MCP Servers work?
MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.
Are MCP Servers secure?
Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.
Related MCP Servers
chrisdoc hevy mcp
sylphlab pdf reader mcp
An MCP server built with Node.js/TypeScript that allows AI agents to securely read PDF files (local or URL) and extract text, metadata, or page counts. Uses pdf-parse.
aashari mcp server atlassian bitbucket
Node.js/TypeScript MCP server for Atlassian Bitbucket. Enables AI systems (LLMs) to interact with workspaces, repositories, and pull requests via tools (list, get, comment, search). Connects AI directly to version control workflows through the standard MCP interface.
aashari mcp server atlassian confluence
Node.js/TypeScript MCP server for Atlassian Confluence. Provides tools enabling AI systems (LLMs) to list/get spaces & pages (content formatted as Markdown) and search via CQL. Connects AI seamlessly to Confluence knowledge bases using the standard MCP interface.
prisma prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
Zzzccs123 mcp sentry
mcp sentry for typescript sdk
zhuzhoulin dify mcp server
zhongmingyuan mcp my mac
zhixiaoqiang desktop image manager mcp
MCP 服务器,用于管理桌面图片、查看详情、压缩、移动等(完全让Trae实现)
zhixiaoqiang antd components mcp
An MCP service for Ant Design components query | 一个减少 Ant Design 组件代码生成幻觉的 MCP 服务,包含系统提示词、组件文档、API 文档、代码示例和更新日志查询
Submit Your MCP Server
Share your MCP server with the community
Submit Now