Token导航 LogoToken导航

MCP Server · 开发工具

Keboola CLI MCP Server

Keboola CLI MCP服务器是一个确定性代理服务器,用于Keboola CLI操作,具有自动git-to-Keboola分支映射功能。

stdio官方级别未说明来源级核验工具 7
PythonClaude工作流自动化Cursor

快速开始

作者 / 组织
davidesner
提供方
davidesner

工具数量

7

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Keboola CLI MCP Server 属于开发工具类 MCP Server,公开资料标注 7 个工具,通过stdio 本地进程接入,适配 Claude、Cursor,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 7 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Kepoola CLI MCP服务器

充当Keoola CLI确定性代理的模型上下文协议(MCP)服务器(kbc)操作,具有自动git到Kepoola分支映射功能。

概述

此服务器通过在执行任何CLI命令之前强制执行分支解析,确保代理不会意外使用错误的Kepoola分支。它提供:

  • 确定性分支解析:始终以编程方式导出当前的git分支
  • 故障安全CLI代理:所有CLI命令都必须经过分支解析
  • 单一真相来源: branch-mapping.json 是权威映射文件
  • 项目验证:确保Kepoola项目正确初始化为 --allow-target-env

服务器模式

服务器支持两种模式:

CLI模式(默认)

提供用于运行的本地CLI工具 kbc 具有自动分支上下文的命令:

  • 分支管理(link_Branch、unlink_brance等)
  • kbc命令的CLI代理(同步推送、同步拉取等)
  • 文档搜索

代理模式

通过自动代理远程Kepoola MCP服务器 X-Branch-Id 集管注入:

  • 所有远程Keoola MCP工具 (SQL工作区、表操作、作业等)
  • 加上本地CLI工具 (分支管理、kbc命令)
  • 每个请求的动态分支解析 -切换git分支立即生效

启用: KBC_MCP_PROXY_MODE=true

┌─────────────────────────────────────────────────────────────────────┐
│                         Proxy Mode Flow                              │
│                                                                      │
│  1. Claude calls any tool (e.g., "sql_query")                       │
│                    │                                                 │
│                    ▼                                                 │
│  2. client_factory() called  ◄── PER REQUEST                        │
│       ├── git branch --show-current → "feature/billing"             │
│       ├── branch-mapping.json → "22750"                             │
│       └── Headers: X-StorageAPI-Token, X-Branch-Id: 22750           │
│                    │                                                 │
│                    ▼                                                 │
│  3. Request forwarded to remote Keboola MCP server                  │
│     https://mcp-agent.{stack}.keboola.com/mcp                       │
│                    │                                                 │
│                    ▼                                                 │
│  4. Response returned to Claude                                      │
└─────────────────────────────────────────────────────────────────────┘

先决条件

  1. Keboola命令行界面(kbc) 必须在PATH中安装并可用

- 从以下位置安装:https://developers.keboola.com/cli/

  1. Kepoola项目必须使用初始化 --allow-target-env
   kbc sync init --allow-target-env --storage-api-host connection..keboola.com

这面旗是 必需的 为了 KBC_BRANCH_ID 环境变量覆盖工作。

  1. Python 3.10+

安装

# Clone and install
git clone 
cd keboola-cli-mcp-server
pip install -e .

配置

环境变量

创建一个 .env.local Kepoola项目目录中的文件:

# Required - Keboola Storage API token
KBC_STORAGE_API_TOKEN=

# Required - Storage API host (without protocol, used to derive MCP server URL in proxy mode)
KBC_STORAGE_API_HOST=connection..keboola.com

# Optional - defaults shown
GIT_DEFAULT_BRANCH=main          # Default branch name (maps to production)
KBC_WORKING_DIR=.                # Working directory for CLI operations
KBC_MAPPING_FILE=branch-mapping.json  # Path to mapping file

# Proxy mode - enable to get remote Keboola MCP tools with branch injection
KBC_MCP_PROXY_MODE=false         # Set to "true" to enable proxy mode

MCP客户端设置

克劳德桌面

添加到您的 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "keboola-cli": {
      "command": "python",
      "args": ["-m", "keboola_cli_mcp_server"],
      "cwd": "/path/to/your/keboola-project",
      "env": {
        "KBC_STORAGE_API_TOKEN": "your-token-here"
      }
    }
  }
}
光标

添加到您的 .cursor/mcp.json 在您的项目中:

{
  "mcpServers": {
    "keboola-cli": {
      "command": "python",
      "args": ["-m", "keboola_cli_mcp_server"],
      "cwd": "${workspaceFolder}",
      "env": {
        "KBC_STORAGE_API_TOKEN": "your-token-here"
      }
    }
  }
}
克劳德代码(CLI)

添加到您的项目 .mcp.json:

{
  "mcpServers": {
    "keboola-cli": {
      "command": "python",
      "args": ["-m", "keboola_cli_mcp_server"],
      "env": {
        "KBC_STORAGE_API_TOKEN": "your-token-here",
        "KBC_STORAGE_API_HOST": "connection.keboola.com"
      }
    }
  }
}
代理模式配置

要启用代理模式(建议用于Kepoola MCP的完整功能):

