Releases: yjacquin/fast-mcp
Releases · yjacquin/fast-mcp
v1.5.0
Added
- Handle filtering tools and resources #85 @yjacquin
- Support for resource templates 🥳 Big thanks to @danielcooper for the contribution #84 co-authored by @danielcooper and @yjacquin
- Possibility to authorize requests before tool calls #79 @EuanEdgar
- Possibility to read request headers in tool calls #78 @EuanEdgar
Changed
- Bump Dependencies #86 @aothelal
⚠️ Resources are now stateless, meaning that in-memory resources won't work anymore, they require an external data source such as database, file to read and write too, etc. This was needed for a refactoring of the resource class for the resource template PR
Fixed
- Stop overriding log level to info #91 @yjacquin
- Properly handle ping request responses from clients #89 @yjacquin
- Add Thread Safety to RackTransport sse_clients #82 @Kevin-K
What's Changed
- Add configuration docs for Zed by @andyw8 in #76
- ✨ Expose headers to tools by @EuanEdgar in #78
- fix: undefined local variable or method "headers" by @k0va1 in #87
- Bump dependencies by @aothelal in #86
- Add thread safety to RackTransport sse_clients by @Kevin-K in #82
- ✨ Authorize requests before invoking tools by @EuanEdgar in #79
- Add Resource templates by @yjacquin in #84
- ✨ Add Filtering to tools and resources by @yjacquin in #85
- Properly handle ping request responses by @yjacquin in #89
- Stop overriding log level in server initialization by @yjacquin in #91
- Release v1.5.0 by @yjacquin in #92
New Contributors
- @andyw8 made their first contribution in #76
- @EuanEdgar made their first contribution in #78
- @k0va1 made their first contribution in #87
- @aothelal made their first contribution in #86
- @Kevin-K made their first contribution in #82
Full Changelog: v1.4.0...v1.5.0
v1.4.0
Added
- Conditionnally hidden properties for tool calls (#70) #70 @yjacquin
- Metadata to tool call results (#69) #69 @yjacquin
- Link to official Discord Server in README.md
What's Changed
- Add Metadata to Tool call results by @yjacquin in #69
- Support adding conditionnally hidden properties by @yjacquin in #70
Full Changelog: v1.3.2...v1.4.0
v1.3.2
Changed
- Logs are now less verbose by default #64 @yjacquin
Fixed
- Fix undefined method `call' for an instance of String error log #61 @radwo
What's Changed
New Contributors
Full Changelog: v1.3.1...v1.3.2
v1.3.1
Fixed
- Allow ipv4 mapped to ipv6 (#56) #56 @josevalim
- Add items to array (#55) #55 @josevalim
- Ping is a regular message event (#54) #56 @josevalim
What's Changed
- Ping is a regular message event by @josevalim in #54
- Add items to array by @josevalim in #55
- Allow ipv4 mapped to ipv6 by @josevalim in #56
- Release v1.3.1 by @yjacquin in #57
New Contributors
- @josevalim made their first contribution in #54
Full Changelog: v1.3.0...v1.3.1
v1.3.0
Added
- Added automatic forwarding of query params from to the messages endpoint @yjacquin
Fixed
- Declare rack as an explicit dependency #49 @subelsky
- Fix notifications/initialized response #51 @yjacquin
What's Changed
- 🔧 Fix notifications/initialized response by @yjacquin in #51
- Declare rack as an explicit dependency, since RackTransport requires it by @subelsky in #49
New Contributors
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Added
- Security enhancement: Bing only to localhost by default #44 @yjacquin
- Prevent AuthenticatedRackMiddleware from blocking other rails routes#35 @JulianPasquale
- Stop Forcing reconnections after 30 pings #42 @zoedsoupe
What's Changed
- 🔌 Don't force reconnections after 30 pings by @yjacquin in #42
- 🛡️ Security: Prevent connecting from outside localhost by default by @yjacquin in #44
- Add check against Rails env for localhost_only binding by @yjacquin in #45
- Fix authenticated rack middleware by @JulianPasquale in #35
New Contributors
- @JulianPasquale made their first contribution in #35
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Added
- Security enhancement: Added DNS rebinding protection by validating Origin headers #32 @yjacquin
- Added configuration options for allowed origins in rack middleware #32 @yjacquin
- Allow to change the SSE and Messages route #23 @pedrofurtado
- Fix invalid return value when processing notifications/initialized request #31 @abMatGit
What's Changed
- Bump softprops/action-gh-release from 1 to 2 by @dependabot in #20
- feat: Allow to change the SSE and Messages route by @pedrofurtado in #23
- Fix #30 by wrapping nil response with send_response method by @abMatGit in #31
- Yorick/prevent dns rebinding attacks by @yjacquin in #32
- Release 1.1.0 by @yjacquin in #33
New Contributors
- @dependabot made their first contribution in #20
- @pedrofurtado made their first contribution in #23
- @abMatGit made their first contribution in #31
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Added
- Rails integration improvements via enhanced Railtie support
- Automatic tool and resource registration in Rails applications
- Extended Rails autoload paths for tools and resources directories
- Sample generator templates for resources and tools
- MCP Client configuration documentation as reported by #8 @sivag-csod
- Example Ruby on Rails app in the documentation
FastMcp.server
now exposes the MCP server to apps that may need it to access resources- Automated Github Releases through Github Workflow
Fixed
- Fixed bug with Rack middlewares not being initialized properly.
- Fixed bug with STDIO logging preventing a proper connection with clients # 11 @cs3b
- Fixed Rails SSE streaming detection and handling
- Improved error handling in client reconnection scenarios
- Namespace consistency correction (FastMCP -> FastMcp) throughout the codebase
Improved
⚠️ [Breaking] Resource content declaration changes- Now resources implement
content
overdefault_content
content
is dynamically called when calling a resource, this implies we can declare dynamic resource contents like:
class HighestScoringUsersResource < FastMcp::Resource ... def content User.order(score: :desc).last(5).map(&:as_json) end end
- Now resources implement
- More robust SSE connection lifecycle management
- Optimized test suite with faster execution times
- Better logging for debugging connection issues
- Documentation had outdated examples
What's Changed
New Contributors
Full Changelog: v0.1.0...v1.0.0
v0.1.0
[0.1.0] - 2025-03-12
Added
- Initial release of the Fast MCP library
- FastMcp::Tool class with multiple definition styles
- FastMcp::Server class with STDIO transport and HTTP / SSE transport
- Rack Integration with authenticated and standard middleware options
- Resource management with subscription capabilities
- Binary resource support
- Examples with STDIO Transport, HTTP & SSE, Rack app
- Initialize lifecycle with capabilities
- Comprehensive test suite with RSpec