Skip to content

Commit 2808bd2

Browse files
committed
Avoid complex string escape in response to avoid breaking MCP clients
1 parent 749c63b commit 2808bd2

File tree

1 file changed

+8
-24
lines changed

1 file changed

+8
-24
lines changed

lib/ruby_lsp/mcp/tool.rb

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,7 @@ def perform
113113
ancestors: ancestors,
114114
methods: methods.map(&:name),
115115
uris: entries.map { |entry| entry.uri.to_s },
116-
documentation: markdown_from_index_entries(name, entries),
117-
}.to_yaml,
116+
}.to_s,
118117
}
119118
end
120119
end
@@ -168,22 +167,13 @@ def perform
168167
next if entries.nil?
169168

170169
entry_details = entries.map do |entry|
171-
{
172-
uri: entry.uri.to_s,
173-
visibility: entry.visibility,
174-
comments: entry.comments,
175-
parameters: entry.decorated_parameters,
176-
owner: entry.owner&.name,
177-
}
170+
"uri: #{entry.uri}, visibility: #{entry.visibility}, parameters: #{entry.decorated_parameters}," +
171+
"owner: #{entry.owner&.name}"
178172
end
179173

180174
{
181175
type: "text",
182-
text: {
183-
receiver: receiver,
184-
method: method,
185-
entry_details: entry_details,
186-
}.to_yaml,
176+
text: "{ receiver: #{receiver}, method: #{method}, entry_details: #{entry_details} }",
187177
}
188178
end.compact
189179
end
@@ -226,15 +216,9 @@ def perform
226216
class_names = @index.fuzzy_search(query).map do |entry|
227217
case entry
228218
when RubyIndexer::Entry::Class
229-
{
230-
name: entry.name,
231-
type: "class",
232-
}
219+
"{name: #{entry.name}, type: class}"
233220
when RubyIndexer::Entry::Module
234-
{
235-
name: entry.name,
236-
type: "module",
237-
}
221+
"{name: #{entry.name}, type: module}"
238222
end
239223
end.compact.uniq
240224

@@ -246,14 +230,14 @@ def perform
246230
},
247231
{
248232
type: "text",
249-
text: class_names.first(MAX_CLASSES_TO_RETURN).to_yaml,
233+
text: class_names.first(MAX_CLASSES_TO_RETURN).join(", "),
250234
},
251235
]
252236
else
253237
[
254238
{
255239
type: "text",
256-
text: class_names.to_yaml,
240+
text: class_names.join(", "),
257241
},
258242
]
259243
end

0 commit comments

Comments
 (0)