MCP Server by keboola

by keboola• 85•• Scanned•Claim this listing•Request removal
Otherdata platformetl pipelinekeboola platformmcpmcp server

Model Context Protocol (MCP) Server for the Keboola Platform

MCP Server is an open-source mcp server by keboola, written mainly in Python, with 85 GitHub stars and the MIT license. Its code was last updated Oct 30, 2026. The latest PyPI release is keboola_mcp_server 1.119.0, published Nov 10, 2026, with 1,152 downloads last week.

Scan summary: scanned Nov 5, 2026 at commit d56b7fb. Seen able to read environment and secrets, connect to databases, connect to the internet. Scan policy

How to install MCP Server

Built from the start command in the project's README: uvx keboola_mcp_server --transport <transport>. Check the README for required keys or settings.

Claude Code · Terminal
claude mcp add mcp-server-keboola -- uvx keboola_mcp_server --transport <transport>
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-keboola": {
      "command": "uvx",
      "args": [
        "keboola_mcp_server",
        "--transport",
        "<transport>"
      ]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-server-keboola": {
      "command": "uvx",
      "args": [
        "keboola_mcp_server",
        "--transport",
        "<transport>"
      ]
    }
  }
}
VS Code · Terminal
code --add-mcp '{"name":"mcp-server-keboola","command":"uvx","args":["keboola_mcp_server","--transport","<transport>"]}'

What MCP Server can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsListed as a tool: create_python_js_data_app_git_credential
  • Control a web browserNot seen in this scan
  • Connect to databasesListed as a tool: create_sql_transformation
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetContacted pypi.org

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit d56b7fb, Nov 5, 2026. See the scan policy.

Before you install MCP Server

AgenticMart scanned MCP Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.

Before you install

  1. Pin the version you reviewed instead of always installing the latest release.
  2. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by keboola on GitHub, 85 stars and 23 forks. Popularity is not proof of safety.
  • Last code change: Oct 30, 2026.
  • Open-source license: MIT.

Tools MCP Server exposes (56)

