Releases: JuliaSMLM/ModelContextProtocol.jl
Releases · JuliaSMLM/ModelContextProtocol.jl
v0.4.0
ModelContextProtocol v0.4.0
New Features
- Added
input_schemafield toMCPToolfor defining arbitrary JSON Schema - Enables arrays, enums, nested objects, and all valid JSON Schema constructs
- When
input_schemais provided, it takes precedence over theparametersfield
Closes #10
Breaking changes
None. This release is fully backward compatible with v0.3.x. Existing tools using the parameters field continue to work unchanged.
Merged pull requests:
- Bump actions/checkout from 5 to 6 (#19) (@dependabot[bot])
- feat: Add input_schema support for complex tool parameters (#23) (@kalidke)
Closed issues:
v0.3.1
ModelContextProtocol v0.3.1
Merged pull requests:
v0.3.0
ModelContextProtocol v0.3.0
Breaking Changes
This release introduces MCP protocol 2025-06-18 compliance with several breaking changes:
1. Server Version Default Changed
mcp_server()version parameter default:"2024-11-05"→"1.0.0"- The version field now represents YOUR server's version, not the MCP protocol version
- Migration: Explicitly specify version parameter if you relied on the old default
2. Protocol Version Strictly Enforced
- Only accepts MCP-Protocol-Version:
2025-06-18 - Returns error for unsupported protocol versions
- Migration: Update clients to send correct protocol version header
3. JSON-RPC Batching Removed
- Per MCP 2025-06-18 specification, batch requests now return errors
- Migration: Send requests individually instead of batching
4. Auto-Registration File Format
- Component files must have the component as the last expression
- Old behavior searched all module variables
- Migration: Ensure component definition is the last line in your files
New Features
HTTP Transport with SSE
- Full Streamable HTTP transport implementation
- Server-Sent Events for real-time streaming
- Session management with Mcp-Session-Id headers
- Origin validation and security features
Auto-Registration System
- Directory-based component organization (tools/, resources/, prompts/)
- Automatic discovery and loading
- Support for both stdio and HTTP transports
New Content Types
- ResourceLink for referencing resources in tool results (MCP 2025-06-18)
Improvements
- Enhanced documentation (transport guide, auto-registration guide, Claude integration)
- Transport abstraction layer (StdioTransport, HttpTransport)
- Better error handling and protocol compliance
- Fixed broken documentation examples
- Julia 1.12+ compatibility fixes
- All 233 tests passing
See CHANGELOG.md for detailed migration guide.
Merged pull requests:
Closed issues:
- ZOD errors when connecting to MCP server (#16)
v0.2.1
ModelContextProtocol v0.2.1
Merged pull requests:
v0.2.0
ModelContextProtocol v0.2.0
ModelContextProtocol.jl v0.2.0
Breaking Changes
-
Default return type changed: The default
return_typeforMCPToolhas changed fromTextContenttoVector{Content}. This enables tools to more easily return multiple content items of different types.Migration Guide:
- If your tools expect to return a single content item, explicitly set
return_type = TextContentin your tool definition - Single content items are automatically wrapped in vectors when
Vector{Content}is expected, providing backward compatibility - Example migration:
# Before (implicit TextContent) MCPTool(name="my_tool", handler=() -> "result") # After (explicit TextContent) MCPTool(name="my_tool", handler=() -> "result", return_type=TextContent)
- If your tools expect to return a single content item, explicitly set
New Features
- Tools can now return multiple content items of mixed types (TextContent, ImageContent, EmbeddedResource)
- Added support for tools to return
CallToolResultdirectly for full control over responses - Added parameter defaults support via
defaultfield inToolParameter - New
content2dictutility function for serializing different content types
Improvements
- Enhanced type validation and conversion logic in tool handlers
- Better support for clients that send null params (e.g., Cursor)
- Improved error messages for type mismatches
- Comprehensive test coverage for multi-content scenarios
Merged pull requests:
- Change default MCPTool return_type to Vector{Content} (#11) (@asinghvi17)
v0.1.2
ModelContextProtocol v0.1.2
Minor Update
- included ping handler
- add Julia version 1.10 LTS support
- minor performance improvements to message handling.
Merged pull requests:
- Support Julia LTS (#6) (@MichaelHatherly)
- Implement
pingrequest handling (#8) (@MichaelHatherly) - Avoid reparsing request parameters (#9) (@MichaelHatherly)
v0.1.1
ModelContextProtocol v0.1.1
Merged pull requests:
v0.1.0
ModelContextProtocol v0.1.0
Merged pull requests:
- Bump codecov/codecov-action from 4 to 5 (#1) (@dependabot[bot])
- Reorg (#2) (@kalidke)