Class: Legion::MCP::Tools::SkillDescribe

Inherits:
MCP::Tool
  • Object
show all
Extended by:
Logging::Helper
Defined in:
lib/legion/mcp/tools/skills.rb

Class Method Summary collapse

Class Method Details

.call(name:) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/legion/mcp/tools/skills.rb', line 66

def call(name:)
  log.info('Starting legion.mcp.tools.skill_describe.call')
  return error_response('Skills not available: legion-llm not loaded') unless defined?(Legion::LLM::Skills::Registry)

  skill = find_skill(name)
  return error_response("Skill '#{name}' not found") if skill.nil?

  text_response({
                  name:          skill.skill_name,
                  namespace:     skill.namespace,
                  description:   skill.description,
                  trigger_words: skill.trigger_words,
                  trigger:       skill.trigger,
                  follows_skill: skill.follows_skill,
                  steps:         skill.steps
                })
rescue StandardError => e
  handle_exception(e, level: :warn, operation: 'legion.mcp.tools.skill_describe.call')
  log.warn("SkillDescribe#call failed: #{e.message}")
  error_response("Failed to describe skill: #{e.message}")
end