Token导航 LogoToken导航TokenDH.com
效率external-serviceclawhub未标认证来源可访问clear审计提醒

byted-bytehouse-mcpbyted bytehouse MCP 工具

Agent Skill

byted-bytehouse-mcp 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,799

周安装

119

GitHub Stars

公开资料未说明

下载量

981
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:byted-bytehouse-mcp(byted bytehouse MCP 工具)
来源仓库:https://github.com/volcengine-skills/byted-bytehouse-mcp
安装命令:
openclaw skills install byted-bytehouse-mcp
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install byted-bytehouse-mcp

简介

用于连接 ByteHouse 数据库并执行数据查询与分析。

  • 支持通过 MCP 协议生成数据资产目录和血缘关系图谱。
  • 适用于大数据平台运维、数据治理和 ETL 流程优化。
  • 使用时需提供 ByteHouse 访问凭证并配置本地 MCP Server。
  • 安装前建议确认权限范围、维护状态及是否会触发联网或命令执行。

SKILL.md

name
byted-bytehouse-mcp
description
在本地拉起ByteHouse MCP Server并调用其tools的技能,用于连接ByteHouse数据库查询数据、使用MCP协议与ByteHouse交互、生成数据资产目录和血缘分析。当用户需要连接ByteHouse数据库查询数据、使用MCP协议与ByteHouse交互、生成数据资产目录和血缘分析时,使用此Skill。

ByteHouse MCP Server Skill

🔵 ByteHouse 品牌标识

「ByteHouse」—— 火山引擎云原生数据仓库,极速、稳定、安全、易用 本Skill基于ByteHouse官方MCP Server,提供完整的ByteHouse数据访问能力

描述

在本地拉起ByteHouse MCP Server并调用其tools的技能。

当以下情况时使用此 Skill: (1) 需要连接ByteHouse数据库查询数据 (2) 需要使用MCP协议与ByteHouse交互 (3) 用户提到"ByteHouse"、"MCP"、"查询数据库"、"看表" (4) 需要生成数据资产目录和血缘分析

📁 文件说明

  • SKILL.md - 本文件,技能主文档
  • mcp_client.py - MCP客户端模块,用于程序化调用MCP Server
  • test_mcp_server.py - MCP Server测试脚本
  • example_mcp_usage.py - MCP使用示例
  • query_top10_tables_mcp.py - 使用MCP查询Top 10大表
  • test_list_tables.py - 测试list_tables tool
  • data_asset_analyzer.py - 数据资产和血缘分析工具(新增)
  • start_mcp_service.sh - 启动常驻MCP Server服务
  • stop_mcp_service.sh - 停止MCP Server服务
  • status_mcp_service.sh - 查看MCP Server状态
  • restart_mcp_service.sh - 重启MCP Server服务

前置条件

  • Python 3.8+
  • uv (已安装在 /root/.local/bin/uv)
  • ByteHouse连接信息(需自行配置)

配置信息

ByteHouse连接配置

{
  "host": "<ByteHouse-host>",
  "port": "<ByteHouse-port>",
  "user": "<ByteHouse-user>",
  "password": "<ByteHouse-password>",
  "secure": true,
  "verify": true
}

环境变量

在使用前请设置以下环境变量:

export BYTEHOUSE_HOST="<ByteHouse-host>"
export BYTEHOUSE_PORT="<ByteHouse-port>"
export BYTEHOUSE_USER="<ByteHouse-user>"
export BYTEHOUSE_PASSWORD="<ByteHouse-password>"
export BYTEHOUSE_SECURE="true"
export BYTEHOUSE_VERIFY="true"
export BYTEHOUSE_CONNECT_TIMEOUT="30"
export BYTEHOUSE_SEND_RECEIVE_TIMEOUT="30"

🎯 ByteHouse MCP Server Tools

序号Tool名称功能描述
1list_databases列出所有数据库
2list_tables列出指定数据库中的所有表
3run_select_query运行SELECT查询
4run_dml_ddl_query运行DML/DDL查询
5get_bytehouse_table_engine_doc获取ByteHouse表引擎文档

🚀 快速开始

方法1: 测试MCP Server(推荐先测试)

cd /root/.openclaw/workspace/skills/bytehouse-mcp
# 先设置环境变量,然后运行
uv run test_mcp_server.py

这会:

  1. 自动安装ByteHouse MCP Server
  2. 启动MCP Server
  3. 列出所有可用的tools
  4. 尝试调用第一个tool

方法2: 列出数据库中的表

cd /root/.openclaw/workspace/skills/bytehouse-mcp
# 先设置环境变量,然后运行
uv run test_list_tables.py

方法3: 使用MCP查询Top 10大表

cd /root/.openclaw/workspace/skills/bytehouse-mcp
# 先设置环境变量,然后运行
uv run query_top10_tables_mcp.py

方法4: 生成数据资产和血缘分析(新增)

cd /root/.openclaw/workspace/skills/bytehouse-mcp
# 先设置环境变量,然后运行
uv run data_asset_analyzer.py

这会:

  1. 获取数据库的完整schema
  2. 生成数据资产目录
  3. 生成血缘分析报告
  4. 保存JSON文件到 output/ 目录

输出内容包括:

  • 数据库schema(所有表和字段)
  • 数据资产目录(表统计、标签、引擎分布)
  • 血缘分析(表关系、列相似性)

方法5: 启动常驻MCP Server服务

cd /root/.openclaw/workspace/skills/bytehouse-mcp
# 先在脚本中配置环境变量,然后运行
./start_mcp_service.sh

这会:

  1. 在后台启动MCP Server
  2. 保存PID到 mcp_server.pid
  3. 写入日志到 logs/mcp_server_*.log

