Data 360 Query MCP Server
Enables executing SQL queries against Salesforce Data Cloud from Cursor, with tools to list tables and describe table structure.
README
Data 360 Query MCP Server
This MCP server provides a seamless integration between Cursor and Salesforce Data Cloud (formerly known as CDP), allowing you to execute SQL queries directly from Cursor. The server handles OAuth authentication with Salesforce and provides tools for exploring and querying Data Cloud tables.
📚 New to this? Start with QUICK_START.md for copy-paste configuration examples.
Features
- Execute SQL queries against Salesforce Data Cloud
- List available tables in the database
- Describe table columns and structure
- Flexible authentication: SF CLI or OAuth2 with automatic fallback
Adding to Cursor
Step 1: Clone and Install Dependencies
# Clone the repository
git clone https://github.com/your-org/datacloud-mcp-query.git
cd datacloud-mcp-query
# Install dependencies
pip install -r requirements.txt
Step 2: Get Your Paths
You'll need the absolute paths to both Python and server.py for the MCP configuration:
# Get your Python path
which python3
# Example output: /usr/bin/python3 or /Users/yourname/.pyenv/shims/python3
# Get the full path to server.py (run from the repo directory)
pwd
# Example output: /Users/yourname/projects/datacloud-mcp-query
# Your server.py path will be: /Users/yourname/projects/datacloud-mcp-query/server.py
Step 3: Set Up Authentication
Choose SF CLI (recommended) or OAuth PKCE - see Configuration section below for details.
Step 4: Add to Cursor
Option A: Using Cursor UI (Recommended)
- Open Cursor IDE
- Go to Cursor Settings → MCP
- Click Add new global MCP server
- Use one of the configuration examples below (replace paths with your actual paths from Step 2)
- Enable the MCP server and click refresh to see the tool list
Option B: Edit Config File Directly
Alternatively, you can edit the MCP config file directly:
Location:
- macOS:
~/Library/Application Support/Cursor/User/globalStorage/mcp-settings.json - Linux:
~/.config/Cursor/User/globalStorage/mcp-settings.json - Windows:
%APPDATA%\Cursor\User\globalStorage\mcp-settings.json
Add the configuration from the examples below to this file.
Configuration
The server supports two authentication methods. Choose the one that works best for your setup.
Authentication Method 1: SF CLI (Recommended)
If you already use the Salesforce CLI for development, this is the simplest option.
Prerequisites:
- Install Salesforce CLI: https://developer.salesforce.com/tools/salesforcecli
- Authenticate with your org:
sf org login web --alias myorg
Environment Variables:
SF_ORG_ALIAS: Your SF CLI org alias or username (e.g., "myorg")
Cursor MCP Configuration:
Add this to your Cursor MCP settings (replace the paths with your actual paths from Step 2):
{
"mcpServers": {
"datacloud": {
"command": "/usr/bin/python3",
"args": ["/Users/yourname/projects/datacloud-mcp-query/server.py"],
"env": {
"SF_ORG_ALIAS": "myorg"
},
"disabled": false,
"autoApprove": ["describe_table", "list_tables"]
}
}
}
What to replace:
/usr/bin/python3→ Your Python path fromwhich python3/Users/yourname/projects/datacloud-mcp-query/server.py→ Your full path to server.pymyorg→ Your SF CLI org alias (fromsf org list)
Authentication Method 2: OAuth PKCE
Use this method if you need a standalone setup without the SF CLI.
Prerequisites:
- Create a Salesforce Connected App with PKCE enabled
- See Connected App Setup Guide for detailed instructions
Environment Variables:
SF_CLIENT_ID: Your Salesforce OAuth client IDSF_CLIENT_SECRET: Your Salesforce OAuth client secretSF_LOGIN_URL(optional): The Salesforce login URL (default: "login.salesforce.com")SF_CALLBACK_URL(optional): OAuth callback URL (default: "http://localhost:55556/Callback")
Cursor MCP Configuration:
Add this to your Cursor MCP settings (replace the paths and credentials with your values):
{
"mcpServers": {
"datacloud": {
"command": "/usr/bin/python3",
"args": ["/Users/yourname/projects/datacloud-mcp-query/server.py"],
"env": {
"SF_CLIENT_ID": "3MVG9...",
"SF_CLIENT_SECRET": "ABC123..."
},
"disabled": false,
"autoApprove": ["describe_table", "list_tables"]
}
}
}
What to replace:
/usr/bin/python3→ Your Python path fromwhich python3/Users/yourname/projects/datacloud-mcp-query/server.py→ Your full path to server.py3MVG9...→ Your Connected App's Client IDABC123...→ Your Connected App's Client Secret
Optional environment variables (add to env if needed):
"SF_LOGIN_URL": "login.salesforce.com",
"SF_CALLBACK_URL": "http://localhost:55556/Callback"
Auto-Detection Logic
The server automatically detects which authentication method to use:
- If
SF_ORG_ALIASis set: Tries SF CLI authentication first- If SF CLI is available and authentication succeeds → Uses SF CLI
- If SF CLI fails → Falls back to OAuth (if configured)
- If
SF_CLIENT_IDandSF_CLIENT_SECRETare set: Uses OAuth PKCE authentication - If neither is configured: Shows error with setup instructions
Other Environment Variables
DEFAULT_LIST_TABLE_FILTER: Filter pattern for listing tables (default: '%'). You can use this to filter for example to known "curated" tables that all share the same prefix. You can use the SQL Like syntax to express the filters.
Complete Configuration Example
Here's a complete, working configuration example with SF CLI authentication:
{
"mcpServers": {
"datacloud": {
"command": "/usr/local/bin/python3",
"args": ["/Users/john/projects/datacloud-mcp-query/server.py"],
"env": {
"SF_ORG_ALIAS": "my-datacloud-org"
},
"disabled": false,
"autoApprove": ["describe_table", "list_tables"]
}
}
}
Troubleshooting
Problem: "Python not found" or "module not found" errors
- Make sure you're using the full absolute path to Python (not just
python3) - If using a virtual environment, use the venv's Python:
/path/to/venv/bin/python - Install the project dependencies against the same Python interpreter you configured in your Agent:
/path/to/python3 -m pip install -r requirements.txt - Test your paths first:
/usr/bin/python3 /path/to/server.py(should show MCP startup logs)
Problem: Server fails to start
- Check authentication is configured: Run
export SF_ORG_ALIAS=myorg && python server.pyto see error messages - For SF CLI: Verify with
sf org listthat your org is authenticated - For OAuth: Verify your Connected App credentials are correct
Problem: "No tools showing" in Cursor
- Click the refresh button in Cursor MCP settings
- Check Cursor logs for MCP server errors
- Verify the server can start manually:
python server.py
Available Tools
The server provides the following tools:
-
query: Execute SQL queries against Data Cloud
- Supports PostgreSQL dialect
- Returns query results in a structured format
-
list_tables: List all available tables in Data Cloud
- Filtered by
DEFAULT_LIST_TABLE_FILTERpattern
- Filtered by
-
describe_table: Get detailed information about a specific table
- Shows column names and structure
Authentication
The server supports two authentication methods:
SF CLI Authentication
- Uses your existing SF CLI authentication (
sf org login web) - Retrieves access tokens via
sf org displaycommand - Caches tokens for 5 minutes to reduce overhead
- No browser authentication required during MCP server operation
OAuth PKCE Authentication
- Implements OAuth2 flow with PKCE extension
- Automatically opens a browser window for authentication
- Handles token exchange and refresh
- Maintains session for subsequent queries
- Token expires after 110 minutes and is automatically refreshed
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。