All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Missing usage guide for the env variable config for local MCP servers
- An example of how to use the "env" configuration to README.md
- Issue #45: LangChain 1.2.x compatibility: Need to filter out None values for optional parameters when calling MCP tools
- Issue #46: MCP tool errors shouldn't raise ToolException to allow LLM's graceful recover
- Issue #47: Make sure to work with latest models including GPT 5, Claude 4.5, Gemini 3 preview and Grok 4.1
- Confirmed compatibility with LangChain 1.2.9+
- Update simple_usage.py to test recent LLM models
- Minor updates to README and usage examples
- Usage examples of gpt-oss-120b/20b on Cerebras / Groq (confirmed to work with Cerebras and Groq)
- Update usage example to test newer OpenAI models
- Fix issues when showing README.md on PyPI
- Improve the default logger
- Update dependencies
- Update README.md
- Test usage with xAI Grok
- Properly export McpInitializationError
- Update logger argument to take logging level (e.g. logging.DEBUG) as well
- Separate out the tool conversion function into tool_adapter.py
- Separate out the transport utility functions into ransport_utils.py
- Update README.md
- Update dependencies
- Update documentation
- Use leading underscores for the internal functions
- Improve log messages for authentication pre-validation
- Minor updates to README.md
- Update dependencies
- Streamable HTTP Support with MCP 2025-03-26 backwards compatibility guidelines
- Test servers and clients for Streamable HTTP
- Support for Google GenAI LLMs
- McpInitializationError for configuration and connection errors
- TECHNOCAL.md that explains the implemenation details
- Update all documentation to include Streamable HTTP Support
- Improve logging to show detailed transport selection reasoning
- Rename testfiles/sse-auth-test-{client,server}.py to use "_" instead of "-"
- Update dependencies
- Make SingleMcpServerConfig public (it used to be McpServerConfig)
- Improve documentation
- Update README.md
- Add test files for SSE connection with authentication
- Add Sphinx documentation with Google-style docstrings
- Add new key "headers" to url based config for SSE server
- Update README.md for the newly introduced headers key
- Add README_DEV.md
- Use double quotes instead of single quotes for string literals
- Update dependencies
- Update dependencies
- Minor updates to the README.md
- Add support for SSE and Websocket remote MCP servers
- Introduced
McpServersConfigtype - Changed
stderrofMcpServersConfigtoerrlogto follow Python SDK more closely - Use double quotes instead of single quotes for string literals
- Update the dependencies, esp.
Updated mcp v1.2.0 -> v1.6.0(this fixes Issue #22) - Add
cwdtoserver_configto specify the working directory for the MCP server to use - Add
stderrto specify a filedescriptor to which MCP server's stderr is redirected - Rename
examples/example.pytotestfiles/simple-usage.pyto avoid confusion
- Make the logger fallback to a pre-configured logger if no root handlers exist
- Remove unnecessarily added python-dotenv from the dependencies
- Minor updates to README.me
- Update LLM models used in example.py
- PR #14: Fix: Handle JSON Schema type: ["string", "null"] for Notion MCP tools
- Minor updates to README.me and example.py
- Issue #11: Move some dev dependencies which are mistakenly in dependencies to the right section
make test-publishtarget to handle publication more carefully
- Estimate the size of returning text in a simpler way
- Return a text with reasonable explanation when no text return found
- Issue #8: Content field of tool result is wrong
- Better checks when converting MCP's results into
str
- Update example code in README.md to use
claude-3-5-sonnet-latestinstead ofhaikuwhich is sometimes less capable to handle results from MCP