Koichi ITO
0c729d0a2d
Use autoload to defer loading of unused subsystems
...
## Motivation and Context
`lib/mcp.rb` currently declares all `require_relative` statements in one place.
As a result, Server and Client are both loaded, the stdio and Streamable HTTP
transports are both loaded, and Tool, Prompt, and Resource are all loaded,
regardless of which components are actually used.
These components are selected by the user depending on their use case,
so loading everything upfront is unnecessary.
Using `autoload` for selected constants defers loading until the constant
is actually referenced, so only the subsystems required by the user are loaded.
## How Has This Been Tested?
All existing tests pass unchanged.
## Breaking Change
None. This change only defers loading of unused components.
2026-03-12 14:08:27 +09:00
..
client
Add Accept header validation
2026-01-07 14:55:19 +09:00
resource
Fix Resource::Contents#to_h to use correct property names per MCP spec
2026-02-19 13:50:10 +09:00
server /transports
Merge pull request #237 from koic/replace_assert_empty_with_assert_equal_using_explicit_literals
2026-03-03 01:05:16 +09:00
tool
Merge pull request #237 from koic/replace_assert_empty_with_assert_equal_using_explicit_literals
2026-03-03 01:05:16 +09:00
annotations_test.rb
Replace assert_empty with assert_equal using explicit literals
2026-02-24 16:09:34 +09:00
client_test.rb
Support progress notifications per MCP specification
2026-03-10 01:49:09 +09:00
configuration_test.rb
Merge pull request #192 from koic/add_missing_assertion
2025-12-25 00:33:12 +09:00
content_test.rb
Add Content::EmbeddedResource class for embedded resource content type
2026-03-02 01:33:05 +09:00
icon_test.rb
Replace assert_empty with assert_equal using explicit literals
2026-02-24 16:09:34 +09:00
instrumentation_test.rb
Use autoload to defer loading of unused subsystems
2026-03-12 14:08:27 +09:00
logging_message_notification_test.rb
Add logging support
2026-01-26 22:23:46 +09:00
methods_test.rb
Use autoload to defer loading of unused subsystems
2026-03-12 14:08:27 +09:00
progress_test.rb
Support progress notifications per MCP specification
2026-03-10 01:49:09 +09:00
prompt_test.rb
Fix Prompt#validate_arguments! crash when arguments are nil
2026-03-01 17:21:41 +09:00
resource_template_test.rb
Omit icons from responses when empty or nil
2026-01-12 09:46:45 +09:00
resource_test.rb
Omit icons from responses when empty or nil
2026-01-12 09:46:45 +09:00
server_context_test.rb
Support progress notifications per MCP specification
2026-03-10 01:49:09 +09:00
server_notification_test.rb
Add logging support
2026-01-26 22:23:46 +09:00
server_progress_test.rb
Support progress notifications per MCP specification
2026-03-10 01:49:09 +09:00
server_test.rb
Support progress notifications per MCP specification
2026-03-10 01:49:09 +09:00
string_utils_test.rb
Fix ReDoS vulnerability in StringUtils#underscore
2026-01-09 01:14:52 +09:00
tool_test.rb
Allow $ref in Tool::Schema for protocol version 2025-11-25
2026-02-27 14:33:36 +09:00
transport_test.rb
Remove redundant require statements
2025-08-02 00:57:31 +09:00