-
Notifications
You must be signed in to change notification settings - Fork 737
Comparing changes
Open a pull request
base repository: mark3labs/mcp-go
base: v0.38.0
head repository: mark3labs/mcp-go
compare: v0.39.1
- 9 commits
- 20 files changed
- 9 contributors
Commits on Aug 24, 2025
-
fix: use bufio.Scanner for stdio transport to avoid panic when stdio …
…mcp server outputs a long line (#464) Change-Id: Iaaaf44f80d2e49f5275c5f6903c87dcb4dbb53a3 Co-authored-by: tangyuyi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e353ac - Browse repository at this point
Copy the full SHA 4e353acView commit details
Commits on Sep 2, 2025
-
fix(tool): Return the
OutputSchema
from the tool definition (#571)This commit returns the `OutputSchema` from the tool definition as per the MCP spec: https://modelcontextprotocol.io/specification/2025-06-18/server/tools#output-schema The behaviour of `WithOutputSchema()` also changed as `RawOutputSchema` is not longer populated, but `OutputSchema` is from the `T` generic type. The only way now to set `RawOutputSchema` is through the `WithRawOutputSchema()` method.
Configuration menu - View commit details
-
Copy full SHA for b924391 - Browse repository at this point
Copy the full SHA b924391View commit details -
feat: add resource handler middleware capability (#569)
* feat: add resource handler middleware capability This is a fairly direct adaption of the existing tool handler middleware to also allow support for resource middlewares. Use case: I'm working on an MCP server that manages an API client that is used for both tool and resource calls. The tool handler middleware provides a nice pattern to wrap tool calls that fits some use cases better than the before/after tool call hooks. It would be helpful to have first party support for this pattern in the library so I don't need to work around it with custom closures etc. Notes: - There are currently (that I can find) that exercise the existing tool handler middleware logic, so I did not add tests for the resource handler middleware logic. - Existing docs, specifically those for the streamable HTTP transport, reference some middleware functions (for both tools and resources) that don't exist (ex: `s.AddToolMiddleware` does not, `s.AddResourceMiddleware` does not exist, etc). It seems they may be out of date. Happy to discuss updates to docs in a separate PR. Signed-off-by: TJ Hoplock <[email protected]> * feat: add `WithResourceRecovery()` ServerOption The existing `WithRecovery()` ServerOption is tool oriented, this adds a corresponding recovery handler for resources. This will be especially useful if Resource middlewares are used, where things may possibly/need to panic. Signed-off-by: TJ Hoplock <[email protected]> --------- Signed-off-by: TJ Hoplock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ef80a50 - Browse repository at this point
Copy the full SHA ef80a50View commit details -
feat: add tls support for streamable-http (#568)
* tests tls * log * fail * clean * docs * nit * nit
Configuration menu - View commit details
-
Copy full SHA for 40ce109 - Browse repository at this point
Copy the full SHA 40ce109View commit details -
fix: prevent double-starting stdio transport in client (#564)
* fix: prevent double-starting stdio transport in client Avoid starting stdio transport twice by checking transport type before calling Start(). The stdio transport from NewStdioMCPClientWithOptions is already started and doesn't need to be started again. * docs: update NewStdioMCPClient comment for clarity
Configuration menu - View commit details
-
Copy full SHA for d2f81b6 - Browse repository at this point
Copy the full SHA d2f81b6View commit details -
docs(client): improve server reliability and error handling (#560)
* docs(client): improve server reliability and error handling - Add a health check step using Ping to verify server availability - Change error handling for listing tools and resources to terminate the program on failure Signed-off-by: Bo-Yi Wu <[email protected]> * style: remove emojis for neutral health check log output - Remove emojis from health check log and success messages for a more neutral output Signed-off-by: appleboy <[email protected]> --------- Signed-off-by: Bo-Yi Wu <[email protected]> Signed-off-by: appleboy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 004ca9e - Browse repository at this point
Copy the full SHA 004ca9eView commit details -
oauth client example: skip DCR if MCP_CLIENT_ID is set (#549)
If the user has set the MCP_CLIENT_ID environmental variable then they don't want Dynamic Client Registration and it should be skipped.
Configuration menu - View commit details
-
Copy full SHA for 5298f64 - Browse repository at this point
Copy the full SHA 5298f64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35fc389 - Browse repository at this point
Copy the full SHA 35fc389View commit details -
fix(tool): Do not return empty
outputSchema
(#573)* fix(tool): Do not return empty `outputSchema` If the output schema is not specify, we do not return it as we break the MCP specification that are expecting the following format: ```json "outputSchema": { "type": "object", "properties": {}, "required": [] } ``` * fix(tool): typo in test
Configuration menu - View commit details
-
Copy full SHA for 3d1bfca - Browse repository at this point
Copy the full SHA 3d1bfcaView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.38.0...v0.39.1