Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 18 additions & 5 deletions TOOLS.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@ including essential context and base instructions for working with it
- [search](#search): Searches for Keboola items (tables, buckets, configurations, transformations, flows, etc.

### Storage Tools
- [get_buckets](#get_buckets): Lists buckets or retrieves full details of specific buckets.
- [get_buckets](#get_buckets): Lists buckets or retrieves full details of specific buckets, including metadata-derived descriptions,
lineage references (created/updated by), and links.
- [get_tables](#get_tables): Lists tables in buckets or retrieves full details of specific tables, including fully qualified database name,
column definitions, and metadata.
column definitions, metadata, and references to components that created or updated the table.
- [update_descriptions](#update_descriptions): Updates the description for a Keboola storage item.

---
Expand Down Expand Up @@ -2558,7 +2559,8 @@ DATA VALIDATION:

**Description**:

Lists buckets or retrieves full details of specific buckets.
Lists buckets or retrieves full details of specific buckets, including metadata-derived descriptions,
lineage references (created/updated by), and links.

EXAMPLES:
- `bucket_ids=[]` → summaries of all buckets in the project
Expand Down Expand Up @@ -2592,7 +2594,14 @@ EXAMPLES:
**Description**:

Lists tables in buckets or retrieves full details of specific tables, including fully qualified database name,
column definitions, and metadata.
column definitions, metadata, and references to components that created or updated the table.
Optionally, usage component reference for each table can be included when getting full details, acting like a
lineage, including storage input mappings and output mappings that reference the table.

IMPORTANT:
- `include_usage` can be computationally demanding; use it only when clearly needed from context.
It is still more efficient than running separate usage searches with the current tools.
- including usage

RETURNS:
- With `bucket_ids`: Summaries of tables (ID, name, description, primary key).
Expand All @@ -2609,7 +2618,6 @@ COLUMN DATA TYPES:
EXAMPLES:
- `bucket_ids=["id1", ...]` → summary info of the tables in the buckets with the specified IDs
- `table_ids=["id1", ...]` → detailed info of the tables specified by their IDs
- `bucket_ids=[]` and `table_ids=[]` → empty list; you have to specify at least one filter


**Input JSON Schema**:
Expand All @@ -2631,6 +2639,11 @@ EXAMPLES:
"type": "string"
},
"type": "array"
},
"include_usage": {
"default": false,
"description": "Whether to include component / transformation usage information lineage.",
"type": "boolean"
}
},
"type": "object"
Expand Down
2 changes: 1 addition & 1 deletion integtests/tools/test_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from fastmcp import Client

from integtests.conftest import BucketDef, ConfigDef, TableDef
from keboola_mcp_server.tools.search import SearchHit, SuggestedComponentOutput
from keboola_mcp_server.tools.search.tools import SearchHit, SuggestedComponentOutput

LOG = logging.getLogger(__name__)

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "keboola-mcp-server"
version = "1.36.5"
version = "1.37.0"
description = "MCP server for interacting with Keboola Connection"
readme = "README.md"
requires-python = ">=3.10"
Expand Down
8 changes: 8 additions & 0 deletions src/keboola_mcp_server/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,14 @@ class MetadataField:
# Branch filtering works only for "fake development branches"
FAKE_DEVELOPMENT_BRANCH = 'KBC.createdBy.branch.id'

# Component lineage metadata for created/updated configuration sources
CREATED_BY_COMPONENT_ID = 'KBC.createdBy.component.id'
CREATED_BY_CONFIGURATION_ID = 'KBC.createdBy.configuration.id'
CREATED_BY_CONFIGURATION_ROW_ID = 'KBC.createdBy.configurationRow.id'
UPDATED_BY_COMPONENT_ID = 'KBC.lastUpdatedBy.component.id'
UPDATED_BY_CONFIGURATION_ID = 'KBC.lastUpdatedBy.configuration.id'
UPDATED_BY_CONFIGURATION_ROW_ID = 'KBC.lastUpdatedBy.configurationRow.id'

# Data type metadata fields
DATATYPE_TYPE = 'KBC.datatype.type'
DATATYPE_NULLABLE = 'KBC.datatype.nullable'
Expand Down
2 changes: 1 addition & 1 deletion src/keboola_mcp_server/generate_tool_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from keboola_mcp_server.tools.jobs import JOB_TOOLS_TAG
from keboola_mcp_server.tools.oauth import OAUTH_TOOLS_TAG
from keboola_mcp_server.tools.project import PROJECT_TOOLS_TAG
from keboola_mcp_server.tools.search import SEARCH_TOOLS_TAG
from keboola_mcp_server.tools.search.tools import SEARCH_TOOLS_TAG
from keboola_mcp_server.tools.sql import SQL_TOOLS_TAG
from keboola_mcp_server.tools.storage import STORAGE_TOOLS_TAG

Expand Down
2 changes: 1 addition & 1 deletion src/keboola_mcp_server/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
from keboola_mcp_server.tools.jobs import add_job_tools
from keboola_mcp_server.tools.oauth import add_oauth_tools
from keboola_mcp_server.tools.project import add_project_tools
from keboola_mcp_server.tools.search import add_search_tools
from keboola_mcp_server.tools.search.tools import add_search_tools
from keboola_mcp_server.tools.sql import add_sql_tools
from keboola_mcp_server.tools.storage import add_storage_tools

Expand Down
Empty file.
Loading
Loading