Class: Sxn::MCP::Tools::Projects::GetProject
- Inherits:
-
MCP::Tool
- Object
- MCP::Tool
- Sxn::MCP::Tools::Projects::GetProject
- Defined in:
- lib/sxn/mcp/tools/projects.rb
Overview
Get project details
Class Method Summary collapse
Class Method Details
.call(name:, server_context:) ⇒ Object
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/sxn/mcp/tools/projects.rb', line 110 def call(name:, server_context:) BaseTool.ensure_initialized!(server_context) BaseTool::ErrorMapping.wrap do project_manager = server_context[:project_manager] project = project_manager.get_project(name) # Validate the project validation = project_manager.validate_project(name) # Get project rules rules = project_manager.get_project_rules(name) rules_summary = rules.map { |type, configs| "#{type}: #{Array(configs).length}" }.join(", ") output = " Project: \#{project[:name]}\n Type: \#{project[:type]}\n Path: \#{project[:path]}\n Default branch: \#{project[:default_branch]}\n\n Validation: \#{validation[:valid] ? \"Valid\" : \"Invalid\"}\n \#{validation[:issues].map { |i| \" - \#{i}\" }.join(\"\\n\") unless validation[:valid]}\n\n Rules: \#{rules_summary.empty? ? \"(none)\" : rules_summary}\n INFO\n\n BaseTool.text_response(output.strip)\n end\nend\n" |