MCP Server by keboola
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 mcp add mcp-server-keboola -- uvx keboola_mcp_server --transport <transport>{
"mcpServers": {
"mcp-server-keboola": {
"command": "uvx",
"args": [
"keboola_mcp_server",
"--transport",
"<transport>"
]
}
}
}{
"mcpServers": {
"mcp-server-keboola": {
"command": "uvx",
"args": [
"keboola_mcp_server",
"--transport",
"<transport>"
]
}
}
}code --add-mcp '{"name":"mcp-server-keboola","command":"uvx","args":["keboola_mcp_server","--transport","<transport>"]}'What MCP Server can touch
- Our checks did not find this. The tool may still do it.Run shell commandsNot seen in this scan
- Our checks did not find this. The tool may still do it.Run dynamic codeNot seen in this scan
- Our checks did not find this. The tool may still do it.Read or write filesNot seen in this scan
- The server lists a tool that does this.Read environment and secretsListed as a tool: create_python_js_data_app_git_credential
- Our checks did not find this. The tool may still do it.Control a web browserNot seen in this scan
- The server lists a tool that does this.Connect to databasesListed as a tool: create_sql_transformation
- Our checks did not find this. The tool may still do it.Read or send messagesNot seen in this scan
- Our checks did not find this. The tool may still do it.Touch money or tradingNot seen in this scan
- Seen in this scan, either in the code or while it ran.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
- Pin the version you reviewed instead of always installing the latest release.
- 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_componentsRetrieves 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_configsRetrieves 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_examplesRetrieves 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_configCreates 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_configUpdates 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_rowCreates 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_rowUpdates 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_actionExecutes 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_transformationCreates 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_transformationUpdates 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_appCreates 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_appCreates 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_credentialMints 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_appsLists 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_appDeploys/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_draftDeletes 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_linkCreates 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_queryAnswers a question using the Keboola documentation as a source.
create_flowCreates 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_flowCreates 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_flowsLists 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_flowUpdates 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_flowUpdates 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_examplesRetrieves 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_schemaReturns 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_jobsRetrieves 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_jobStarts a new job for a given component or transformation.
get_merge_requestsLists 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_requestCreates 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_requestUpdates 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_reviewSends 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_requestApproves 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_changesSends 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_requestMerges 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_conflictsShows 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_conflictResolves 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_urlGenerates 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_infoRetrieves 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_descriptionUpdates the description of the current Keboola project.
get_accessible_projectsLists 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
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
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.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| MCP Server (this page) keboola | 85 | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| Github MCP Server github | 34k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| Fastapi MCP tadata-org | 12k | MIT | Nov 24, 2025 | Scanned, no flagged issues |
| GhidraMCP LaurieWired | 12k | Apache-2.0 | Oct 10, 2026 | Scanned, no flagged issues |
| MCP Go mark3labs | 9.2k | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| Git MCP idosal | 8.5k | Apache-2.0 | May 8, 2026 | Scanned, no flagged issues |