Listed by the server itself during our scan of commit d56b7fb.

  • get_components

    Retrieves detailed information about one or more components by their IDs. RETURNS FOR EACH COMPONENT: - Component metadata (name, type, description) - Documentation and usage instructions - Configuration JSON schema (required for creating/updating configurations) - Links to component dashboard in K

  • get_configs

    Retrieves component configurations in the project with optional filtering. Can list summaries of multiple configurations (grouped by component) or retrieve full details for specific configurations. Returns a list of components, each containing: - Component metadata (ID, name, type, description) -

  • get_config_examples

    Retrieves sample configuration examples for a specific component. USAGE: - Use before calling `create_config` or `add_config_row` to understand the expected parameters structure. - Use when you want to see example configurations for a specific component. EXAMPLES: - user_input: `Show me example co

  • create_config

    Creates a root component configuration using the specified name, component ID, configuration JSON, and description. Not for SQL transformations (`keboola.snowflake-transformation` / `keboola.google-bigquery-transformation`), data apps (`keboola.data-apps`) or flows — use the dedicated tools (see WHE

  • update_config

    Updates an existing root component configuration by modifying its parameters, storage mappings, name or description. Not for SQL transformations (`keboola.snowflake-transformation` / `keboola.google-bigquery-transformation`), data apps (`keboola.data-apps`) or flows — use the dedicated tools (see WH

  • add_config_row

    Creates a component configuration row in the specified configuration_id, using the specified name, component ID, configuration JSON, and description. BEFORE CALLING - REQUIRED STEPS: 1. Call `get_components([component_id])` to retrieve the component's `configuration_row_schema`. 2. Read `configurat

  • update_config_row

    Updates an existing component configuration row by modifying its parameters, storage mappings, name, or description. This tool allows PARTIAL parameter updates - you only need to provide the fields you want to change. All other fields will remain unchanged. Configuration rows are individual items w

  • run_sync_action

    Executes a synchronous action for a component configuration or a component row configuration. Effects depend on the component and action; execution can modify external resources. WHEN TO USE: - For finding available values of a configuration field - For validating already configured values (e.g. te

  • create_sql_transformation

    Creates an SQL transformation using the specified name, SQL query following the current SQL dialect, a detailed description, and a list of created table names. CONSIDERATIONS: - By default, SQL transformation must create at least one table to produce a result; omit only if the user explicitly ind

  • update_sql_transformation

    Updates an existing SQL transformation configuration by modifying its SQL code, storage mappings, name or description. This tool allows PARTIAL parameter updates for transformation SQL blocks and code - you only need to provide the operations you want to perform. All other fields will remain unchan

  • modify_streamlit_data_app

    Creates or updates a Streamlit data app. Python-js is the default type for new data apps when you can run git: create them with `modify_python_js_data_app` (python-js source code is delivered only by `git push`). Use this tool to create a new app when you cannot run git or when the user asks for St

  • modify_python_js_data_app

    Creates or updates a python-js data app. Python-js is the default type for new data apps when you can run git: this tool only creates the configuration and the repository, and you deliver the source code by `git push`. Use `modify_streamlit_data_app` instead when you cannot run git or when the user

  • create_python_js_data_app_git_credential

    Mints a one-time HTTPS token on a python-js **prod** data app so the caller can clone, pull, and push to the app's managed git repo over HTTPS. **Always call against the prod app's configuration_id** — drafts have no managed repo of their own, so calling this on a draft fails. The prod app is the c

  • get_data_apps

    Lists summaries of data apps in the project given the limit and offset or gets details of a data apps by providing their configuration IDs. WHEN NOT TO USE: - Do NOT list all data apps just to find one by name. Use `search` with item_types=["data-app"] instead. - Only list all data apps when you

  • deploy_data_app

    Deploys/redeploys a data app or stops a running data app in the Keboola environment asynchronously, given the action and the configuration ID. **MCP never runs git on your behalf.** All git work — clone, branch, commit, push, merge, branch-delete — is yours. This tool only triggers deploys against

  • delete_python_js_data_app_draft

    Deletes a python-js DRAFT data app — both the data-app instance (DSAPI) and its Storage configuration. **MCP never runs git on your behalf.** Deleting the feature branch on the remote is your job; this tool only tears down the draft config and its data-app instance. WHEN TO CALL: at the end of a p

  • get_data_app_preview_link

    Creates a short-lived link that opens a dev-mode data app in your browser without the app's login. Use it to see or test a python-js **draft** deployed with `deploy_data_app(action='deploy', mode='dev')`. - Only a python-js draft reaches dev mode: a Streamlit app has no managed git repo and its ima

  • docs_query

    Answers a question using the Keboola documentation as a source.

  • create_flow

    Creates a new legacy (non-conditional) flow using `keboola.orchestrator`. PRE-REQUISITES: - Always use `get_flow_schema` with flow_type="keboola.orchestrator" and review `get_flow_examples` if unknown - Collect component configuration IDs for every task you include (for data apps, their `data_app_i

  • create_conditional_flow

    Creates a new conditional flow configuration using `keboola.flow`. PRE-REQUISITES: - Always use `get_flow_schema` with flow_type="keboola.flow" and review `get_flow_examples` if unknown - Gather component configuration IDs for all tasks you include (for data apps, their `data_app_id`) RULES: - `ph

  • get_flows

    Lists flows or retrieves full details for specific flows. WHEN NOT TO USE: - Do NOT call with `flow_ids=[]` just to find a flow by name. Use `search` with item_types=["flow"] instead. - Only use `flow_ids=[]` when you need a complete list of all flows in the project. OPTIONS: - `flow_ids=[]` → s

  • update_flow

    Updates an existing flow configuration (either legacy `keboola.orchestrator` or conditional `keboola.flow`). PRE-REQUISITES: - Always use `get_flow_schema` (and `get_flow_examples`) for that flow type you want to update to follow the required structure and see the examples if unknown - Only pass `p

  • modify_flow

    Updates an existing flow configuration (either legacy `keboola.orchestrator` or conditional `keboola.flow`) or manages schedules for this flow. PRE-REQUISITES: - Always use `get_flow_schema` (and `get_flow_examples`) for that flow type you want to update to follow the required structure and see the

  • get_flow_examples

    Retrieves examples of valid flow configurations. PRE-REQUISITES: - Unknown examples for the target flow type: `keboola.flow` (conditional) or `keboola.orchestrator` (legacy) to help build the specific flow configuration by mirroring the structure/fields. RULES: - Conditional-flow examples require

  • get_flow_schema

    Returns the JSON schema for the given flow type (markdown). PRE-REQUISITES: - Unknown schema for the target flow type: `keboola.flow` (conditional) or `keboola.orchestrator` (legacy) RULES: - Projects without conditional flows enabled cannot request `keboola.flow` schema - Use the returned schema

  • get_jobs

    Retrieves job execution information from the Keboola project. CONTEXT: Jobs in Keboola are execution records of components (extractors, transformations, writers, flows). Each job represents a single run with its status, timing, configuration, and results. TWO MODES OF OPERATION (controlled by job_

  • run_job

    Starts a new job for a given component or transformation.

  • get_merge_requests

    Lists the project's merge requests, or returns the full detail of the given ones. A merge request promotes a development branch's configuration changes into production. Works from any session (production or branch). Without ids: summaries of all merge requests (title, state, who created it, review

  • create_merge_request

    Creates a merge request for the CURRENT development branch into production. Available only from a development-branch chat: the source branch is the chat's branch and the target is production — there are no branch parameters. On production, tell the user to open a chat on the development branch and

  • update_merge_request

    Updates a merge request's title, description, reviewers or auto-merge setting. Omitted fields are kept. Use it to disarm auto-merge (`auto_merge='none'`) or to change reviewers. Arming auto-merge (`'immediately'` / `'scheduled'`) makes the backend merge without a further confirmation — confirm with

  • request_merge_request_review

    Sends a merge request for review (author action). From a development-branch chat it works on that branch's merge request (merge_request_id optional); from a production chat pass merge_request_id. Rarely needed: merge_merge_request already skips the review when the project requires no approvals, so

  • approve_merge_request

    Approves a merge request as a reviewer. Valid only while the merge request is `in_review` (the backend rejects it otherwise) and never for its creator. Projects with the default of 0 required approvals never enter `in_review`, so this is needed only when the project requires approvals. Works from a

  • request_merge_request_changes

    Sends a merge request back to its author for changes (a reviewer's "reject"). The merge request returns to `development` and loses its approvals; it is NOT closed — the author fixes the branch and merges (or requests a review) again. Works from any session. Returns the merge request with its status

  • merge_merge_request

    Merges a merge request into production and waits for the merge to finish. From a development-branch chat it merges that branch's merge request (merge_request_id optional); from a production chat pass merge_request_id (use this route when Kai is unavailable on the branch because its merge request is

  • get_merge_request_conflicts

    Shows what blocks a merge request from merging: each conflicting configuration with its three-way diff and a per-path classification. From a development-branch chat it works on that branch's merge request (merge_request_id optional); from a production chat pass merge_request_id (use this route when

  • resolve_merge_request_conflict

    Resolves ONE conflicting configuration of a merge request by re-anchoring the branch configuration onto the current production version with the chosen content. From a development-branch chat it works on that branch's merge request (merge_request_id optional); from a production chat pass merge_reque

  • create_oauth_url

    Generates an OAuth authorization URL for a Keboola component configuration. When using this tool, be very concise in your response. Just guide the user to click the authorization link. Note that this tool should be called specifically for the OAuth-requiring components after their configuration is

  • get_project_info

    Retrieves structured information about the current project, including essential context and base instructions for working with it (e.g., transformations, components, workflows, and dependencies). Always call this tool at least once at the start of a conversation to establish the project context bef

  • update_project_description

    Updates the description of the current Keboola project.

  • get_accessible_projects

    Lists the Keboola projects the current login can access across the stack, each with its SQL dialect and organization. Only call this when a data tool call has actually failed asking you to confirm a project scope -- the session may already be pre-scoped (e.g. the user chose specific projects at `lo

Hosts it contacted while running

pypi.org

MCP Server is an open-source mcp server by keboola, written mainly in Python. Model Context Protocol (MCP) Server for the Keboola Platform

At a glance

Stars
85
Forks
23
Language
Python
License
MIT
Created
Jan 2025
Last update
Oct 30, 2026
Type
MCP Server
Price
Free

Topics

data-platformetl-pipelinekeboola-platformmcpmcp-servermodel-context-protocol

Questions about MCP Server

What is MCP Server?

Model Context Protocol (MCP) Server for the Keboola Platform

Who maintains MCP Server?

MCP Server is maintained by keboola on GitHub (keboola/mcp-server). AgenticMart lists it from public repository data.

Is MCP Server safe to use?

AgenticMart scanned MCP Server on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does MCP Server use?

It is published under the MIT license.

MCP Server alternatives

View more →

Similar mcp servers in Other, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
MCP Server (this page)
keboola
85MITOct 30, 2026Scanned, no flagged issues
Github MCP Server
github
34kMITOct 30, 2026Scanned, no flagged issues
Fastapi MCP
tadata-org
12kMITNov 24, 2025Scanned, no flagged issues
GhidraMCP
LaurieWired
12kApache-2.0Oct 10, 2026Scanned, no flagged issues
MCP Go
mark3labs
9.2kMITOct 30, 2026Scanned, no flagged issues
Git MCP
idosal
8.5kApache-2.0May 8, 2026Scanned, no flagged issues