# Changelog ## [1.4.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v1.3.0...toolbox-core-v1.4.0) (2026-09-01) ### Features * **core:** client tool and toolset loading with secure parameters ([0d1358e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/0d1358ef3b1e9e14876ca9a6a43b7023637e710d)) * **core:** protocol and wire transport support for secure parameters ([a184f91](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/a184f91a7c7128421dbf629d4d5e6d21054260fb)) * **core:** tool-level secure parameter binding, fast-fail and validation ([2bb1ab1](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2bb1ab17a5e81428120d6e9ba8a3d434220ee718)) ### Bug Fixes * **core:** clean up draft protocol alias and remove hardcoded server version fallback ([#773](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/773)) ([7598805](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/7598805f1df91edd2fdcb9bbc7c874b8c03f3939)) * **core:** strict 1:1 vendor prefix reading based on protocol version ([#747](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/747)) ([6d2f61d](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6d2f61d0147f4199fd3fca224b4ee3fbfefb4957)) ## [1.3.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v1.2.0...toolbox-core-v1.3.0) (2026-07-28) ### Features * **core:** preserve query parameters in connection URLs for toolset binding ([#717](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/717)) ([e439ad5](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/e439ad5243ff1ae579492ca3ae040bc1797de81b)) * **core:** promote MCP draft protocol to official 2026-07-28 version ([#731](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/731)) ([88cc795](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/88cc7959d9c7ebc1d92dedeae90e56fb10d2a943)) * **core:** support multi-step cascading fallback loop in client ([#722](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/722)) ([3e18b88](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/3e18b88f845fef1bd12616732345465edf8884ba)) * **core:** support response _meta serverInfo and resultType in draft protocol ([#730](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/730)) ([c6e88df](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/c6e88dfd4147e162f7469f995a87ca07ae3535a8)) ### Documentation * **core:** remove outdated protocol negotiation link from README ([#724](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/724)) ([edc6060](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/edc6060a7a7ea9096f8a5e9c10f69086fa540f8b)) ## [1.2.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v1.1.0...toolbox-core-v1.2.0) (2026-07-09) ### Features * add support for stateless MCP 2026 draft and protocol negotiation fallback ([#699](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/699)) ([68263e1](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/68263e138e37125249584ca410f1c1bcf562602a)) ### Bug Fixes * **core:** add 'number' schema type mapping to fix float parameter loading ([#667](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/667)) ([0e8d2da](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/0e8d2dac9bfcef6f858ceeb04fa6ebe21a7fc506)) * **core:** cache Google ID tokens per audience to prevent cross-audience token reuse ([#675](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/675)) ([91b5bb9](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/91b5bb9081ab6b34d9678082a82205756c6f298f)) ## [1.1.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v1.0.0...toolbox-core-v1.1.0) (2026-05-18) ### Features * **core:** enable telemetry_attribute for SQLCommenter ([#634](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/634)) ([323f60e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/323f60efc9e290428d2aa64691d2570cca00a9f1)) ### Documentation * Consolidate and improve `DEVELOPER.md` and `CONTRIBUTING.md` ([#636](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/636)) ([7d08938](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/7d0893801668fc122a62da4cb9979e85db4cd598)) * migrate documentation links to mcp-toolbox.dev ([#624](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/624)) ([bfb1b02](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/bfb1b02377cf98010abbaf641eca04629a796694)) * rebrand references for repo and docsite ([#635](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/635)) ([95b484b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/95b484bef3d1390110f129fd6eb5c0f96dde838c)) ## [1.0.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.6.0...toolbox-core-v1.0.0) (2026-03-25) ### Features * **adk:** Support `ToolContext` for `auth_token_getters` in `toolbox-adk` ([#579](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/579)) ([05e5f2c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/05e5f2cba0a123c14594508eeee6bd228274b138)) * **core:** add observability with OpenTelemetry ([#583](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/583)) ([d479385](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d479385cccf31a7cb1dffcc4634ddb6fe7ef932a)) ### Bug Fixes * **core:** resolve dropped default parameter values in MCP transport parsing ([#601](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/601)) ([08c4af4](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/08c4af4217feab19fdf8cb4fb328d1bb5e10a4e3)) * improve tool docstrings ([#593](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/593)) ([90a2b33](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/90a2b33937f396eb554e222762e7732829f7f1c1)) ### Documentation * Documentation migrated to the MCP Toolbox official docsite ([#581](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/581)) ([da12899](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/da1289944d8d401c0d2b958ae47da42da729848e)) ## [0.6.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.10...toolbox-core-v0.6.0) (2026-03-03) ### ⚠ BREAKING CHANGES * remove legacy Native Toolbox HTTP transport ([#566](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/566)) ### Features * remove legacy Native Toolbox HTTP transport ([#566](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/566)) ([6a55554](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6a55554a1c53030fd25b6a6de44ea9603b5201a3)) ## [0.5.10](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.9...toolbox-core-v0.5.10) (2026-02-26) ### Bug Fixes * **core:** Recursive schema parsing for array items with MCP transport ([#561](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/561)) ([09eb555](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/09eb5554cf265a608e55b559b185b686c88c34aa)) ### Miscellaneous Chores * **deps:** update dependency isort to v8 ([#562](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/562)) ([985cff3](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/985cff3a519408619aa104c616eb30bbd225f595)) * updated gemini models in docs ([#556](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/556)) ([03dc7e6](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/03dc7e6226abe935f634c720519850af9a2a019f)) ## [0.5.9](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.8...toolbox-core-v0.5.9) (2026-02-16) ### Features * Deprecate Protocol.TOOLBOX (Native HTTP Protocol) ([#547](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/547)) ([b99ec50](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/b99ec503bb5d85e6bdf84f72343d90ac00ab8d88)) * Enable package-specific client identification for MCP ([#525](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/525)) ([7ac0d3f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/7ac0d3f167af1e47c26a3f43bdb48f3fc0a92109)) * Introduce warning when headers are sent over insecure HTTP connections ([#544](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/544)) ([832d4e7](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/832d4e7d035ee72fd1932bae830468f20cb80ed7)) ### Bug Fixes * parse parameter default value from tool schema ([#538](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/538)) ([f832fd6](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/f832fd6619c81f5a9172af9cdb0b38b8b75fe0b1)) ## [0.5.8](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.7...toolbox-core-v0.5.8) (2026-01-28) ### Features * **mcp:** add MCP v20251125 ([#507](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/507)) ([9c2d264](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/9c2d2649066f0034c6f66f08d3edc11193c75a3d)) * **mcp:** keep v20250618 the default mcp protocol ([#520](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/520)) ([ec791a5](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/ec791a55a9f7ac6b9954bb805a369e4b6db06766)) ### Bug Fixes * **mcp:** correctly propagate client headers during init ([#499](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/499)) ([34a97dd](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/34a97dd1de23ecd40c38ab923e3deabf9bafb364)) * **mcp:** merge multiple JSON objects in MCP tool output ([#504](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/504)) ([1131664](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/11316645d8d0d580aa17e6feb896ea6d60ec2bcd)) ### Documentation * **mcp:** add transport protocol info ([#501](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/501)) ([2b8b39b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2b8b39bf8ead85b33a22eb6401287b12b68d65d9)) ## [0.5.7](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.6...toolbox-core-v0.5.7) (2026-01-13) ### Features * enable Python 3.14 support ([#494](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/494)) ([0ced95b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/0ced95bcd7694f76e9bfc5166fbe9c0c260ca54a)) ### Miscellaneous Chores * replace pip with uv for 60% faster integration tests ([#495](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/495)) ([fbc3f54](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/fbc3f54bf1bf00c1acd9cdedc0c3cf0e8a3566c3)) * **deps:** update mcp toolbox server version in integration tests to v0.25.0 ([#492](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/492)) ([2ab131e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2ab131e2c77637ab18028b94d53ef9da4fad6f88)) ## [0.5.6](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.4...toolbox-core-v0.5.6) (2026-01-08) ### Bug Fixes * **toolbox-core** do not allow session id override ([#477](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/477)) ([79604b2](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/79604b22139e33540ccc19d5c096f99e38b117eb)) * **toolbox-core** fix mcp transport declaration ([#474](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/474)) ([97165d2](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/97165d20101d3d01a630c6779381952970498bc4)) * **toolbox-core:** fix race condition in SyncClient loop init ([#468](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/468)) ([6c5d01e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6c5d01e2907eda4553d0215847e79bf9ff6d8e14)) ### Miscellaneous Chores * drop support for python 3.9 ([#460](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/460)) ([ad43f0c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/ad43f0c6429112cfedd288a73795b668eba837e3)) ## [0.5.4](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.3...toolbox-core-v0.5.4) (2025-12-10) ### Features * Add mcp support ([#450](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/450)) ([65a13ad](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/65a13ada3d73e1f2a63b3e97a418549a5d34c393)) ([#451](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/451)) ([538c84f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/538c84fb2265faceb3893df1c3271d6db0809ea9)) ## [0.5.3](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.2...toolbox-core-v0.5.3) (2025-11-18) ### Miscellaneous Chores * **ci:** Updated the toolbox server version for CI and integration tests ([#388](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/388)), ([#414](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/414)), ([#421](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/421), [#395](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/395)). * **deps:** Updated dependencies: `aiohttp` to v3.13.0 ([#389](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/389)), `google-auth` to v2.41.1 ([#383](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/383)), `isort` to v7 ([#393](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/393)), `pytest` to v9 ([#416](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/416)), and other non-major Python dependencies ([#386](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/386)), ([#387](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/387)), ([#427](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/427)). ## [0.5.2](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.1...toolbox-core-v0.5.2) (2025-09-22) ### Miscellaneous Chores * **deps:** update python-nonmajor ([#372](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/372)) ([d915624](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d9156246fd35b7813c49ff4b4bc01cf26b3de9f9)) ## [0.5.1](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.5.0...toolbox-core-v0.5.1) (2025-09-17) ### Bug Fixes * **toolbox-core:** Use typing.Annotated for reliable parameter descriptions instead of docstrings ([#371](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/371)) ([eb76680](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/eb76680d24c344241f3c15293cd12904bbf91b0d)) ### Documentation * Update langgraph sample in toolbox-core ([#366](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/366)) ([fe35082](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/fe35082104d8039986eccbdab937f5f3e8b2042b)) ### Miscellaneous Chores * Remove redundant test for test_add_auth_token_getter_unused_token ([#347](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/347)) ([dccaf1b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/dccaf1bd70e4e788fd80a9ef952aede4549b2fc7)) * Remove duplicate header check during initialization ([#357](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/357)) ([888170b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/888170b3c34744089fb3b6f2b6f613c4cd718a89)) ## [0.5.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.4.0...toolbox-core-v0.5.0) (2025-08-19) ### ⚠ BREAKING CHANGES * **core:** Use ValueError for missing 'items' in array parameters ([#325](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/325)) ### Features * **core:** Add support for map parameter type ([#324](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/324)) ([6455ae3](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6455ae3b88774e7cd79f5c348e9f44bfc5424a18)) ### Bug Fixes * add optional clock_skew parameter to token helpers ([#333](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/333)) ([aa0664f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/aa0664ff6d88d83bba4fc1a8ffe4766e4e8c8aa3)) * **core:** Use ValueError for missing 'items' in array parameters ([#325](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/325)) ([b43409e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/b43409ed220bbe89ab2521286239af203c067897)) ### Documentation * Enhance DEVELOPER.md for improved contribution guidelines ([#316](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/316)) ([1d2be43](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/1d2be4396d50d1119381149c7b1c4d1a778a0349)) ## [0.4.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.3.0...toolbox-core-v0.4.0) (2025-07-17) ### ⚠ BREAKING CHANGES * **toolbox-core:** fix auth_methods module ([#313](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/313)) ### Bug Fixes * **toolbox-core:** fix auth_methods module ([#313](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/313)) ([6cf6d6b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6cf6d6ba3cd67d7c4e18e919a10c37f34971dcf1)) ## [0.3.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.2.1...toolbox-core-v0.3.0) (2025-07-02) ### Features * **toolbox-core:** Add support for optional parameters ([#290](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/290)) ([3c8360c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/3c8360cc09a5a75412075ff3f156f854614f7a86)) ### Bug Fixes * **deps:** update dependency mypy to v1.16.1 ([#286](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/286)) ([10e59e1](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/10e59e1b12e5a0dc58f9724a55aca8ed057c0ea2)) * **deps:** update dependency pytest to v8.4.1 ([#288](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/288)) ([4237fff](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/4237fffddf18a274fda6a23f16354a0199da9506)) * **deps:** update python-nonmajor ([#289](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/289), [#284](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/284)) ([2725fd2](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2725fd2bc82150e1f6b4bc3df16dec9e29e4f83a), [492d35f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/492d35f61360494e60944f8f5939cc23dabca80f)) * **toolbox-core:** Expose authorization token requirements on `ToolboxTool` ([#294](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/294)) ([d7c3311](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d7c3311db18eb2785a4c5dc89233a91fc222d84d)) ### Documentation * Add complete e2e working quickstart link across all quickstart sections ([#296](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/296)) ([b839bc5](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/b839bc5acd10142888739c2abaff215a32eb3e62)) ## [0.2.1](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.2.0...toolbox-core-v0.2.1) (2025-06-13) ### Features * Cache google id tokens ([#254](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/254)) ([4e832c8](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/4e832c8aa89f65f183f2cb13d55440292b1dc09d)) ### Bug Fixes * allow auth token getter override over client header ([#283](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/283)) ([c2d6cd6](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/c2d6cd66673e81e2b4cc3a43b4a897a3a04723f0)) * **deps:** update dependency pytest-asyncio to v1 ([#261](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/261)) ([9400621](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/94006211658fa5852e2a7e17497ec30e157cdc3e)) * **deps:** update python-nonmajor ([#257](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/257)) ([79005ad](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/79005ada9960dc593eb116289a93175032a9ee1a)) * **deps:** update python-nonmajor ([#266](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/266)) ([fecbf3d](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/fecbf3d58647aec670b2cf7bad929d4605ad2cc8)) * **deps:** update python-nonmajor ([#274](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/274)) ([35ee427](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/35ee427443311a896f98b9e8f57187f6d502e3d7)) * **deps:** update python-nonmajor ([#282](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/282)) ([a58cc11](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/a58cc113d59b2e5f08460225a4d894dda0ca3e0c)) * **toolbox-core:** Prevent `ToolboxClient` from closing externally managed client sessions ([#260](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/260)) ([7520adf](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/7520adf8f75b2d8d9d254cfa43774ba876fcd222)) ### Miscellaneous Chores * **deps:** update dependency aiohttp to v3.12.12 ([#276](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/276)) ([c69e029](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/c69e0296b8f3ef792c1d56be0bd66194d0bf5710)) * **deps:** update dependency aiohttp to v3.12.9 ([#272](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/272)) ([813d60e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/813d60e40f036faa2bf7d1c72457ceb39c1c37d1)) * **toolbox-core:** deprecate add_headers feature ([#278](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/278)) ([65c8b10](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/65c8b101f28476935aa677a4223cccc775af9cf1)) * Update Gemini model to a stable version ([#263](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/263)) ([3661055](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/36610558b205b72de7e40c469cdaabb5a715c4a3)) * Update tools file option in integration tests ([#277](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/277)) ([cf1d0ab](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/cf1d0ab145b067a8cc817eeacd7aa05ba3a6990f)) ### Documentation * Improve API error handling for `toolbox-core` client ([#275](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/275)) ([65398fd](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/65398fd0c98c95188304670651a84d002e11d030)) * **toolbox-core:** Update README to include guidance on session lifecycle management ([#259](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/259)) ([9997fb6](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/9997fb6b5cc1195b6732ecba3823309951a3e096)) ## [0.2.0](https://github.com/googleapis/mcp-toolbox-sdk-python/compare/toolbox-core-v0.1.0...toolbox-core-v0.2.0) (2025-05-20) ### ⚠ BREAKING CHANGES * **toolbox-core:** Throw PermissionError on unauthenticated tool invocation ([#233](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/233)) * **toolbox-core:** Simplify add_headers to make it sync in async client ([#231](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/231)) * **toolbox-core:** Standardize on ValueError for improved error consistency ([#219](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/219)) * **toolbox-core:** Rename bind_parameters to bind_params ([#209](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/209)) ### Features * Add bind_param (singular) to align with other packages ([#210](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/210)) ([a2810c1](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/a2810c198a52a43a52d2e95f1cd09ab8409d912f)) * Add client headers to Toolbox ([#178](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/178)) ([e73f6b6](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/e73f6b607219d1d51304dde21f7d9c0bf24fc915)) * Add convenience methods for adding single auth token getter to tools ([#245](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/245)) ([44b0697](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/44b0697efd693db364c0b8cf8b9dfa929e428ef6)) * Allow loading default toolset (all tools) ([#153](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/153)) ([0f3b4eb](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/0f3b4ebb55d5d4fafecf7ceb648460784b76c257)) * **core:** Add client_headers to ToolboxSyncClient ([#187](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/187)) ([50e32da](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/50e32da6bed00c7bcba194406dcc4e0387f452f2)) * Enhance authorization token validation with authRequired ([#222](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/222)) ([2dad7c8](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2dad7c8422e420f2f10a68f0ebbeaca4aa26a5e1)) * Implement strict validation for client while loading tools ([#205](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/205)) ([c7eebbb](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/c7eebbb42ff24c77936cdac6b6d2b685ef282a64)) * Introduce identifying used authz token getters ([#221](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/221)) ([5d49936](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/5d4993622dd3a05b26710c7325c827cb7575913b)) * Introduce Tracking of Used Auth and Bound Keys in parse_tool for Client Strictness ([#184](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/184)) ([edd1f3a](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/edd1f3ad9d63ef2db2adf93f1373a8b51d5c6b20)) * Make name optional while loading toolset through sync client ([#235](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/235)) ([9527824](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/9527824b92232a0b7644015f64c7438086d0596a)) * **toolbox_core:** add helper methods for retrieving ID tokens ([#239](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/239)) ([b3213cc](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/b3213cc9eaeb7052cefdee7e7ee81efab080b2c6)) * **toolbox-core:** Rename bind_parameters to bind_params ([#209](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/209)) ([a36ae42](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/a36ae42532fbcb8ad114c14dc9017b5b0b81e589)) * **toolbox-langchain:** Base toolbox-langchain over toolbox-core ([#229](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/229)) ([03d1b16](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/03d1b160db602f7aeb1c25bc77014ff440ea7504)) * Track utilized auth services ([#203](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/203)) ([527369c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/527369c3b1b2b475a26619081207b92ed4c1b6ba)) * Warn on insecure tool invocation with authentication ([#223](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/223)) ([d331e3c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d331e3c7b424cb3b16122321a7e82a4e6712a6a2)) ### Bug Fixes * Add validation to ensure added auth token getters are used by the tool ([#220](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/220)) ([7cde398](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/7cde39878b94d29940be2b69bd12b6c9d927ad81)) * **deps:** update python-nonmajor ([#175](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/175)) ([73e5a4a](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/73e5a4ac63ee39486529952351c06179ee268c7c)) * **deps:** update python-nonmajor ([#180](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/180)) ([8d909a9](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/8d909a9e19abed4a02e30a4dfc48e06afdbb01ea)) * Ensure `__parse_tool` returns correct `used_auth_keys` ([#204](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/204)) ([d0b5020](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d0b5020dceca76feffa66f64d91237d284b9bcfb)) * Fix issue causing masking of empty loop or thread check while loading tool/toolset ([#227](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/227)) ([a4f0f25](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/a4f0f25ce6dd6ee09f08e0340bc92f5a21527f9d)) * **toolbox-core:** Add strict flag support to sync client ([#230](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/230)) ([4e19a3c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/4e19a3cea7a13821b1c13404944a6b892308cfd0)) * **toolbox-core:** Prevent rebinding of parameters in ToolboxTool ([#186](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/186)) ([906d0e0](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/906d0e080e553e963c2ebfb15c94bf3efdd4886c)) * **toolbox-core:** Simplify add_headers to make it sync in async client ([#231](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/231)) ([394fa4d](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/394fa4d20436b2ca1fc8b9fa84654aa0be4cd6f4)) * **toolbox-core:** Standardize on ValueError for improved error consistency ([#219](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/219)) ([cdfaaf8](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/cdfaaf871e8225510aa4a8892fc186bd528e8472)) * **toolbox-core:** Throw PermissionError on unauthenticated tool invocation ([#233](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/233)) ([7dbf087](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/7dbf08743d2d2d4df35cab690379ba5e72d82f32)) ### Miscellaneous Chores * Add unit tests for the tool, client and protocol files ([#170](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/170)) ([14bc4ee](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/14bc4eec7c85329c6a41d1cd21e7eccbe68b0a7c)) * Add unit tests for ToolboxSyncClient ([#225](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/225)) ([3516be5](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/3516be521250f7ed097da1a280bf970f9e48e756)) * Add unit tests for ToolboxSyncTool ([#224](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/224)) ([787ba5d](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/787ba5d869cc59ca4e3eaec5944a0d2be319473d)) * correct import in readme ([#154](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/154)) ([2825581](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2825581c105189bea2ccb31beaf50001512f9a49)) * Delint + minor simplification of import statement ([#185](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/185)) ([6693407](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6693407421e94bc7a02be62e257ce33d9f75a34f)) * **deps:** update dependency pydantic to v2.11.3 ([#163](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/163)) ([6a78495](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/6a78495ecfe8b51992f55518ab0e7dca1bd6f849)) * **deps:** update dependency pydantic to v2.11.4 ([#200](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/200)) ([758f620](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/758f620e25427396b52d257722d7f71312421ad1)) * fix supported python versions ([#191](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/191)) ([f308b5f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/f308b5f7d7019635798000d0921cf3f549075fd8)) * Make type hints of tool and client classes more accurate and specific ([#249](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/249)) ([996545e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/996545e1f66a547a416b2eefcfd7cbcf73abd320)) * rebrand as MCP Toolbox ([#156](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/156)) ([d090a3f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d090a3f2af35a2e3e1e5d59b3176b026af510b7b)) * remove unused fixtures ([#212](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/212)) ([34a573c](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/34a573ceebba7737eed42bf5d91dbf45f2f8784f)) * remove unused fixtures ([#216](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/216)) ([0ff650a](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/0ff650a1d96ea3355b2cd707573c093d985557c6)) * Remove unused variable ([#171](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/171)) ([bddc8b5](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/bddc8b52886732eb3cdec936cb8c58f27ac829e6)) * rename repo ([#165](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/165)) ([70a476a](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/70a476a4fed46a905fe77101c3c1077fd6d5bd21)) * Simplify sync_client fixture ([#240](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/240)) ([75b79c9](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/75b79c9f625fe1944664304cab48b5cc22bf9693)) * **toolbox-core:** Add property decorators to tool ([#218](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/218)) ([b85820b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/b85820b60bf9f7b237cf517ff83f954321a34258)) * **toolbox-core:** Consolidate auth header creation logic ([#213](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/213)) ([a10964f](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/a10964f41dc71934b88d0300e47fc4340da6ad3b)) * **toolbox-core:** Correctly name test file ([#214](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/214)) ([5d4a02e](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/5d4a02e61c2f3b04918b8fa52d8ae0aebc8ceb56)) * **toolbox-core:** Move util functions to a separate file in toolbox core ([#174](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/174)) ([ca88369](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/ca88369f5dd388299d32b9662443152c74397b3b)) * **toolbox-core:** Remove unused typevar variables ([#232](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/232)) ([aa69aab](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/aa69aab702ecdf5006081d4ca224b6b1a34c793f)) * update toolbox version ([#188](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/188)) ([58d8f7d](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/58d8f7d4601495faf2a33a48cc26bb0a599622ed)) * update toolbox version ([#190](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/190)) ([87e21ed](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/87e21ed07035ec96fb7b6c730585061d17d727c7)) * update toolbox version ([#226](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/226)) ([2a92def](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/2a92def08825417b32faa523a3355eba34351955)) ### Documentation * fix grammar ([#179](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/179)) ([afebaa6](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/afebaa6bfcb2e855823c64a56f4f249da2a721d7)) * Fix variable name in helper docstring ([#183](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/183)) ([eb5856b](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/eb5856b047fbaeee1375c2e7a6135f2fcf2526c3)) * Update docstring for strict flag to make it unambiguous ([#247](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/247)) ([59f0634](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/59f063446b98965c1fa8818d8ab93d5cd5d0b2ec)) * Update docstring to be more accurate ([#199](https://github.com/googleapis/mcp-toolbox-sdk-python/issues/199)) ([d055723](https://github.com/googleapis/mcp-toolbox-sdk-python/commit/d0557237bd6f936d52d79c66606e3d7fd2ef0afd)) ## 0.1.0 (2025-04-04) ### Features * **toolbox-core:** add type validation to params when tool is invoked ([#129](https://github.com/googleapis/genai-toolbox-langchain-python/issues/129)) ([5d62138](https://github.com/googleapis/genai-toolbox-langchain-python/commit/5d621388b3dc8d6fb7583b56dc9d7fcfa02c0a8b)) * **toolbox-core:** Added a sync toolbox client ([#131](https://github.com/googleapis/genai-toolbox-langchain-python/issues/131)) ([ed82832](https://github.com/googleapis/genai-toolbox-langchain-python/commit/ed82832b6e84e8e278820b537fbdbfabd1a0b250)) * **toolbox-core:** add authenticated parameters support ([#119](https://github.com/googleapis/genai-toolbox-langchain-python/issues/119)) ([10087a1](https://github.com/googleapis/genai-toolbox-langchain-python/commit/10087a136056cd47765b376ba18897bae5b848a3)) * **toolbox-core:** add support for bound parameters ([#120](https://github.com/googleapis/genai-toolbox-langchain-python/issues/120)) ([b2a2208](https://github.com/googleapis/genai-toolbox-langchain-python/commit/b2a22089d4a9abc067605d603c077ff4c4843147)) * **toolbox-core:** updated generated docstring to include parameters and their descriptions ([#127](https://github.com/googleapis/genai-toolbox-langchain-python/issues/127)) ([eafe2e9](https://github.com/googleapis/genai-toolbox-langchain-python/commit/eafe2e9cb1e2f84e3b2ba5bee5c469ae5754ade9)) * **toolbox-core:** add basic implementation ([#103](https://github.com/googleapis/genai-toolbox-langchain-python/issues/103)) ([4f992d8](https://github.com/googleapis/genai-toolbox-langchain-python/commit/4f992d8b2d3cc75692d030b67d13f90c36c49ac9)) ### Documentation * **toolbox-core:** add README ([#132](https://github.com/googleapis/genai-toolbox-langchain-python/issues/132)) ([839ed94](https://github.com/googleapis/genai-toolbox-langchain-python/commit/839ed940b5d8de31a83a98b375a7fd24402f5267)) ### Bug Fixes * **toolbox-core:** Add qualname for ToolboxTool instances ([#134](https://github.com/googleapis/genai-toolbox-langchain-python/issues/134)) ([5c2dff7](https://github.com/googleapis/genai-toolbox-langchain-python/commit/5c2dff7b2378eaa9298cc281b3658f85a32aa1a5)) * **toolbox-core:** correct invalid reference when using array types ([#128](https://github.com/googleapis/genai-toolbox-langchain-python/issues/128)) ([d5a3259](https://github.com/googleapis/genai-toolbox-langchain-python/commit/d5a325926e3fb03b33f9133e7cc70fa935b9aecb))