返回市场
多莫-MCP服务器

多莫-MCP服务器

作者:DomoApps5 星标更新:2025-05-15

项目介绍

Domo MCP Server

这是一个连接到Domo API的模型上下文协议(MCP)服务器。

工具

  • 在Domo数据集中运行SQL查询
  • 按名称搜索数据集
  • 获取Domo数据集的元数据
  • 获取Domo数据集的模式

预备条件

  • Python 3.11+ 或 Docker
  • Visual Studio Code
  • 具有以下权限的Domo实例:
    • 开发者访问令牌
    • 查询数据集的访问权限

设置

本地Python设置

  1. 克隆此仓库
  2. 导航到克隆的目录
  3. 安装所需包:
    pip install -r requirements.txt
    
  4. 将配置添加到VS Code设置中:
    {
      "name": "Domo MCP Server",
      "type": "stdio",
      "command": "python",
      "args": ["-m", "domo_mcp"],
      "env": {
        "PYTHONPATH": "${workspaceFolder}",
        "DOMO_DEVELOPER_TOKEN": "<your_domo_developer_token>",
        "DOMO_HOST": "<instance-name.domo.com>"
      }
    }
    
  5. 确保服务器正在运行

本地Docker设置

  1. 克隆此仓库
  2. 导航到克隆的目录
  3. 构建Docker镜像:
     docker build -t domo-mcp-server .
    
  4. 将配置添加到VS Code设置中:
       "domo-mcp": {
         "command": "docker",
         "args": [
           "run",
           "-i",
           "-e",
           "DOMO_DEVELOPER_TOKEN",
           "-e",
           "DOMO_HOST",
           "domo-mcp-server"
         ],
         "env": {
           "DOMO_DEVELOPER_TOKEN": "<domo_developer_token>",
           "DOMO_HOST": "<instance-name.domo.com>"
         }
       }
    

获取Domo开发者令牌

遵循这些步骤生成访问令牌。

运行服务器

启动MCP服务器:

python domo.py

你可以通过运行以下命令使用检查器测试MCP服务器:

npx @modelcontextprotocol/inspector python3 domo.py

可用的MCP工具

以下MCP工具可用:

  1. get_dataset_metadata(dataset_id: str) - 获取数据集的元数据
  2. get_dataset_schema(dataset_id: str) - 获取数据集的模式
  3. query_dataset(dataset_id: str, query: str) - 使用SQL查询数据集
  4. search_datasets(query: str) - 按名称搜索数据集以获取其ID
  5. list_roles() - 列出Domo实例中的所有角色
  6. create_role(name: str, from_role_id: int, description: Optional[str]) - 在Domo实例中创建新角色
  7. list_role_authorities(role_id: int) - 列出Domo实例中特定角色的权限

示例使用与LLMs

当与支持MCP协议的LLMs一起使用时,此服务器可以实现与您的Domo环境的自然语言交互:

  • "我的示例销售数据集中有多少订单具有关键优先级?"
  • "谁拥有客户发票数据集?"
  • "显示我活动日志数据集中的最后3小时的日志。"

故障排除

连接问题

  • 确保您的Domo主机地址正确且不包含https://前缀
  • 验证您的个人访问令牌具有必要的权限且未过期
  • 运行包含的测试脚本:python test_connection.py

安全注意事项

  • 您的Domo开发者令牌提供了对您实例的直接访问
  • 保护您的.env文件,切勿将其提交到版本控制系统
  • 在安全环境中运行此服务器