Class: Woods::MCP::Renderers::ClaudeRenderer
Overview
Renders MCP tool responses as Markdown wrapped in XML boundary tags. Matches Anthropic’s recommended format: XML tags for section boundaries, Markdown for content.
Constant Summary
ToolResponseRenderer::VALID_FORMATS
Instance Method Summary
collapse
#render_domain_clusters, #structure_denominators_glossary
for, #render
Instance Method Details
#render_default(data) ⇒ Object
68
69
70
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 68
def render_default(data)
wrap_xml('result', super)
end
|
#render_dependencies(data) ⇒ Object
28
29
30
31
32
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 28
def render_dependencies(data, **)
content = super
root = data[:root] || data['root']
wrap_xml('dependencies', content, root: root)
end
|
#render_dependents(data) ⇒ Object
34
35
36
37
38
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 34
def render_dependents(data, **)
content = super
root = data[:root] || data['root']
wrap_xml('dependents', content, root: root)
end
|
#render_framework(data) ⇒ Object
52
53
54
55
56
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 52
def render_framework(data, **)
content = super
keyword = data[:keyword] || data['keyword']
wrap_xml('framework_results', content, keyword: keyword)
end
|
#render_graph_analysis(data) ⇒ Object
44
45
46
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 44
def render_graph_analysis(data, **)
wrap_xml('graph_analysis', super)
end
|
#render_lookup(data) ⇒ String
Returns XML-wrapped Markdown.
12
13
14
15
16
17
18
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 12
def render_lookup(data, **)
return 'Unit not found' unless data.is_a?(Hash) && data['identifier']
content = super
wrap_xml('lookup_result', content,
identifier: data['identifier'], type: data['type'])
end
|
48
49
50
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 48
def (data, **)
wrap_xml('pagerank', super)
end
|
#render_recent_changes(data) ⇒ Object
58
59
60
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 58
def render_recent_changes(data, **)
wrap_xml('recent_changes', super)
end
|
#render_search(data) ⇒ String
Returns XML-wrapped Markdown.
22
23
24
25
26
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 22
def render_search(data, **)
content = super
query = data[:query] || data['query']
wrap_xml('search_results', content, query: query)
end
|
#render_structure(data) ⇒ Object
40
41
42
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 40
def render_structure(data, **)
wrap_xml('structure', super)
end
|
#render_trace_flow(data) ⇒ Object
62
63
64
65
66
|
# File 'lib/woods/mcp/renderers/claude_renderer.rb', line 62
def render_trace_flow(data, **)
content = super
entry_point = data[:entry_point] || data['entry_point']
wrap_xml('trace_flow', content, entry_point: entry_point)
end
|