From 846f561dd1d8c60e7d553524434414228ef62245 Mon Sep 17 00:00:00 2001 From: mariankrotil Date: Thu, 17 Jul 2025 13:32:26 +0200 Subject: [PATCH] chore: update tools doc, project version and uv lock --- TOOLS.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- uv.lock | 22 ++++++++-------- 3 files changed, 80 insertions(+), 12 deletions(-) diff --git a/TOOLS.md b/TOOLS.md index 645a55ce..4b611313 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -54,6 +54,8 @@ filtering. ### Other Tools - [get_project_info](#get_project_info): Return structured project information pulled from multiple endpoints. +- [search](#search): Searches for Keboola items in the production branch of the current project whose names match the given prefixes, +potentially narrowed down by item type, limited and paginated. --- @@ -1506,3 +1508,69 @@ Return structured project information pulled from multiple endpoints. ``` --- + +## search +**Description**: + +Searches for Keboola items in the production branch of the current project whose names match the given prefixes, +potentially narrowed down by item type, limited and paginated. Results are ordered by relevance, then creation time. + +Considerations: +- The search is purely name-based, and an item is returned when its name or any word in the name starts with any + of the "name_prefixes" parameter. + + +**Input JSON Schema**: +```json +{ + "properties": { + "name_prefixes": { + "description": "Name prefixes to match against item names.", + "items": { + "type": "string" + }, + "title": "Name Prefixes", + "type": "array" + }, + "item_types": { + "default": [], + "description": "Optional list of keboola item types to filter by.", + "items": { + "enum": [ + "flow", + "bucket", + "table", + "transformation", + "configuration", + "configuration-row", + "workspace", + "shared-code", + "rows", + "state" + ], + "type": "string" + }, + "title": "Item Types", + "type": "array" + }, + "limit": { + "default": 50, + "description": "Maximum number of items to return (default: 50, max: 100).", + "title": "Limit", + "type": "integer" + }, + "offset": { + "default": 0, + "description": "Number of matching items to skip, pagination.", + "title": "Offset", + "type": "integer" + } + }, + "required": [ + "name_prefixes" + ], + "type": "object" +} +``` + +--- diff --git a/pyproject.toml b/pyproject.toml index 13fb6123..3cef9221 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "keboola-mcp-server" -version = "1.13.0" +version = "1.13.1" description = "MCP server for interacting with Keboola Connection" readme = "README.md" requires-python = ">=3.10" diff --git a/uv.lock b/uv.lock index e084e30a..ca5c477c 100644 --- a/uv.lock +++ b/uv.lock @@ -67,7 +67,7 @@ wheels = [ [[package]] name = "azure-storage-blob" -version = "12.25.1" +version = "12.26.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "azure-core" }, @@ -75,9 +75,9 @@ dependencies = [ { name = "isodate" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/f3/f764536c25cc3829d36857167f03933ce9aee2262293179075439f3cd3ad/azure_storage_blob-12.25.1.tar.gz", hash = "sha256:4f294ddc9bc47909ac66b8934bd26b50d2000278b10ad82cc109764fdc6e0e3b", size = 570541, upload-time = "2025-03-27T17:13:05.424Z" } +sdist = { url = "https://files.pythonhosted.org/packages/96/95/3e3414491ce45025a1cde107b6ae72bf72049e6021597c201cd6a3029b9a/azure_storage_blob-12.26.0.tar.gz", hash = "sha256:5dd7d7824224f7de00bfeb032753601c982655173061e242f13be6e26d78d71f", size = 583332, upload-time = "2025-07-16T21:34:07.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/57/33/085d9352d416e617993821b9d9488222fbb559bc15c3641d6cbd6d16d236/azure_storage_blob-12.25.1-py3-none-any.whl", hash = "sha256:1f337aab12e918ec3f1b638baada97550673911c4ceed892acc8e4e891b74167", size = 406990, upload-time = "2025-03-27T17:13:06.879Z" }, + { url = "https://files.pythonhosted.org/packages/5b/64/63dbfdd83b31200ac58820a7951ddfdeed1fbee9285b0f3eae12d1357155/azure_storage_blob-12.26.0-py3-none-any.whl", hash = "sha256:8c5631b8b22b4f53ec5fff2f3bededf34cfef111e2af613ad42c9e6de00a77fe", size = 412907, upload-time = "2025-07-16T21:34:09.367Z" }, ] [[package]] @@ -116,30 +116,30 @@ wheels = [ [[package]] name = "boto3" -version = "1.39.4" +version = "1.39.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, { name = "jmespath" }, { name = "s3transfer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6a/1f/b7510dcd26eb14735d6f4b2904e219b825660425a0cf0b6f35b84c7249b0/boto3-1.39.4.tar.gz", hash = "sha256:6c955729a1d70181bc8368e02a7d3f350884290def63815ebca8408ee6d47571", size = 111829, upload-time = "2025-07-09T19:23:01.512Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/43/81ae62386917fa163f1d3bc59e77da56924f9824b5100fd2807e74a675fc/boto3-1.39.7.tar.gz", hash = "sha256:28daeb005e3381808e0e12995056ee8951056ddd43506c07482a15b40ae785b0", size = 111820, upload-time = "2025-07-16T16:29:52.858Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/5c/93292e4d8c809950c13950b3168e0eabdac828629c21047959251ad3f28c/boto3-1.39.4-py3-none-any.whl", hash = "sha256:f8e9534b429121aa5c5b7c685c6a94dd33edf14f87926e9a182d5b50220ba284", size = 139908, upload-time = "2025-07-09T19:22:59.808Z" }, + { url = "https://files.pythonhosted.org/packages/cc/60/1d2d708f5bc125fe6fe262ea767c82020ea6deeda113e989cff5ab89a9f9/boto3-1.39.7-py3-none-any.whl", hash = "sha256:c8c0e11fff7bb85f903b860b6bfd4f509a4d749decf38bb6a409ffe5d6eb0c91", size = 139882, upload-time = "2025-07-16T16:29:51.176Z" }, ] [[package]] name = "botocore" -version = "1.39.4" +version = "1.39.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/9f/21c823ea2fae3fa5a6c9e8caaa1f858acd55018e6d317505a4f14c5bb999/botocore-1.39.4.tar.gz", hash = "sha256:e662ac35c681f7942a93f2ec7b4cde8f8b56dd399da47a79fa3e370338521a56", size = 14136116, upload-time = "2025-07-09T19:22:49.811Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/9d/73f300c841a3c47d2baf4bf6ecb9d6de476edf91de8c3c26ceed5044e666/botocore-1.39.7.tar.gz", hash = "sha256:431e342ef97ecb387cea9df1ae8c4e0edc1b0c9c50d2e121cca77699f24f8dc1", size = 14201331, upload-time = "2025-07-16T16:29:43.011Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/44/f120319e0a9afface645e99f300175b9b308e4724cb400b32e1bd6eb3060/botocore-1.39.4-py3-none-any.whl", hash = "sha256:c41e167ce01cfd1973c3fa9856ef5244a51ddf9c82cb131120d8617913b6812a", size = 13795516, upload-time = "2025-07-09T19:22:44.446Z" }, + { url = "https://files.pythonhosted.org/packages/30/20/ab70de7441cbc4b8ffc5d6d9a8e02e4c703cc07accb7441ce54020e20950/botocore-1.39.7-py3-none-any.whl", hash = "sha256:1d11ba9f3cb46856bb541ed010db160093201a224d21ef854249513ae3af7e77", size = 13864168, upload-time = "2025-07-16T16:29:37.114Z" }, ] [[package]] @@ -430,7 +430,7 @@ version = "3.22.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, - { name = "docstring-parser", marker = "python_full_version < '4.0'" }, + { name = "docstring-parser", marker = "python_full_version < '4'" }, { name = "rich" }, { name = "rich-rst" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, @@ -902,7 +902,7 @@ wheels = [ [[package]] name = "keboola-mcp-server" -version = "1.12.1" +version = "1.13.1" source = { editable = "." } dependencies = [ { name = "fastmcp" },