方法6: 查看MCP Server状态

./status_mcp_service.sh

方法7: 停止MCP Server

./stop_mcp_service.sh

方法8: 重启MCP Server

./restart_mcp_service.sh

💻 数据资产和血缘分析(新增)

功能说明

data_asset_analyzer.py 提供以下功能:

  1. 完整Schema获取

- 获取指定数据库的所有表 - 获取每张表的所有字段 - 提取表引擎、注释等元数据

  1. 数据资产目录生成

- 表统计(总表数、总列数) - 引擎分布统计 - 自动标签生成 - 表资产详情

  1. 血缘分析

- 表关系识别(Distributed → Local) - 列相似性分析 - 关系可视化

使用示例

#!/usr/bin/env python3
# /// script
# dependencies = [
#   "mcp>=1.0.0",
# ]
# ///

import asyncio
from data_asset_analyzer import DataAssetAnalyzer

async def main():
    analyzer = DataAssetAnalyzer()
    await analyzer.connect()
    
    # 分析数据库
    result = await analyzer.analyze_database("default")
    
    # result 包含:
    # - schema: 完整的数据库schema
    # - catalog: 数据资产目录
    # - lineage: 血缘分析
    # - files: 生成的文件路径

asyncio.run(main())

输出文件

分析完成后会在 output/ 目录生成以下文件:

  1. schema_{database}_{timestamp}.json - 完整的数据库schema
  2. catalog_{database}_{timestamp}.json - 数据资产目录
  3. lineage_{database}_{timestamp}.json - 血缘分析报告

💻 程序化使用MCP Client

使用mcp_client.py模块

#!/usr/bin/env python3
# /// script
# dependencies = [
#   "mcp>=1.0.0",
# ]
# ///

import asyncio
from mcp_client import ByteHouseMCPClient

async def main():
    async with ByteHouseMCPClient() as client:
        await client.connect()
        
        # 1. 列出所有tools
        tools = await client.list_tools()
        print("可用的tools:", [t['name'] for t in tools])
        
        # 2. 调用tool
        # result = await client.call_tool("tool_name", {"param": "value"})
        # print(result)

asyncio.run(main())

直接使用MCP SDK

#!/usr/bin/env python3
# /// script
# dependencies = [
#   "mcp>=1.0.0",
# ]
# ///

import asyncio
import os
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    # 设置环境变量(请自行配置)
    env = os.environ.copy()
    env.update({
        'BYTEHOUSE_HOST': '<ByteHouse-host>',
        'BYTEHOUSE_PORT': '<ByteHouse-port>',
        'BYTEHOUSE_USER': '<ByteHouse-user>',
        'BYTEHOUSE_PASSWORD': '<ByteHouse-password>',
        'BYTEHOUSE_SECURE': 'true',
        'BYTEHOUSE_VERIFY': 'true',
    })
    
    # MCP Server参数
    server_params = StdioServerParameters(
        command='/root/.local/bin/uvx',
        args=[
            '--from',
            'git+https://github.com/volcengine/mcp-server@main#subdirectory=server/mcp_server_bytehouse',
            'mcp_bytehouse',
            '-t',
            'stdio'
        ],
        env=env
    )
    
    # 启动MCP Server并连接
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # 列出tools
            result = await session.list_tools()
            print("Tools:", [t.name for t in result.tools])
            
            # 调用tool
            # call_result = await session.call_tool("tool_name", {"param": "value"})

asyncio.run(main())

🔧 服务管理

启动服务

# 先配置环境变量,然后运行
./start_mcp_service.sh

查看状态

./status_mcp_service.sh

查看日志

# 查看最新日志
tail -f logs/mcp_server_*.log

# 查看特定日志文件
tail -f logs/mcp_server_20260312_184500.log

停止服务

./stop_mcp_service.sh

重启服务

./restart_mcp_service.sh

💻 使用MCP Tools示例

示例1: 列出所有数据库

import asyncio
import os
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    # 设置环境变量(请自行配置)
    env = os.environ.copy()
    env.update({
        'BYTEHOUSE_HOST': '<ByteHouse-host>',
        'BYTEHOUSE_PORT': '<ByteHouse-port>',
        'BYTEHOUSE_USER': '<ByteHouse-user>',
        'BYTEHOUSE_PASSWORD': '<ByteHouse-password>',
        'BYTEHOUSE_SECURE': 'true',
        'BYTEHOUSE_VERIFY': 'true',
    })
    
    server_params = StdioServerParameters(
        command='/root/.local/bin/uvx',
        args=[
            '--from',
            'git+https://github.com/volcengine/mcp-server@main#subdirectory=server/mcp_server_bytehouse',
            'mcp_bytehouse',
            '-t',
            'stdio'
        ],
        env=env
    )
    
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # 调用list_databases
            result = await session.call_tool("list_databases", {})
            for content in result.content:
                if content.type == 'text':
                    print(content.text)

asyncio.run(main())

示例2: 列出数据库中的表

# 调用list_tables
result = await session.call_tool("list_tables", {"database": "default"})

示例3: 运行SELECT查询

# 调用run_select_query
sql = "SELECT * FROM default.conversation_feedback LIMIT 10"
result = await session.call_tool("run_select_query", {"query": sql})

示例4: 查询Top 10大表

# 查询Top 10大表
sql = """
    SELECT 
        database,
        table,
        sum(bytes) as total_bytes,
        sum(rows) as total_rows
    FROM system.parts 
    WHERE active = 1
    GROUP BY database, table
    ORDER BY total_bytes DESC
    LIMIT 10
"""
result = await session.call_tool("run_select_query", {"query": sql})

*最后更新: 2026-03-12*

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.07%
按下载量换算746

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills