Class: RosettAi::Mcp::Resources::RulesResource
- Inherits:
-
Object
- Object
- RosettAi::Mcp::Resources::RulesResource
- Defined in:
- lib/rosett_ai/mcp/resources/rules_resource.rb
Overview
MCP resource provider for compiled rule markdown files.
Exposes compiled rules (output of raictl compile) as MCP resources with URIs in the format rosett-ai://rules/name.
Constant Summary collapse
- URI_PREFIX =
'rosett-ai://rules/'
Instance Method Summary collapse
-
#list ⇒ Array<Hash>
Lists all available compiled rule resources.
-
#read(name) ⇒ Hash?
Reads a specific compiled rule.
Instance Method Details
#list ⇒ Array<Hash>
Lists all available compiled rule resources.
22 23 24 25 26 27 |
# File 'lib/rosett_ai/mcp/resources/rules_resource.rb', line 22 def list dir = RosettAi.paths.rules_dir return [] unless dir.directory? dir.glob('*.md').map { |path| resource_entry(path) } end |
#read(name) ⇒ Hash?
Reads a specific compiled rule.
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rosett_ai/mcp/resources/rules_resource.rb', line 33 def read(name) path = RosettAi.paths.rules_dir.join("#{name}.md") return nil unless path.exist? { uri: "#{URI_PREFIX}#{name}", content: File.read(path), mime_type: 'text/markdown' } end |