Module: Legion::MCP
- Extended by:
- Logging::Helper
- Defined in:
- lib/legion/mcp.rb,
lib/legion/mcp/auth.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/absorb.rb,
lib/legion/mcp/tools/skills.rb,
lib/legion/mcp/usage_filter.rb,
lib/legion/mcp/context_guard.rb,
lib/legion/mcp/pattern_store.rb,
lib/legion/mcp/self_generate.rb,
lib/legion/mcp/state_tracker.rb,
lib/legion/mcp/pattern_gossip.rb,
lib/legion/mcp/pattern_schema.rb,
lib/legion/mcp/tools/ask_peer.rb,
lib/legion/mcp/tools/eval_run.rb,
lib/legion/mcp/tools/get_task.rb,
lib/legion/mcp/tools/run_task.rb,
lib/legion/mcp/embedding_index.rb,
lib/legion/mcp/logging_support.rb,
lib/legion/mcp/tool_governance.rb,
lib/legion/mcp/tools/do_action.rb,
lib/legion/mcp/tools/eval_list.rb,
lib/legion/mcp/context_compiler.rb,
lib/legion/mcp/dynamic_injector.rb,
lib/legion/mcp/pattern_compiler.rb,
lib/legion/mcp/pattern_exchange.rb,
lib/legion/mcp/structural_index.rb,
lib/legion/mcp/tools/get_config.rb,
lib/legion/mcp/tools/get_status.rb,
lib/legion/mcp/tools/list_peers.rb,
lib/legion/mcp/tools/list_tasks.rb,
lib/legion/mcp/tools/prompt_run.rb,
lib/legion/mcp/tools/rbac_check.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/tools/delete_task.rb,
lib/legion/mcp/tools/list_chains.rb,
lib/legion/mcp/tools/mesh_status.rb,
lib/legion/mcp/tools/notify_peer.rb,
lib/legion/mcp/tools/plan_action.rb,
lib/legion/mcp/tools/prompt_list.rb,
lib/legion/mcp/tools/prompt_show.rb,
lib/legion/mcp/tools/rbac_grants.rb,
lib/legion/mcp/tools/show_worker.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/dataset_list.rb,
lib/legion/mcp/tools/dataset_show.rb,
lib/legion/mcp/tools/delete_chain.rb,
lib/legion/mcp/tools/eval_results.rb,
lib/legion/mcp/tools/list_workers.rb,
lib/legion/mcp/tools/team_summary.rb,
lib/legion/mcp/tools/update_chain.rb,
lib/legion/mcp/tools/worker_costs.rb,
lib/legion/mcp/tools/get_extension.rb,
lib/legion/mcp/tools/get_task_logs.rb,
lib/legion/mcp/tools/routing_stats.rb,
lib/legion/mcp/tools/discover_tools.rb,
lib/legion/mcp/tools/list_schedules.rb,
lib/legion/mcp/tools/broadcast_peers.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/list_extensions.rb,
lib/legion/mcp/tools/query_knowledge.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/enable_extension.rb,
lib/legion/mcp/tools/knowledge_health.rb,
lib/legion/mcp/tools/rbac_assignments.rb,
lib/legion/mcp/tools/structural_index.rb,
lib/legion/mcp/tools/worker_lifecycle.rb,
lib/legion/mcp/tools/disable_extension.rb,
lib/legion/mcp/tools/knowledge_context.rb,
lib/legion/mcp/resources/extension_info.rb,
lib/legion/mcp/resources/runner_catalog.rb,
lib/legion/mcp/tools/experiment_results.rb,
lib/legion/mcp/tools/list_relationships.rb,
lib/legion/mcp/tools/mind_growth_health.rb,
lib/legion/mcp/tools/mind_growth_status.rb,
lib/legion/mcp/tools/create_relationship.rb,
lib/legion/mcp/tools/delete_relationship.rb,
lib/legion/mcp/tools/mind_growth_approve.rb,
lib/legion/mcp/tools/mind_growth_propose.rb,
lib/legion/mcp/tools/update_relationship.rb,
lib/legion/mcp/actors/self_generate_cycle.rb,
lib/legion/mcp/tools/mind_growth_build_queue.rb,
lib/legion/mcp/tools/mind_growth_cognitive_profile.rb
Defined Under Namespace
Modules: Actor, Auth, CatalogDispatcher, Client, ColdStart, ContextCompiler, ContextGuard, DeferredRegistry, DynamicInjector, EmbeddingIndex, FunctionDiscovery, GapDetector, LoggingSupport, Observer, OverrideBroadcast, PatternCompiler, PatternExchange, PatternGossip, PatternSchema, PatternStore, Resources, SelfGenerate, Server, Settings, StateTracker, StructuralIndex, TierRouter, ToolGovernance, ToolQuality, Tools, UsageFilter
Classes: ToolAdapter
Constant Summary
collapse
- VERSION =
'0.8.1'
Class Method Summary
collapse
Class Method Details
.reset! ⇒ Object
43
44
45
46
|
# File 'lib/legion/mcp.rb', line 43
def reset!
log.info 'Resetting Legion::MCP server cache' if @server
@server = nil
end
|
.server ⇒ Object
23
24
25
26
27
28
29
|
# File 'lib/legion/mcp.rb', line 23
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:) ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/legion/mcp.rb', line 31
def server_for(token:)
log.debug { "Authenticating MCP server request token_present=#{!token.to_s.empty?}" }
auth_result = Auth.authenticate(token)
return { error: auth_result[:error] } unless auth_result[:authenticated]
log.info { "Building identity-scoped MCP server identity=#{auth_result[:identity]}" }
Server.build(identity: auth_result[:identity])
rescue StandardError => e
handle_exception(e, level: :error, operation: 'mcp.server_for', token_present: !token.to_s.empty?)
{ error: e.message }
end
|