Class: Anima::CLI::Mcp::Secrets
- Inherits:
-
Thor
- Object
- Thor
- Anima::CLI::Mcp::Secrets
- Defined in:
- lib/anima/cli/mcp/secrets.rb
Overview
CLI commands for managing MCP secrets stored in the encrypted secrets table. Secrets are referenced in mcp.toml via ${credential:key_name} syntax.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.exit_on_failure? ⇒ Boolean
21 22 23 |
# File 'lib/anima/cli/mcp/secrets.rb', line 21 def self.exit_on_failure? true end |
Instance Method Details
#list ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/anima/cli/mcp/secrets.rb', line 41 def list keys = require_mcp_secrets.list if keys.empty? say "No MCP secrets stored.", :yellow say "Add one with: anima mcp secrets set KEY=VALUE" return end keys.each { |key| say " #{key}" } end |
#remove(key) ⇒ Object
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/anima/cli/mcp/secrets.rb', line 54 def remove(key) secrets = require_mcp_secrets unless secrets.list.include?(key) say "Error: secret '#{key}' not found", :red exit 1 end secrets.remove(key) say "Removed secret '#{key}'.", :green end |
#set(pair) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/anima/cli/mcp/secrets.rb', line 26 def set(pair) key, value = pair.split("=", 2) unless value say "Error: expected KEY=VALUE format, got '#{pair}'", :red exit 1 end require_mcp_secrets.set(key, value) say "Stored secret '#{key}'.", :green rescue ArgumentError => argument_error say "Error: #{argument_error.}", :red exit 1 end |