{
  "mcpServers": {
    "keboola-unified": {
      "command": "python",
      "args": ["-m", "keboola_cli_mcp_server"],
      "env": {
        "KBC_STORAGE_API_TOKEN": "your-token-here",
        "KBC_STORAGE_API_HOST": "connection.keboola.com",
        "KBC_MCP_PROXY_MODE": "true"
      }
    }
  }
}

这使您可以访问:

  • 所有远程Kepoola MCP工具(SQL工作区、表操作等)
  • 本地CLI工具(分支管理、kbc命令)
  • 根据请求自动解析分支

可用工具

分行管理

工具说明
link_branch将当前的git分支链接到Kepoola开发分支。如果需要,创建新分支。
unlink_branch删除当前git分支的映射(不删除Kepoola分支)。
get_mapping获取当前git分支的映射状态。
list_mappings列出所有git到Kepoola的分支映射。

CLI代理

工具说明
kbc使用自动分支上下文执行任何允许的Kepoola CLI命令。

允许的命令:

  • sync push, sync pull, sync diff, sync init
  • remote job run, remote table preview/download/upload
  • remote create bucket, remote create branch, remote list branches
  • local validate, local create config, local encrypt
  • status

文档

工具说明
search_cli_docs在Kepoola CLI文档中搜索命令、标志和工作流。

用法示例

User: "Push my changes to Keboola"

Agent: [calls kbc(command="sync push")]
       ↓
Server: BranchResolver.branch_context()
        → git branch --show-current → "feature/auth"
        → lookup mapping → NOT FOUND
        → Return NO_MAPPING error
       ↓
Agent: "I need to link this branch first"
       [calls link_branch()]
       ↓
Server: → Creates Keboola branch via CLI
        → Saves mapping to branch-mapping.json
        → Returns success with branch ID
       ↓
Agent: "Now I can push"
       [calls kbc(command="sync push")]
       ↓
Server: → Resolves branch → "972851"
        → Sets KBC_BRANCH_ID=972851
        → Runs: kbc sync push
        → Returns success

错误处理

项目未初始化

{
  "error": "PROJECT_NOT_INITIALIZED",
  "message": "PROJECT_MISCONFIGURED: The project was not initialized with --allow-target-env flag.",
  "fix": "Run 'kbc sync init --allow-target-env' to initialize the project properly"
}

解决方案:使用以下命令重新初始化Kepoola项目:

kbc sync init --allow-target-env --storage-api-host connection..keboola.com

无映射

{
  "error": "NO_MAPPING",
  "message": "Git branch 'feature/new-thing' is not linked to any Keboola branch.",
  "git_branch": "feature/new-thing",
  "available_mappings": ["main", "feature/auth"]
}

解决方案:使用 link_branch 工具首先创建映射。

运行服务器

# Run via stdio transport (default)
python -m keboola_cli_mcp_server

# Or use the entry point
keboola-cli-mcp

发展

运行测试

pip install -e ".[dev]"
pytest tests/ -v

项目结构

keboola-cli-mcp-server/
├── pyproject.toml
├── README.md
├── src/
│   └── keboola_cli_mcp_server/
│       ├── __init__.py
│       ├── __main__.py              # Entry point
│       ├── server.py                # FastMCP server setup
│       ├── config.py                # Configuration management
│       ├── tools/
│       │   ├── branch.py            # Branch management tools
│       │   ├── cli_proxy.py         # Generic kbc CLI proxy
│       │   └── docs.py              # Documentation search
│       ├── services/
│       │   ├── git.py               # Git operations
│       │   ├── branch_mapping.py    # Mapping file management
│       │   ├── branch_resolver.py   # Core resolution logic
│       │   └── sapi_client.py       # Storage API client
│       └── models/
│           └── schemas.py           # Pydantic models
└── tests/
    ├── test_branch_resolver.py
    ├── test_cli_proxy.py
    └── test_branch_tools.py

分支映射文件

这 branch-mapping.json 文件存储git到Kepoola分支映射:

{
  "main": null,
  "feature/auth": "972851",
  "feature/data-pipeline": "983421"
}
  • 钥匙:git分支名称
  • 价值:Kepoola分支ID(字符串)或 null 用于生产
  • null 表示“使用生产分支,不设置KBC_BRANC_ID”

备注:此文件应添加到 .gitignore 因为映射可能因开发人员而异。

分支解析的工作原理

  1. Git分支检测:跑步 git branch --show-current 获取当前分支
  2. 映射查找:检查 branch-mapping.json 对于映射
  3. 默认分支处理: main/master 分支映射到生产(否 KBC_BRANCH_ID 以(权力)否决
  4. 环境设置:集合 KBC_BRANCH_ID 非生产分支机构
  5. CLI执行:跑步 kbc 在准备好的环境中指挥

这确保了当你打开时 feature/auth git分支映射到Keboola分支 972851,所有CLI操作都针对该特定开发分支。

许可证

麻省理工学院

工具与能力

工具数量

7

资源数量

0

提示词数量

0

能力标签

CLI代理Python本地部署分支管理开发工具Keboola集成自动化工作流

支持客户端

ClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 7 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Keboola CLI MCP Server

MCP World · 本页

7stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Keboola CLI MCP Server 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Keboola CLI MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Keboola CLI MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Keboola CLI MCP Server 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Keboola CLI MCP Server 支持哪些客户端?

公开资料标注支持 Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP