Module: Legion::MCP
- Extended by:
- Logging::Helper
- Defined in:
- lib/legion/mcp.rb,
lib/legion/mcp/auth.rb,
lib/legion/mcp/audit.rb,
lib/legion/mcp/utils.rb,
lib/legion/mcp/client.rb,
lib/legion/mcp/server.rb,
lib/legion/mcp/version.rb,
lib/legion/mcp/observer.rb,
lib/legion/mcp/settings.rb,
lib/legion/mcp/cold_start.rb,
lib/legion/mcp/client/pool.rb,
lib/legion/mcp/tier_router.rb,
lib/legion/mcp/gap_detector.rb,
lib/legion/mcp/tool_adapter.rb,
lib/legion/mcp/tool_quality.rb,
lib/legion/mcp/tools/skills.rb,
lib/legion/mcp/usage_filter.rb,
lib/legion/mcp/context_guard.rb,
lib/legion/mcp/self_generate.rb,
lib/legion/mcp/state_tracker.rb,
lib/legion/mcp/patterns/store.rb,
lib/legion/mcp/tools/get_task.rb,
lib/legion/mcp/tools/run_task.rb,
lib/legion/mcp/embedding_index.rb,
lib/legion/mcp/patterns/gossip.rb,
lib/legion/mcp/patterns/schema.rb,
lib/legion/mcp/tool_governance.rb,
lib/legion/mcp/tools/do_action.rb,
lib/legion/mcp/tracing_context.rb,
lib/legion/mcp/context_compiler.rb,
lib/legion/mcp/dynamic_injector.rb,
lib/legion/mcp/structural_index.rb,
lib/legion/mcp/tools/list_tasks.rb,
lib/legion/mcp/tools/state_diff.rb,
lib/legion/mcp/tools/tool_audit.rb,
lib/legion/mcp/client/connection.rb,
lib/legion/mcp/deferred_registry.rb,
lib/legion/mcp/patterns/compiler.rb,
lib/legion/mcp/patterns/exchange.rb,
lib/legion/mcp/tools/delete_task.rb,
lib/legion/mcp/tools/list_chains.rb,
lib/legion/mcp/tools/plan_action.rb,
lib/legion/mcp/catalog_dispatcher.rb,
lib/legion/mcp/function_discovery.rb,
lib/legion/mcp/override_broadcast.rb,
lib/legion/mcp/tools/create_chain.rb,
lib/legion/mcp/tools/delete_chain.rb,
lib/legion/mcp/tools/update_chain.rb,
lib/legion/mcp/tools/get_task_logs.rb,
lib/legion/mcp/tools/discover_tools.rb,
lib/legion/mcp/tools/list_schedules.rb,
lib/legion/mcp/tools/create_schedule.rb,
lib/legion/mcp/tools/delete_schedule.rb,
lib/legion/mcp/tools/describe_runner.rb,
lib/legion/mcp/tools/search_sessions.rb,
lib/legion/mcp/tools/update_schedule.rb,
lib/legion/mcp/client/server_registry.rb,
lib/legion/mcp/tools/structural_index.rb,
lib/legion/mcp/resources/extension_info.rb,
lib/legion/mcp/resources/runner_catalog.rb,
lib/legion/mcp/tools/list_relationships.rb,
lib/legion/mcp/tools/create_relationship.rb,
lib/legion/mcp/tools/delete_relationship.rb,
lib/legion/mcp/tools/update_relationship.rb,
lib/legion/mcp/transport/exchanges/audit.rb,
lib/legion/mcp/actors/self_generate_cycle.rb,
lib/legion/mcp/transport/messages/tool_call_event.rb,
lib/legion/mcp/transport/messages/governance_event.rb,
lib/legion/mcp/transport/messages/client_call_event.rb
Defined Under Namespace
Modules: Actor, Audit, Auth, CatalogDispatcher, Client, ColdStart, ContextCompiler, ContextGuard, DeferredRegistry, DynamicInjector, EmbeddingIndex, FunctionDiscovery, GapDetector, Observer, OverrideBroadcast, Patterns, Resources, SelfGenerate, Server, Settings, StateTracker, StructuralIndex, TierRouter, ToolGovernance, ToolQuality, Tools, TracingContext, Transport, UsageFilter, Utils
Classes: ToolAdapter
Constant Summary
collapse
- VERSION =
'0.9.1'
- PatternStore =
Backward compatibility — old flat names delegate to new namespace
Legion::MCP::Patterns::Store
- PatternSchema =
Legion::MCP::Patterns::Schema
- PatternCompiler =
Legion::MCP::Patterns::Compiler
- PatternExchange =
Legion::MCP::Patterns::Exchange
- PatternGossip =
Legion::MCP::Patterns::Gossip
Class Method Summary
collapse
Class Method Details
.reset! ⇒ Object
52
53
54
55
|
# File 'lib/legion/mcp.rb', line 52
def reset!
log.info 'Resetting Legion::MCP server cache' if @server
@server = nil
end
|
.server ⇒ Object
31
32
33
34
35
36
37
|
# File 'lib/legion/mcp.rb', line 31
def server
log.debug 'Building Legion::MCP server' unless @server
@server ||= Server.build
rescue StandardError => e
handle_exception(e, level: :error, operation: 'mcp.server')
raise
end
|
.server_for(token: nil, identity: nil) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/legion/mcp.rb', line 39
def server_for(token: nil, identity: nil)
log.debug { "Authenticating MCP server request token_present=#{!token.to_s.empty?}" }
identity ||= resolve_identity(token)
return identity if identity.is_a?(Hash) && identity.key?(:error)
log.info { "Building identity-scoped MCP server identity=#{identity}" }
Server.build(identity: identity)
rescue StandardError => e
handle_exception(e, level: :error, operation: 'mcp.server_for', token_present: !token.to_s.empty?)
{ error: e.message }
end
|