Module: ActionMCP
- Defined in:
- app/models/action_mcp/session.rb,
lib/action_mcp.rb,
lib/action_mcp/apps.rb,
lib/action_mcp/tool.rb,
app/models/action_mcp.rb,
lib/action_mcp/engine.rb,
lib/action_mcp/prompt.rb,
lib/action_mcp/server.rb,
lib/action_mcp/content.rb,
lib/action_mcp/current.rb,
lib/action_mcp/gateway.rb,
lib/action_mcp/logging.rb,
lib/action_mcp/version.rb,
lib/action_mcp/resource.rb,
lib/action_mcp/callbacks.rb,
lib/action_mcp/transport.rb,
lib/action_mcp/capability.rb,
lib/action_mcp/dev/runner.rb,
lib/action_mcp/mime_types.rb,
lib/action_mcp/renderable.rb,
lib/action_mcp/gem_version.rb,
lib/action_mcp/test_helper.rb,
lib/action_mcp/content/base.rb,
lib/action_mcp/content/text.rb,
lib/action_mcp/server/roots.rb,
lib/action_mcp/server/tasks.rb,
lib/action_mcp/server/tools.rb,
lib/action_mcp/string_array.rb,
lib/action_mcp/base_response.rb,
lib/action_mcp/configuration.rb,
lib/action_mcp/content/audio.rb,
lib/action_mcp/content/image.rb,
lib/action_mcp/integer_array.rb,
lib/action_mcp/logging/level.rb,
lib/action_mcp/logging/mixin.rb,
lib/action_mcp/logging/state.rb,
lib/action_mcp/registry_base.rb,
lib/action_mcp/tool_response.rb,
lib/action_mcp/log_subscriber.rb,
lib/action_mcp/logging/logger.rb,
lib/action_mcp/schema_helpers.rb,
lib/action_mcp/server/prompts.rb,
lib/action_mcp/tools_registry.rb,
lib/action_mcp/current_helpers.rb,
lib/action_mcp/filtered_logger.rb,
lib/action_mcp/prompt_response.rb,
lib/action_mcp/server/sampling.rb,
lib/action_mcp/types/hash_type.rb,
lib/action_mcp/console_detector.rb,
lib/action_mcp/content/resource.rb,
lib/action_mcp/prompts_registry.rb,
lib/action_mcp/schema_validator.rb,
lib/action_mcp/server/resources.rb,
lib/action_mcp/resource_response.rb,
lib/action_mcp/resource_template.rb,
lib/action_mcp/server/pagination.rb,
lib/action_mcp/apps/view_manifest.rb,
lib/action_mcp/content/validation.rb,
lib/action_mcp/gateway_identifier.rb,
lib/action_mcp/protocol_validator.rb,
lib/action_mcp/resource_callbacks.rb,
lib/action_mcp/server/completions.rb,
lib/action_mcp/server/elicitation.rb,
lib/action_mcp/server/error_aware.rb,
lib/action_mcp/server/tool_result.rb,
app/helpers/action_mcp/apps_helper.rb,
app/models/action_mcp/session/task.rb,
lib/action_mcp/gateway_identifiers.rb,
lib/action_mcp/logging/null_logger.rb,
lib/action_mcp/server/base_session.rb,
lib/action_mcp/server/capabilities.rb,
lib/action_mcp/server/session_store.rb,
lib/action_mcp/content/resource_link.rb,
lib/action_mcp/json_rpc_handler_base.rb,
lib/action_mcp/output_schema_builder.rb,
lib/action_mcp/server/base_messaging.rb,
lib/action_mcp/server/error_handling.rb,
lib/action_mcp/tagged_stream_logging.rb,
lib/action_mcp/uri_ambiguity_checker.rb,
app/models/action_mcp/session/message.rb,
lib/action_mcp/server/handlers/router.rb,
lib/action_mcp/types/float_array_type.rb,
app/jobs/action_mcp/tool_execution_job.rb,
lib/action_mcp/server/json_rpc_handler.rb,
lib/action_mcp/server/sampling_request.rb,
lib/action_mcp/server/messaging_service.rb,
lib/action_mcp/server/transport_handler.rb,
app/models/action_mcp/application_record.rb,
lib/action_mcp/server/base_session_store.rb,
lib/action_mcp/server/response_collector.rb,
lib/action_mcp/server/test_session_store.rb,
lib/action_mcp/server/elicitation_request.rb,
lib/action_mcp/server/registry_management.rb,
app/models/action_mcp/session/subscription.rb,
lib/action_mcp/resource_templates_registry.rb,
lib/action_mcp/server/client_notifications.rb,
app/controllers/action_mcp/mcp_app_renderer.rb,
lib/action_mcp/middleware/origin_validation.rb,
lib/action_mcp/server/handlers/task_handler.rb,
lib/action_mcp/server/handlers/tool_handler.rb,
lib/action_mcp/server/session_store_factory.rb,
lib/action_mcp/server/volatile_session_store.rb,
lib/action_mcp/server/handlers/prompt_handler.rb,
lib/action_mcp/server/url_elicitation_request.rb,
lib/generators/action_mcp/tool/tool_generator.rb,
lib/generators/action_mcp/view/view_generator.rb,
lib/action_mcp/instrumentation/instrumentation.rb,
lib/action_mcp/server/handlers/logging_handler.rb,
lib/action_mcp/server/handlers/resource_handler.rb,
app/controllers/action_mcp/application_controller.rb,
lib/action_mcp/instrumentation/controller_runtime.rb,
lib/action_mcp/server/active_record_session_store.rb,
lib/generators/action_mcp/prompt/prompt_generator.rb,
app/models/concerns/action_mcp/mcp_console_helpers.rb,
app/models/concerns/action_mcp/mcp_message_inspect.rb,
lib/action_mcp/test_helper/session_store_assertions.rb,
lib/generators/action_mcp/install/install_generator.rb,
lib/action_mcp/gateway_identifiers/devise_identifier.rb,
lib/action_mcp/gateway_identifiers/warden_identifier.rb,
lib/action_mcp/gateway_identifiers/api_key_identifier.rb,
lib/action_mcp/instrumentation/resource_instrumentation.rb,
lib/action_mcp/gateway_identifiers/request_env_identifier.rb,
lib/generators/action_mcp/identifier/identifier_generator.rb,
lib/action_mcp/test_helper/progress_notification_assertions.rb,
lib/generators/action_mcp/resource_template/resource_template_generator.rb
Overview
require_relative '../../../test/dummy/app/assets/stylesheets/pwa.tailwind.bootstrap.css'
Defined Under Namespace
Modules: Apps, AppsHelper, Callbacks, ConsoleDetector, Content, CurrentHelpers, Dev, GatewayIdentifiers, Generators, Instrumentation, Logging, MCPConsoleHelpers, MCPMessageInspect, Middleware, MimeTypes, Renderable, ResourceCallbacks, SchemaHelpers, SchemaValidator, Server, TaggedStreamLogging, TestHelper, Transport, Types, UriAmbiguityChecker Classes: ApplicationController, ApplicationRecord, BaseResponse, Capability, Configuration, Current, Engine, FilteredLogger, Gateway, GatewayIdentifier, IntegerArray, JsonRpcHandlerBase, LogSubscriber, MCPAppRenderer, OutputSchemaBuilder, Prompt, PromptResponse, PromptsRegistry, ProtocolValidator, RegistryBase, Resource, ResourceResponse, ResourceTemplate, ResourceTemplatesRegistry, Session, StringArray, StructuredContentValidationError, Tool, ToolExecutionJob, ToolResponse, ToolsRegistry, UnauthorizedError
Constant Summary collapse
- SUPPORTED_VERSIONS =
Protocol version constants
[ "2025-11-25" ].freeze
- LATEST_VERSION =
SUPPORTED_VERSIONS.first.freeze
- DEFAULT_PROTOCOL_VERSION =
LATEST_VERSION- MIME_TYPE_APP_HTML =
MCP Apps UI resources (ext-apps, stable 2026-01-26)
Apps::MIME_TYPE
- VERSION =
"0.200.0"
Class Attribute Summary collapse
-
.logger ⇒ Object
Returns the value of attribute logger.
Class Method Summary collapse
-
.available_prompts ⇒ ActionMCP::RegistryBase::RegistryScope
Returns the available prompts.
-
.available_tools ⇒ ActionMCP::RegistryBase::RegistryScope
Returns the available tools.
-
.configuration ⇒ Object
Returns the configuration instance.
-
.configure {|configuration| ... } ⇒ Object
Configures the ActionMCP module.
-
.gem_version ⇒ Gem::Version
Returns the currently loaded version of Active MCP as a
Gem::Version. -
.prompts ⇒ Hash
Returns the prompts registry.
-
.server ⇒ #call
Returns a Rack-compatible application for serving MCP requests.
- .table_name_prefix ⇒ Object
-
.thread_profiles ⇒ Object
Thread-local storage for active profiles.
-
.tools ⇒ Hash
Returns the tools registry.
- .version ⇒ Object
- .with_profile(profile_name) ⇒ Object
Class Attribute Details
.logger ⇒ Object
Returns the value of attribute logger.
492 493 494 |
# File 'lib/action_mcp/configuration.rb', line 492 def logger @logger end |
Class Method Details
.available_prompts ⇒ ActionMCP::RegistryBase::RegistryScope
Returns the available prompts.
92 93 94 |
# File 'lib/action_mcp.rb', line 92 def available_prompts PromptsRegistry.available_prompts end |
.available_tools ⇒ ActionMCP::RegistryBase::RegistryScope
Returns the available tools.
85 86 87 |
# File 'lib/action_mcp.rb', line 85 def available_tools ToolsRegistry.available_tools end |
.configuration ⇒ Object
Returns the configuration instance.
53 54 55 |
# File 'lib/action_mcp.rb', line 53 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
Configures the ActionMCP module.
61 62 63 |
# File 'lib/action_mcp.rb', line 61 def configure yield(configuration) end |
.gem_version ⇒ Gem::Version
Returns the currently loaded version of Active MCP as a Gem::Version.
7 8 9 |
# File 'lib/action_mcp/gem_version.rb', line 7 def self.gem_version Gem::Version.new VERSION end |
.prompts ⇒ Hash
Returns the prompts registry.
78 79 80 |
# File 'lib/action_mcp.rb', line 78 def prompts PromptsRegistry.prompts end |
.server ⇒ #call
Returns a Rack-compatible application for serving MCP requests
46 47 48 |
# File 'lib/action_mcp.rb', line 46 def server Engine end |
.table_name_prefix ⇒ Object
4 5 6 |
# File 'app/models/action_mcp.rb', line 4 def self.table_name_prefix "action_mcp_" end |
.thread_profiles ⇒ Object
Thread-local storage for active profiles
495 496 497 |
# File 'lib/action_mcp/configuration.rb', line 495 def thread_profiles @thread_profiles ||= Concurrent::ThreadLocalVar.new(nil) end |
.tools ⇒ Hash
Returns the tools registry.
71 72 73 |
# File 'lib/action_mcp.rb', line 71 def tools ToolsRegistry.tools end |
.version ⇒ Object
8 |
# File 'lib/action_mcp/version.rb', line 8 alias version gem_version |
.with_profile(profile_name) ⇒ Object
509 510 511 512 513 514 515 516 517 518 519 520 521 522 |
# File 'lib/action_mcp/configuration.rb', line 509 def with_profile(profile_name) previous_profile = thread_profiles.value thread_profiles.value = profile_name # Apply the profile options when switching profiles configuration&. yield if block_given? ensure thread_profiles.value = previous_profile if block_given? # Reapply the previous profile's options when switching back configuration. if block_given? && configuration end |