Tags: mark3labs/mcp-go
Tags
v0.54.1 - Bug fixes and performance improvements Fixes: - Print errors to stderr for invalid jsonschema tags in WithInputSchema and WithOutputSchema (#894) Performance: - Reduce allocations in UnmarshalContent by avoiding map[string]any (#890) Improvements: - Add Title and Size fields to ResourceLink - Refactor session types to share clientInfoStore and writeJSONRPCError helper
v0.54.0 - OpenTelemetry tracing, MCP 2025-11-25 spec additions, and p… …anic recovery hardening Features: - Add OpenTelemetry tracing hooks to server and client via new otel/ submodule (#856) - Add BaseMetadata.title, Icon.theme, and Resource.size fields per MCP spec (#870, #885) - Add 2025-11-25 sampling-with-tools support and capability sub-fields (#867, #876) Fixes: - Add panic recovery to session hook goroutines (#883) - Add panic recovery to task goroutines and fix cleanup goroutine leak (#880) - Add panic recovery to SSE message handler and stdio tool call worker (#882) - OAuth: don't hold metadataMu across HTTP discovery (#871, #875) - OAuth: use LATEST_PROTOCOL_VERSION in metadata discovery (#868, #874) - Server: handle resources/subscribe and resources/unsubscribe properly (#865, #873) Improvements: - Refactor to use MCP method constants throughout (#878) - Add missing godoc comments across the codebase (#877)
otel/v0.54.0 - Initial release of OpenTelemetry tracing submodule Introduces the github.com/mark3labs/mcp-go/otel submodule providing OpenTelemetry tracing hooks for both MCP servers and clients (#856). Features: - Server tracing hooks for request/response spans - Client tracing hooks for outgoing requests - Configurable tracer provider and span attributes - Example integration under otel/example/
v0.53.0 - New server options, session management, and transport harde… …ning Features: - Add WithStrictInputSchemaDefault server option (#853) - Add CloseSessions method on MCPServer (#852) Breaking Changes: - ListPrompts and ListResources now return map[string]*ServerPrompt / map[string]*ServerResource (pointer values) (#855) Fixes: - Allow _meta on paginated requests (#854) - ToolInputSchema inherits MarshalJSON from ToolArgumentsSchema (#858) - Add panic recovery to transport goroutines (#861) - Suppress closed-pipe shutdown noise on transport shutdown (#863) - Prevent double-close panic on SSE sessions (#852) Refactor: - Use explicit struct literal in ListTools (#864)
v0.52.0 - Transport-agnostic Handle entry point and HTTP body leak fix Features: - server: add transport-agnostic Handle entry point with new exported HTTPRequest and HTTPResponseWriter types, enabling StreamableHTTPServer to be driven from non-net/http frameworks (e.g., fasthttp/fiber) without the buffering adaptor. ServeHTTP is now a thin wrapper around Handle. Backward-compatible: all existing APIs, options, and session interfaces unchanged. (#851, closes #611) Fixes: - client/transport: close response body on 404 in sendHTTP to prevent TCP connection / file descriptor leaks under listenForever retry loops when sessions are terminated. (#849) Docs: - README and HTTP transport guide updated with Handle usage, CanStream() contract, and a fasthttp adapter example.
v0.51.0 - New transports, schema validation, CORS, OAuth metadata, an… …d iterators Features: - mcp: add SchemaCache for stateless/serverless deployments (#846) - transport: add LoggingTransport wrapper for JSON-RPC tracing (#845) - server: validate tool output against declared output schemas (#844) - server: add opt-in CORS support to HTTP transports (#843) - client: add Go 1.23 iterator methods (IterTools/IterResources/IterPrompts) for paginated results (#842) - server: add OAuth Protected Resource Metadata endpoint per RFC 9728 (#841) - transport: add CommandTransport for subprocess MCP servers (#840) - server: opt-in input schema validation per SEP-1303 (#834) Fixes: - oauth: accept any 2xx token response status (#847) - transport: stop retrying on session terminated in listenForever (#839) - server: setTools may have resulted in empty tools (#830) - examples: return isError for input validation instead of internal error (#838) Docs: - server: document OnBeforeAny/OnSuccess/OnError pairing (#848) - clients: document IterTools/IterResources/IterPrompts iterators
v0.50.0 - Input schema validation and new list methods Features: - Opt-in input schema validation per SEP-1303 via WithInputSchemaValidation() server option (#834). When enabled, tools/call arguments are validated against each tool's inputSchema before the handler runs; failures are returned as tool execution errors so the model can self-correct. Compiled schemas are cached per (toolName, schemaDigest). - Add ListPrompts and ListResources methods to the server (#831). Dependencies: - Add santhosh-tekuri/jsonschema/v6 for JSON Schema validation.
v0.49.0 - Add OAuth protected resource metadata discovery Features: - Implement RFC9728 OAuth Protected Resource Metadata discovery - Add client helpers for extracting protected resource metadata URLs from authorization errors - Improve OAuth handling for SSE and streamable HTTP transports Improvements: - Add MCP utility helpers and expand protocol/type coverage - Improve streamable HTTP server session cleanup and test coverage Maintenance: - Formatting and test updates across client, server, and MCP packages
v0.48.0 - Server implementation metadata options and OAuth RFC 8707 s… …upport Features: - Add WithTitle, WithDescription, WithWebsiteURL, WithIcons server options for rich implementation metadata - Add ServerOption support to mcptest test servers - Add RFC 8707 resource parameter to OAuth authorization, token exchange, refresh, and client registration requests Fixes: - Fix stdin race condition in stdio transport by serializing concurrent writes Documentation: - Update server basics docs with implementation metadata option examples
PreviousNext