mcp server supos

Local 2025-08-31 23:13:27 0

An MCP protocol server that provides access to supOS open APIs, allowing MCP-compatible clients to query topic tree structures and details.


本MCP服务器是基于 Model Context Protocol (MCP) 协议提供的 typescript-sdk 进行开发,可以让任何支持MCP协议的客户端使用它。

它提供了一系列supOS的open-api,例如:查询topic树结构,topic详情等。

supOS Server MCP server

支持的API

Tools

  1. get-model-topic-tree
  2. 查询topic 树结构菜单数据
  3. 输入:
    • key (string): Fuzzy search keyword for child nodes
    • showRec (boolean): Number of records to display
    • type (string): Search type: 1--Text search, 2--Tag search
  4. 返回: topic 树结构菜单数据

  5. get-model-topic-detail

  6. 获取某个topic详情
  7. 输入:
    • topic (string): The topic path corresponding to the model
  8. 返回: 某个topic详情
  9. get-topic-realtime-data
  10. 获取某个topic的实时数据
  11. 输入:
    • topic (string): The topic path corresponding to the model
  12. 返回: 某个topic实时数据
  13. get-all-topic-realtime-data
  14. 获取所有topic的实时数据并分析
  15. 返回: 所有topic实时数据

接下来跟随文档一起使用吧

开始使用

系统要求

  • Node.js

安装客户端

目前支持MCP协议的客户端已有很多,比如桌面端应用 Claude for Desktop,或者IDE的一些插件等(VSCodeCline 插件),想了解已支持的客户端可访问 Model Context Protocol Client

这里以 Claude for Desktop 为例。 - 下载 Claude for Desktop。 - 为 Claude for Desktop 配置所需的MCP 服务器。

    • 在文本编辑器中打开您的 Claude for Desktop 配置:~/Library/Application Support/Claude/claude_desktop_config.json
    • 也可以通过 File -> Setting -> Developer 点击 Edit Config 找到该配置文件位置: alt text alt text alt text
    • 打开配置文件后,添加以下内容到 claude_desktop_config.json中,并重启应用:
      注意:每次修改该配置文件后都需要重启应用才会生效。

    {
      "mcpServers": {
        "supos": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-server-supos"
          ],
          "env": {
            "SUPOS_API_KEY": "<API_KEY>",
            "SUPOS_API_URL": "<API_URL>",
            "SUPOS_MQTT_URL": "<MQTT_URL>"
          }
        }
      }
    }
    - - 其中 API_URL 是可访问的supOS社区版地址。API_KEY 可通过登录社区版后,进入 DataModeling -> 查看某个具体的topic详情 -> Data Operation -> Fetch,找到对应的ApiKey复制即可,MQTT_URL可通过访问 UNS -> MqttBroker -> Listeners 查看可订阅的地址。

注意:以上配置MCP服务器是借助 npx 拉取 mcp-server-supos npm包并在本地运行的方式给客户端提供服务。但 npxWindows 系统下读取环境变量 env 配置时可能会出错,因此可以采用下面方式解决:

本地运行服务

以下两种方式选择一种即可:

  • 本地安装 mcp-server-supos,并通过node运行

  • Install

    npm install mcp-server-supos -g

  • 找到安装的包路径,例如: "C://Users//<USER_NAME>//AppData//Roaming//npm//node_modules//mcp-server-supos//dist//index.js"

  • 修改 claude_desktop_config.json 的配置,并重启应用

    {
      "mcpServers": {
        "supos": {
          "command": "node",
          "args": [
            "C://Users//<USER_NAME>//AppData//Roaming//npm//node_modules//mcp-server-supos//dist//index.js"
          ],
          "env": {
            "SUPOS_API_KEY": "<API_KEY>",
            "SUPOS_API_URL": "<API_URL>",
            "SUPOS_MQTT_URL": "<MQTT_URL>"
          }
        }
      }
    }

  • 下载本仓库源码本地编译执行

  • 复制仓库:

    git clone https://github.com/FREEZONEX/mcp-server-supos.git

  • 安装依赖
    npm ci
  • 编译
    npm run build
  • 修改 claude_desktop_config.json 的配置,并重启应用
    {
      "mcpServers": {
        "supos": {
          "command": "node",
          "args": [
            "<本地项目地址>//dist//index.js"
          ],
          "env": {
            "SUPOS_API_KEY": "<API_KEY>",
            "SUPOS_API_URL": "<API_URL>",
            "SUPOS_MQTT_URL": "<MQTT_URL>"
          }
        }
      }
    }

结语

以上就是使用该服务的全部教程,配置成功后可在以下面板中看到对应的服务和工具等: alt text alt text alt text

最后的最后

supOS社区版 已集成 CopilotKit 作者开源的 open-mcp-client,并内置了 mcp-server-supos 服务,且支持ts版本的 agent,源码可访问 supOS-CE-McpClient

[
  {
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "key": {
          "description": "Fuzzy search keyword for child nodes",
          "type": "string"
        },
        "showRec": {
          "description": "Is show recommend topic",
          "type": "boolean"
        },
        "type": {
          "description": "Search type: 1--Text search, 2--Tag search",
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "get-model-topic-tree"
  },
  {
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "topic": {
          "type": "string"
        }
      },
      "required": [
        "topic"
      ],
      "type": "object"
    },
    "name": "get-model-topic-detail"
  }
]