Skip to content

V0.12.2

Choose a tag to compare

@JohnRichard4096 JohnRichard4096 released this 12 Jul 11:55
· 31 commits to main since this release

Release Summary — v0.12.2

Version
0.12.1.10.12.2


🚀 New Features

  • Flexible MCP Transport URLs
    Added a powerful URL‑based syntax for specifying MCP server transports. Now you can connect to remote servers via:

    • sse+http(s):// and streamable+http(s)://
    • Shorthand sse:// (expands to sse+http://)
    • stdio://["cmd","arg1",...] for command‑line servers
    • Standard http(s):// URLs (passthrough)

    Local script files (.py, .js) continue to work as before.
    Includes support for Basic/Bearer authentication in URLs.

  • Enhanced JSON Schema Support for MCP Tools
    The tool property model (MCPProperty) has been refactored to fully support JSON Schema combinators:

    • anyOf, oneOf, allOf
    • const, pattern, minLength, maxLength
    • Numeric constraints (minimum, maximum, multipleOf)
    • Object / array constraints with proper recursion

    This enables richer tool definitions and better compatibility with MCP servers.


🔧 Improvements

  • Better Error Handling
    Import fallbacks now catch both ImportError and NameError (e.g., for optional dependencies like Anthropic SDK and jieba).
    Clearer installation hints: e.g., amrita_core[jieba] for Chinese tokenization.

  • Logging Enhancements
    Added raw=True to several logger.opt() calls to improve log output formatting and avoid accidental interpolation.

  • MCP Client Robustness

    • Fixed handling of required and properties fields when they are None or missing.
    • Automatically resolves transport strings using the new _parser module, with fallback to passthrough for unknown schemes.
  • Documentation
    Added comprehensive English and Chinese documentation for the new transport URL format, including examples and authentication details.


🐛 Fixes

  • Corrected conversion of MCP properties with anyOf to AmritaCore’s internal schema, ensuring type unions are properly represented.
  • Fixed issues where empty required or properties caused errors during tool registration.
  • Improved error messages when stdio:// payload is malformed or empty.

📦 Dependency & Version

  • Version bumped to 0.12.2.
  • Updated uv.lock accordingly.

(Github Workflow changes are excluded from this summary.)

Changelog

Full Changelog: 0.12.1.1...0.12.2