feat(mcp): add upload_context_set and download_context_set tools - #178
Conversation
|
/gcbrun |
There was a problem hiding this comment.
Code Review
This pull request introduces a hand-rolled REST client, ContextStoreClient, along with new MCP tools (upload_context_set and download_context_set) to interact with the internal Context Store API. It also updates the Pydantic models to support camelCase validation for API compatibility and adds comprehensive unit tests. The review feedback highlights several robustness and idempotency improvements: checking if LROs are already completed before polling, handling 409 conflicts during group creation, ignoring 404 errors on group deletion, and ensuring parent directories are created before writing downloaded files to disk.
82e89e0 to
9e17726
Compare
helloeve
left a comment
There was a problem hiding this comment.
This change looks good to me. At the same time I wonder if we should hide the MCP tools at the moment given we have skills that instruct the user to manually upload the context
9e17726 to
60887b9
Compare
Good point. Removed the @mcp.tool annotation to hide the tools from agents. |
|
/gcbrun |
🤖 I have created a release *beep* *boop* --- ## [0.7.0](v0.6.0...v0.7.0) (2026-07-25) ### Features * Enable sheperding of users through context engineering workflow ([#168](#168)) ([3231e59](3231e59)) * golden dataset generation and expansion ([#187](#187)) ([694cc3c](694cc3c)) * **mcp:** add upload_context_set and download_context_set tools ([#178](#178)) ([b4f7b13](b4f7b13)) ### Bug Fixes * restore Best Practices heading in context-generation-guide ([#174](#174)) ([5d111e7](5d111e7)) ### Miscellaneous Chores * release 0.7.0 ([#198](#198)) ([350ec43](350ec43)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Summary
upload_context_setanddownload_context_set— for programmatic Context Store access, removing the manual "upload via GCP Database Studio" step from evaluation / hillclimb workflows.common/context_store_client.py) since the Context Store API has no public SDK yet — marked in comments as a stopgap to be replaced when the SDK ships.