AI集成服务

OpenRemote MCP Services (Ask-Marc) 是一个将AI功能完全集成到OpenRemote实例中的服务集合,包括MCP服务器和客户端API。

  • by Openremote-Combi-group
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Openremote-Combi-group/service-ask-marc

使用说明

OpenRemote MCP服务(咨询Marc)

一个包含将AI完全集成到OpenRemote实例中所需的2个服务的mono仓库。

快速入门指南

本指南假设您已经有一个OpenRemote实例在运行。

  1. 创建服务用户

    在OpenRemote实例中,创建一个新的服务用户(settings > users > SERVICE USERS > ADD USER)并赋予它你想要的权限。 MCP服务器将自动发现可用的工具。

    注意:服务用户必须拥有 read:services & write:services 角色。

  2. 设置docker服务 创建一个docker-compose.yml文件并配置服务。

    services:
      # Other OpenRemote services...
    
      mcp-server:
        image: openremote/mcp-server:latest
        restart: always
        depends_on:
          manager:
            condition: service_healthy
        ports:
          - "8420:8420"
        environment:
          OPENREMOTE_CLIENT_ID=<OPENREMOTE_CLIENT_ID>
          OPENREMOTE_CLIENT_SECRET=<OPENREMOTE_CLIENT_SECRET>
          OPENREMOTE_URL=<OPENREMOTE_URL>
          OPENREMOTE_VERIFY_SSL=1
    
      mcp-client-api:
        image: openremote/mcp-client-api:latest
        restart: always
        depends_on:
          manager:
            condition: service_healthy
          mcp-server:
            condition: service_started
        ports:
          - "8421:8421"
        volumes:
          - ./mcp_config.json:/app/mcp_config.json
        environment:      
          OPENREMOTE_CLIENT_ID=<OPENREMOTE_CLIENT_ID>
          OPENREMOTE_CLIENT_SECRET=<OPENREMOTE_CLIENT_SECRET>
          OPENREMOTE_URL=<OPENREMOTE_URL>
          OPENREMOTE_VERIFY_SSL=1
    
          # Fill one of the following keys or both!
          OPENAI_API_KEY=<OPENAI_API_KEY>
          ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY>
    
  3. 创建MCP配置

    创建一个新文件 mcp_config.json 与位于同一目录中 docker-compose.yml 文件。 添加您要使用的任何MCP配置。下面是一个将其连接到OpenRemote MCP服务器的快速示例。

    {
      "openremote": {
        "transport": "streamable_http",
        "url": "https://mcp-server:8420/mcp"
      }
    }
    
  4. 运行服务

    最后,您可以使用docker compose运行新服务。

    docker compose up
    

    这将运行其他服务,它们将自动注册到您的OpenRemote实例。您可以在OpenRemote仪表板内的服务选项卡中查看它们。

发展指南

本指南假设您已经有一个OpenRemote实例在运行。

  1. 创建服务用户

    在OpenRemote实例中,创建一个新的服务用户(settings > users > SERVICE USERS > ADD USER)并赋予它你想要的权限。 MCP服务器将自动发现可用的工具。

    注意:服务用户必须拥有 read:services & write:services 角色。

  2. 同步依赖关系

    uv sync
    
  3. 设置环境变量

    创建一个新文件 .env 在项目目录的根目录中。并填写以下变量,用您自己的值替换括号。

    OPENREMOTE_CLIENT_ID=<OPENREMOTE_CLIENT_ID>
    OPENREMOTE_CLIENT_SECRET=<OPENREMOTE_CLIENT_SECRET>
    OPENREMOTE_URL=<OPENREMOTE_URL>
    OPENREMOTE_VERIFY_SSL=1
    
    # Fill one of the following keys or both!
    OPENAI_API_KEY=
    ANTHROPIC_API_KEY=
    
  4. 创建MCP配置

    创建一个新文件 mcp_config.json 在项目的根目录中。 添加您要使用的任何MCP配置。下面是一个将其连接到OpenRemote MCP服务器的快速示例。

    {
      "openremote": {
        "transport": "streamable_http",
        "url": "http://localhost:8420/mcp"
      }
    }
    
  5. 设置UI

    进入 ui 目录并安装npm包。

    cd ui && npm install
    
  6. 运行服务

    MCP服务器:

    uv run --project mcp_server uvicorn src.services.mcp_server.app:app
    

    MCP-客户端-API:

    uv run --project mcp_client_api uvicorn src.services.mcp_client_api:app
    

    询问Marc UI:

    cd ui && npm run dev