Repository navigation
feat(operations): add shared API tools and Deployer support - #194
pmasiphelps wants to merge 6 commits into
Conversation
a14ad08 to
61c2f06
Compare
61c2f06 to
d478a2e
Compare
5cd24e0 to
87b53c7
Compare
d478a2e to
cb1fd87
Compare
87b53c7 to
5c40b14
Compare
yjouini
left a comment
There was a problem hiding this comment.
One change requested: Reject URL delimiters in operation identifiers — PathSegment accepts ? and #, but the Deployer/Govern SDKs interpolate identifiers into URLs without escaping them. Confirmed live: artifact_id="#suffix" deleted , while the tool reported the supplied identifier. IDs can also inject query parameters alongside explicit operation arguments.
|
Hey @pmasiphelps, I pushed 5 commits which are a bit drastic in terms of code structure, so feel free to revert if you don't like them. The biggest one is the first (b2cf2ec), the idea here is that we now have three distinct part to the dataiku_mcp codebase: tools (i.e. things that are actually @mcp decorated), shared utils, and operations (the catalog and associated dataikuapi plumbing). Before introducing the concepts of operations, the tools and the plumbing where there same concept, but now that they are dissociated I think they deserve their own structures. The other commits are a bit lighter: simplification, explicit declaration of operation IDs and handler(function) names, removing pagination on the get_operations, and cleanup of the main headless skill (which will need more work as we progress with the operations architecture, but for now it's ok). Happy to revert anything you don't like, lmk. |
Deployer profiles currently expose only connection controls. This introduces the shared operation framework and 13 Project/API Deployer actions through four fixed MCP tools:
search_operations,describe_operation,run_read_operationandrun_write_operation.Stacks on #179. This is the first of three reviewable layers; Govern follows in #174, then Agent Management in #196. Merge in stack order, rebasing and retargeting each child to
release/0.9.0after its parent merges.Scope
The MCP surface grows from 131 to 135 tools. No Govern or Agent Management adapter is imported or registered here.
Validation
uv sync --lockeduv run pre-commit run --all-files --show-diff-on-failureuv run pytest: 861 passed on Python 3.14, with dataiku-api-client 14.7.2uv build; isolated installed-wheel smoke: 135 tools and 13 operationsAutomated tests use fakes rather than live instances. Full GitHub CI runs when the PR targets main/release branches; this draft currently targets #179's feature branch.