Salesforce数据自然语言查询桥接器

通过Model Context Protocol (MCP)连接OpenAI的函数调用与Salesforce Data 360,使用自然语言查询数据。

  • by josers18
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 josers18/Salesforce-Data-360-MCP

使用说明

Salesforce Data 360的MCP OpenAI桥

通过模型上下文协议(MCP)将OpenAI的函数调用与Salesforce Data 360连接起来的桥梁。使用自然语言查询您的数据360!

🌟 特性

  • 🤖 自然语言查询 -用简单的英语询问有关数据的问题
  • 🔌 MCP集成 -无缝连接到任何兼容MCP的服务器
  • ⚡ OpenAI函数调用 -利用GPT-4的先进推理
  • 🛠️ 两个接口 -CLI和Streamlit web UI
  • 📊 Salesforce数据360 -与Data 360查询直接集成

🚀 快速开始

先决条件

  • Python 3.11或更高版本
  • OpenAI API密钥
  • Salesforce Data 360凭据(客户端ID和密码)
  • MCP服务器(例如。, 数据云mcp查询)

安装

# 1. Clone the repository
git clone https://github.com/yourusername/mcp-openai-bridge.git
cd mcp-openai-bridge

# 2. Install dependencies
pip install -r requirements.txt

# 3. Set environment variables
export OPENAI_API_KEY="sk-your-openai-key"
export SF_CLIENT_ID="your-salesforce-client-id"
export SF_CLIENT_SECRET="your-salesforce-client-secret"
export SERVER_PATH="/path/to/your/mcp-server/server.py"
export PYTHON_PATH="/usr/local/bin/python3"  # Optional, adjust to your Python path

💻 用法

CLI接口

非常适合快速查询和自动化:

python interactive_chat.py

示例会话:

🚀 MCP-OpenAI Interactive Chat
============================================================
🔌 Connecting to MCP server...
✅ Connected! Found 3 tools

💬 You: What tables are available in my Data 360?

🤖 Assistant: I found the following tables:
- Customer__dlm
- Orders__dlm  
- Products__dlm

💬 You: Show me the top 5 customers by revenue

🤖 Assistant: Here are your top 5 customers by revenue:
1. Acme Corp - $1.2M
2. TechStart Inc - $980K
...

流线型Web UI

用于演示和探索的漂亮界面:

streamlit run streamlit_app.py

然后打开http://localhost:8501在您的浏览器中。

特征:

  • 💬 基于聊天的界面
  • 🔑 侧边栏中的凭证管理
  • ⚡ 快速操作按钮
  • 🎨 干净、现代的设计

📖 文档

🎯 查询示例

连接后,尝试询问:

  • “我有什么桌子?”
  • “描述客户表”
  • “按订单数显示前10名客户”
  • “过去30天的总收入是多少?”
  • “查找90天内未订购的客户”

🏗️ 建筑

User Input → OpenAI GPT-4 → MCP Bridge → MCP Server → Salesforce Data 360

桥:

  1. 通过OpenAI将自然语言转换为工具调用
  2. 通过MCP协议执行查询
  3. 返回格式化结果

🔧 配置

环境变量

创建一个 .env 文件(或在shell中设置):

# Required
OPENAI_API_KEY=sk-your-openai-api-key
SF_CLIENT_ID=your-salesforce-client-id
SF_CLIENT_SECRET=your-salesforce-client-secret
SERVER_PATH=/path/to/mcp-server/server.py

# Optional
PYTHON_PATH=/usr/local/bin/python3
OPENAI_MODEL=gpt-4o

Python库用法

您还可以在自己的Python脚本中使用该桥:

import asyncio
from mcp_openai_bridge import MCPOpenAIBridge

async def main():
    bridge = MCPOpenAIBridge(
        openai_api_key="sk-your-key",
        mcp_command="python3",
        mcp_args=["/path/to/server.py"],
        mcp_env={
            "SF_CLIENT_ID": "your-id",
            "SF_CLIENT_SECRET": "your-secret"
        }
    )
    
    await bridge.connect()
    response = await bridge.chat("What tables do I have?")
    print(response)
    await bridge.close()

asyncio.run(main())

🐛 故障排除

“ModuleNotFoundError:没有名为'mcp'的模块”

pip install -r requirements.txt

“连接到MCP服务器失败”

  1. 验证MCP服务器是否已安装且可访问
  2. 检查 SERVER_PATH 指向正确的文件
  3. 确保Salesforce凭据有效
  4. 直接测试MCP服务器: python /path/to/server.py

更多帮助

看 docs/TROUBLESHOOTING.md 详细的解决方案。

🤝 贡献

欢迎投稿!请看 贡献.md 作为指导方针。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 了解详情。

🙏 致谢

📞 支持


⭐ 如果你觉得这个项目有用,请在GitHub上加星!

由以下材料制成❤️ Salesforce和AI社区