Class: KairosMcp::Tools::ChainStatus

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/kairos_mcp/tools/chain_status.rb

Instance Method Summary collapse

Methods inherited from BaseTool

#initialize, #invoke_tool, #to_full_schema, #to_schema

Constructor Details

This class inherits a constructor from KairosMcp::Tools::BaseTool

Instance Method Details

#call(arguments) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/kairos_mcp/tools/chain_status.rb', line 44

def call(arguments)
  chain = KairosChain::Chain.new
  
  # Build storage info
  backend = SkillsConfig.storage_backend
  storage_info = { backend: backend }
  
  if backend == 'sqlite'
    sqlite_config = SkillsConfig.sqlite_config
    storage_info[:sqlite_path] = sqlite_config['path']
    storage_info[:wal_mode] = sqlite_config['wal_mode']
  end
  
  status = {
    valid: chain.valid?,
    length: chain.chain.length,
    storage: storage_info,
    latest_block: chain.latest_block.to_h
  }
  
  text_content(JSON.pretty_generate(status))
end

#categoryObject



16
17
18
# File 'lib/kairos_mcp/tools/chain_status.rb', line 16

def category
  :chain
end

#descriptionObject



12
13
14
# File 'lib/kairos_mcp/tools/chain_status.rb', line 12

def description
  'Get the current status of the KairosChain blockchain.'
end

#examplesObject



24
25
26
27
28
29
30
31
# File 'lib/kairos_mcp/tools/chain_status.rb', line 24

def examples
  [
    {
      title: 'Check blockchain status',
      code: 'chain_status()'
    }
  ]
end

#input_schemaObject



37
38
39
40
41
42
# File 'lib/kairos_mcp/tools/chain_status.rb', line 37

def input_schema
  {
    type: 'object',
    properties: {}
  }
end

#nameObject



8
9
10
# File 'lib/kairos_mcp/tools/chain_status.rb', line 8

def name
  'chain_status'
end


33
34
35
# File 'lib/kairos_mcp/tools/chain_status.rb', line 33

def related_tools
  %w[chain_verify chain_history state_status]
end

#usecase_tagsObject



20
21
22
# File 'lib/kairos_mcp/tools/chain_status.rb', line 20

def usecase_tags
  %w[status blockchain check overview health]
end