legion-mcp 0.5.8 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ff0343837c41b8a3c90e88f6d307244d57d0b37ca8c48cc9c4b8b346aefeb51
4
- data.tar.gz: 6e222e352d5f1484a4f40e8893c8c2c9b71315052d3bfbda72a48c6f4f2369a4
3
+ metadata.gz: be92d2fce17740050cde5ca1b45deb3d678e5e2e48fca5e1fc4d7057118b068c
4
+ data.tar.gz: 4a01d5e8f26ee0f0203f59bc584cec5caffb04d45d6137f9dced2b7dc1d925b4
5
5
  SHA512:
6
- metadata.gz: 3fa4b7fab3a42f425bd63d91bc2a97802a12ecb5374313b85d21f959e4b8f63fff13ef8daf7d0c95f3de698bb07ad4cf3aacedbcddfbe391383a54d31a4b422b
7
- data.tar.gz: 3d74c974da483a0384ebaee0fb2420541e2aa9f00de38e562be09ecef2673ab284080821e030616268e9b5947345e82bce8d29da7a7fc1d8dd3114f32c584299
6
+ metadata.gz: ed9a3d3eb3a686443a213fce62729d92e0c892b3ced57921ac0ec6312974e3ac4dd588c7cb01eb32943a2063dcdaf84e03f4f1b9cf48783c08489e3be738ee03
7
+ data.tar.gz: bdf60cb8ebb7f994097f50e50bcef95ae2b4da27c3958edce57d8d897bdac8f3c5fee3d3b668fd4f971b9b06c6375e203df8e9aad7204b24e581fb0032590b95
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # legion-mcp Changelog
2
2
 
3
+ ## [0.5.9] - 2026-03-26
4
+
5
+ ### Added
6
+ - `legion.knowledge_health` MCP tool: health report for document knowledge base (local, Apollo, sync stats)
7
+ - Optional `path:` input (falls back to Settings corpus_path)
8
+ - Tool count: 57 → 58
9
+
3
10
  ## [0.5.8] - 2026-03-26
4
11
 
5
12
  ### Added
@@ -65,6 +65,7 @@ require_relative 'tools/mind_growth_build_queue'
65
65
  require_relative 'tools/mind_growth_cognitive_profile'
66
66
  require_relative 'tools/mind_growth_health'
67
67
  require_relative 'tools/query_knowledge'
68
+ require_relative 'tools/knowledge_health'
68
69
  require_relative 'catalog_bridge'
69
70
  require_relative 'resources/runner_catalog'
70
71
  require_relative 'resources/extension_info'
@@ -129,7 +130,8 @@ module Legion
129
130
  Tools::MindGrowthBuildQueue,
130
131
  Tools::MindGrowthCognitiveProfile,
131
132
  Tools::MindGrowthHealth,
132
- Tools::QueryKnowledge
133
+ Tools::QueryKnowledge,
134
+ Tools::KnowledgeHealth
133
135
  ].freeze
134
136
 
135
137
  class << self
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ module MCP
5
+ module Tools
6
+ class KnowledgeHealth < ::MCP::Tool
7
+ tool_name 'legion.knowledge_health'
8
+ description 'Get health report for the document knowledge base. Returns local, Apollo, and sync stats.'
9
+
10
+ input_schema(
11
+ properties: {
12
+ path: { type: 'string', description: 'Corpus directory path (falls back to settings)' }
13
+ }
14
+ )
15
+
16
+ class << self
17
+ def call(path: nil)
18
+ return error_response('lex-knowledge is not available') unless knowledge_available?
19
+
20
+ resolved = resolve_path(path)
21
+ return error_response('No corpus path configured') unless resolved
22
+
23
+ result = Legion::Extensions::Knowledge::Runners::Maintenance.health(path: resolved)
24
+ text_response(result)
25
+ rescue StandardError => e
26
+ Legion::Logging.warn("KnowledgeHealth#call failed: #{e.message}") if defined?(Legion::Logging)
27
+ error_response("Knowledge health failed: #{e.message}")
28
+ end
29
+
30
+ private
31
+
32
+ def knowledge_available?
33
+ defined?(Legion::Extensions::Knowledge::Runners::Maintenance)
34
+ end
35
+
36
+ def resolve_path(path)
37
+ return path if path && !path.empty?
38
+ return nil unless defined?(Legion::Settings)
39
+
40
+ Legion::Settings.dig(:knowledge, :corpus_path)
41
+ rescue StandardError
42
+ nil
43
+ end
44
+
45
+ def text_response(data)
46
+ ::MCP::Tool::Response.new([{ type: 'text', text: Legion::JSON.dump(data) }])
47
+ end
48
+
49
+ def error_response(msg)
50
+ body = { error: msg }
51
+ ::MCP::Tool::Response.new([{ type: 'text', text: Legion::JSON.dump(body) }], error: true)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module MCP
5
- VERSION = '0.5.8'
5
+ VERSION = '0.5.9'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-mcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -171,6 +171,7 @@ files:
171
171
  - lib/legion/mcp/tools/get_status.rb
172
172
  - lib/legion/mcp/tools/get_task.rb
173
173
  - lib/legion/mcp/tools/get_task_logs.rb
174
+ - lib/legion/mcp/tools/knowledge_health.rb
174
175
  - lib/legion/mcp/tools/list_chains.rb
175
176
  - lib/legion/mcp/tools/list_extensions.rb
176
177
  - lib/legion/mcp/tools/list_peers.rb