model-context-protocol-rb 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -2
- data/README.md +174 -978
- data/lib/model_context_protocol/rspec/helpers.rb +54 -0
- data/lib/model_context_protocol/rspec/matchers/be_mcp_error_response.rb +123 -0
- data/lib/model_context_protocol/rspec/matchers/be_valid_mcp_class.rb +103 -0
- data/lib/model_context_protocol/rspec/matchers/be_valid_mcp_prompt_response.rb +126 -0
- data/lib/model_context_protocol/rspec/matchers/be_valid_mcp_resource_response.rb +121 -0
- data/lib/model_context_protocol/rspec/matchers/be_valid_mcp_tool_response.rb +135 -0
- data/lib/model_context_protocol/rspec/matchers/have_audio_content.rb +109 -0
- data/lib/model_context_protocol/rspec/matchers/have_embedded_resource_content.rb +150 -0
- data/lib/model_context_protocol/rspec/matchers/have_image_content.rb +109 -0
- data/lib/model_context_protocol/rspec/matchers/have_message_count.rb +87 -0
- data/lib/model_context_protocol/rspec/matchers/have_message_with_role.rb +152 -0
- data/lib/model_context_protocol/rspec/matchers/have_resource_annotations.rb +135 -0
- data/lib/model_context_protocol/rspec/matchers/have_resource_blob.rb +108 -0
- data/lib/model_context_protocol/rspec/matchers/have_resource_link_content.rb +138 -0
- data/lib/model_context_protocol/rspec/matchers/have_resource_mime_type.rb +103 -0
- data/lib/model_context_protocol/rspec/matchers/have_resource_text.rb +112 -0
- data/lib/model_context_protocol/rspec/matchers/have_structured_content.rb +88 -0
- data/lib/model_context_protocol/rspec/matchers/have_text_content.rb +113 -0
- data/lib/model_context_protocol/rspec/matchers.rb +31 -0
- data/lib/model_context_protocol/rspec.rb +23 -0
- data/lib/model_context_protocol/server/client_logger.rb +1 -1
- data/lib/model_context_protocol/server/configuration.rb +195 -91
- data/lib/model_context_protocol/server/content_helpers.rb +1 -1
- data/lib/model_context_protocol/server/prompt.rb +0 -14
- data/lib/model_context_protocol/server/redis_client_proxy.rb +2 -14
- data/lib/model_context_protocol/server/redis_config.rb +5 -7
- data/lib/model_context_protocol/server/redis_pool_manager.rb +10 -13
- data/lib/model_context_protocol/server/registry.rb +8 -0
- data/lib/model_context_protocol/server/router.rb +279 -4
- data/lib/model_context_protocol/server/server_logger.rb +5 -2
- data/lib/model_context_protocol/server/stdio_configuration.rb +114 -0
- data/lib/model_context_protocol/server/stdio_transport/request_store.rb +0 -41
- data/lib/model_context_protocol/server/streamable_http_configuration.rb +218 -0
- data/lib/model_context_protocol/server/streamable_http_transport/event_counter.rb +0 -13
- data/lib/model_context_protocol/server/streamable_http_transport/notification_queue.rb +0 -41
- data/lib/model_context_protocol/server/streamable_http_transport/request_store.rb +0 -103
- data/lib/model_context_protocol/server/streamable_http_transport/server_request_store.rb +0 -64
- data/lib/model_context_protocol/server/streamable_http_transport/session_message_queue.rb +0 -58
- data/lib/model_context_protocol/server/streamable_http_transport/session_store.rb +17 -31
- data/lib/model_context_protocol/server/streamable_http_transport/stream_registry.rb +0 -34
- data/lib/model_context_protocol/server/streamable_http_transport.rb +192 -56
- data/lib/model_context_protocol/server/tool.rb +67 -1
- data/lib/model_context_protocol/server.rb +203 -262
- data/lib/model_context_protocol/version.rb +1 -1
- data/lib/model_context_protocol.rb +4 -1
- data/lib/puma/plugin/mcp.rb +39 -0
- data/tasks/mcp.rake +26 -0
- data/tasks/templates/dev-http-puma.erb +251 -0
- data/tasks/templates/dev-http.erb +166 -184
- data/tasks/templates/dev.erb +29 -7
- metadata +26 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d3d19a73cf5bc0b39d04e9f511089813926c8ae59c4d090061ca8ab8a059bebb
|
|
4
|
+
data.tar.gz: 28afc6cf8c197ce5b78888d31feff9617157ec9923cb0684ce07a6cf93e56a46
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d7a3b496a50787e354277fde4f1f65e007c5e704ba55419a2ffadbe2634c8f3a61668152ff612fc1735c58add0b2eb1a635977b149a2f2483d74f782b463494c
|
|
7
|
+
data.tar.gz: c62606a10f0327fd144480bf35e17f484db5d2bf095392275706098b0ad2538a10564e5d39cb7b9b9464979d272ce7542d199297f6641288c4594eb8fd453392
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
-
## [0.
|
|
3
|
+
## [0.7.0] - 2026-03-13
|
|
4
|
+
|
|
5
|
+
- (Breaking) Refactor server to use factory methods and singleton pattern.
|
|
6
|
+
- Use `Server.with_stdio_transport` or `Server.with_streamable_http_transport` to configure.
|
|
7
|
+
- Use `Server.start` to activate the transport.
|
|
8
|
+
- Use `Server.serve(env:, session_context:)` to handle HTTP requests.
|
|
9
|
+
- Use `Server.shutdown` for cleanup on exit.
|
|
10
|
+
- (Breaking) Sessions are now required by default for streamable HTTP transport. Set `require_sessions = false` to opt out.
|
|
11
|
+
- (Breaking) Simplify Redis and registry configuration APIs.
|
|
12
|
+
- Add Puma plugin (`puma/plugin/mcp`) to manage server lifecycle automatically.
|
|
13
|
+
- Add RSpec matchers for testing MCP handlers (e.g., `be_valid_mcp_tool_response`, `have_text_content`).
|
|
14
|
+
- Add tool annotations and security schemes.
|
|
15
|
+
- Add spec-compliant session management.
|
|
16
|
+
- Add list changed notifications for prompts, resources, and tools (streamable HTTP transport only).
|
|
17
|
+
- Add `session_context` parameter to `Server.serve` for per-request context (e.g., user_id from authentication).
|
|
18
|
+
- Add `ssl_params` configuration option for Redis connections.
|
|
19
|
+
- Skip environment variable manipulation for streamable HTTP transport (thread-unsafe in multi-threaded servers).
|
|
20
|
+
- Use thread-safe data structures for session protocol version tracking.
|
|
21
|
+
- Remove dead code across the codebase.
|
|
22
|
+
- (Fix) Fix logdev references in server logger.
|
|
23
|
+
- (Fix) Ensure context hash keys are symbolized when retrieved from session.
|
|
24
|
+
- (Fix) Fix `resource_link` content helper to return a Content object like all other content helpers.
|
|
25
|
+
|
|
26
|
+
## [0.6.0] - 2026-01-26
|
|
4
27
|
|
|
5
28
|
- Implement server logging capability for internal server diagnostics.
|
|
6
29
|
- Add informational and debug logging in streamable HTTP transport.
|
|
@@ -89,7 +112,8 @@
|
|
|
89
112
|
|
|
90
113
|
- Initial release
|
|
91
114
|
|
|
92
|
-
[Unreleased]: https://github.com/dickdavis/model-context-protocol-rb/compare/v0.
|
|
115
|
+
[Unreleased]: https://github.com/dickdavis/model-context-protocol-rb/compare/v0.7.0...HEAD
|
|
116
|
+
[0.7.0]: https://github.com/dickdavis/model-context-protocol-rb/compare/v0.6.0...v0.7.0
|
|
93
117
|
[0.6.0]: https://github.com/dickdavis/model-context-protocol-rb/compare/v0.5.1...v0.6.0
|
|
94
118
|
[0.5.1]: https://github.com/dickdavis/model-context-protocol-rb/compare/v0.5.0...v0.5.1
|
|
95
119
|
[0.5.0]: https://github.com/dickdavis/model-context-protocol-rb/compare/v0.4.0...v0.5.0
|