@@ -42,10 +42,11 @@ ProtocolServerMCP::ProtocolServerMCP() : ProtocolServer() {
4242 AddRequestHandler (" resources/read" ,
4343 std::bind (&ProtocolServerMCP::ResourcesReadHandler, this ,
4444 std::placeholders::_1));
45- AddNotificationHandler (
46- " notifications/initialized" , [](const protocol::Notification &) {
47- LLDB_LOG (GetLog (LLDBLog::Host), " MCP initialization complete" );
48- });
45+ AddNotificationHandler (" notifications/initialized" ,
46+ [](const lldb_protocol::mcp::Notification &) {
47+ LLDB_LOG (GetLog (LLDBLog::Host),
48+ " MCP initialization complete" );
49+ });
4950
5051 AddTool (
5152 std::make_unique<CommandTool>(" lldb_command" , " Run an lldb command." ));
@@ -72,11 +73,11 @@ llvm::StringRef ProtocolServerMCP::GetPluginDescriptionStatic() {
7273 return " MCP Server." ;
7374}
7475
75- llvm::Expected<protocol ::Response>
76- ProtocolServerMCP::Handle (protocol ::Request request) {
76+ llvm::Expected<lldb_protocol::mcp ::Response>
77+ ProtocolServerMCP::Handle (lldb_protocol::mcp ::Request request) {
7778 auto it = m_request_handlers.find (request.method );
7879 if (it != m_request_handlers.end ()) {
79- llvm::Expected<protocol ::Response> response = it->second (request);
80+ llvm::Expected<lldb_protocol::mcp ::Response> response = it->second (request);
8081 if (!response)
8182 return response;
8283 response->id = request.id ;
@@ -87,7 +88,7 @@ ProtocolServerMCP::Handle(protocol::Request request) {
8788 llvm::formatv (" no handler for request: {0}" , request.method ).str ());
8889}
8990
90- void ProtocolServerMCP::Handle (protocol ::Notification notification) {
91+ void ProtocolServerMCP::Handle (lldb_protocol::mcp ::Notification notification) {
9192 auto it = m_notification_handlers.find (notification.method );
9293 if (it != m_notification_handlers.end ()) {
9394 it->second (notification);
@@ -133,7 +134,7 @@ llvm::Error ProtocolServerMCP::ReadCallback(Client &client) {
133134
134135 for (std::string::size_type pos;
135136 (pos = client.buffer .find (' \n ' )) != std::string::npos;) {
136- llvm::Expected<std::optional<protocol ::Message>> message =
137+ llvm::Expected<std::optional<lldb_protocol::mcp ::Message>> message =
137138 HandleData (StringRef (client.buffer .data (), pos));
138139 client.buffer = client.buffer .erase (0 , pos + 1 );
139140 if (!message)
@@ -208,19 +209,19 @@ llvm::Error ProtocolServerMCP::Stop() {
208209 return llvm::Error::success ();
209210}
210211
211- llvm::Expected<std::optional<protocol ::Message>>
212+ llvm::Expected<std::optional<lldb_protocol::mcp ::Message>>
212213ProtocolServerMCP::HandleData (llvm::StringRef data) {
213- auto message = llvm::json::parse<protocol ::Message>(/* JSON=*/ data);
214+ auto message = llvm::json::parse<lldb_protocol::mcp ::Message>(/* JSON=*/ data);
214215 if (!message)
215216 return message.takeError ();
216217
217- if (const protocol ::Request *request =
218- std::get_if<protocol ::Request>(&(*message))) {
219- llvm::Expected<protocol ::Response> response = Handle (*request);
218+ if (const lldb_protocol::mcp ::Request *request =
219+ std::get_if<lldb_protocol::mcp ::Request>(&(*message))) {
220+ llvm::Expected<lldb_protocol::mcp ::Response> response = Handle (*request);
220221
221222 // Handle failures by converting them into an Error message.
222223 if (!response) {
223- protocol ::Error protocol_error;
224+ lldb_protocol::mcp ::Error protocol_error;
224225 llvm::handleAllErrors (
225226 response.takeError (),
226227 [&](const MCPError &err) { protocol_error = err.toProtcolError (); },
@@ -235,23 +236,23 @@ ProtocolServerMCP::HandleData(llvm::StringRef data) {
235236 return *response;
236237 }
237238
238- if (const protocol ::Notification *notification =
239- std::get_if<protocol ::Notification>(&(*message))) {
239+ if (const lldb_protocol::mcp ::Notification *notification =
240+ std::get_if<lldb_protocol::mcp ::Notification>(&(*message))) {
240241 Handle (*notification);
241242 return std::nullopt ;
242243 }
243244
244- if (std::get_if<protocol ::Error>(&(*message)))
245+ if (std::get_if<lldb_protocol::mcp ::Error>(&(*message)))
245246 return llvm::createStringError (" unexpected MCP message: error" );
246247
247- if (std::get_if<protocol ::Response>(&(*message)))
248+ if (std::get_if<lldb_protocol::mcp ::Response>(&(*message)))
248249 return llvm::createStringError (" unexpected MCP message: response" );
249250
250251 llvm_unreachable (" all message types handled" );
251252}
252253
253- protocol ::Capabilities ProtocolServerMCP::GetCapabilities () {
254- protocol ::Capabilities capabilities;
254+ lldb_protocol::mcp ::Capabilities ProtocolServerMCP::GetCapabilities () {
255+ lldb_protocol::mcp ::Capabilities capabilities;
255256 capabilities.tools .listChanged = true ;
256257 // FIXME: Support sending notifications when a debugger/target are
257258 // added/removed.
@@ -288,20 +289,22 @@ void ProtocolServerMCP::AddNotificationHandler(llvm::StringRef method,
288289 m_notification_handlers[method] = std::move (handler);
289290}
290291
291- llvm::Expected<protocol::Response>
292- ProtocolServerMCP::InitializeHandler (const protocol::Request &request) {
293- protocol::Response response;
292+ llvm::Expected<lldb_protocol::mcp::Response>
293+ ProtocolServerMCP::InitializeHandler (
294+ const lldb_protocol::mcp::Request &request) {
295+ lldb_protocol::mcp::Response response;
294296 response.result .emplace (llvm::json::Object{
295- {" protocolVersion" , protocol ::kVersion },
297+ {" protocolVersion" , lldb_protocol::mcp ::kVersion },
296298 {" capabilities" , GetCapabilities ()},
297299 {" serverInfo" ,
298300 llvm::json::Object{{" name" , kName }, {" version" , kVersion }}}});
299301 return response;
300302}
301303
302- llvm::Expected<protocol::Response>
303- ProtocolServerMCP::ToolsListHandler (const protocol::Request &request) {
304- protocol::Response response;
304+ llvm::Expected<lldb_protocol::mcp::Response>
305+ ProtocolServerMCP::ToolsListHandler (
306+ const lldb_protocol::mcp::Request &request) {
307+ lldb_protocol::mcp::Response response;
305308
306309 llvm::json::Array tools;
307310 for (const auto &tool : m_tools)
@@ -312,9 +315,10 @@ ProtocolServerMCP::ToolsListHandler(const protocol::Request &request) {
312315 return response;
313316}
314317
315- llvm::Expected<protocol::Response>
316- ProtocolServerMCP::ToolsCallHandler (const protocol::Request &request) {
317- protocol::Response response;
318+ llvm::Expected<lldb_protocol::mcp::Response>
319+ ProtocolServerMCP::ToolsCallHandler (
320+ const lldb_protocol::mcp::Request &request) {
321+ lldb_protocol::mcp::Response response;
318322
319323 if (!request.params )
320324 return llvm::createStringError (" no tool parameters" );
@@ -335,11 +339,11 @@ ProtocolServerMCP::ToolsCallHandler(const protocol::Request &request) {
335339 if (it == m_tools.end ())
336340 return llvm::createStringError (llvm::formatv (" no tool \" {0}\" " , tool_name));
337341
338- protocol ::ToolArguments tool_args;
342+ lldb_protocol::mcp ::ToolArguments tool_args;
339343 if (const json::Value *args = param_obj->get (" arguments" ))
340344 tool_args = *args;
341345
342- llvm::Expected<protocol ::TextResult> text_result =
346+ llvm::Expected<lldb_protocol::mcp ::TextResult> text_result =
343347 it->second ->Call (tool_args);
344348 if (!text_result)
345349 return text_result.takeError ();
@@ -349,16 +353,17 @@ ProtocolServerMCP::ToolsCallHandler(const protocol::Request &request) {
349353 return response;
350354}
351355
352- llvm::Expected<protocol::Response>
353- ProtocolServerMCP::ResourcesListHandler (const protocol::Request &request) {
354- protocol::Response response;
356+ llvm::Expected<lldb_protocol::mcp::Response>
357+ ProtocolServerMCP::ResourcesListHandler (
358+ const lldb_protocol::mcp::Request &request) {
359+ lldb_protocol::mcp::Response response;
355360
356361 llvm::json::Array resources;
357362
358363 std::lock_guard<std::mutex> guard (m_server_mutex);
359364 for (std::unique_ptr<ResourceProvider> &resource_provider_up :
360365 m_resource_providers) {
361- for (const protocol ::Resource &resource :
366+ for (const lldb_protocol::mcp ::Resource &resource :
362367 resource_provider_up->GetResources ())
363368 resources.push_back (resource);
364369 }
@@ -368,9 +373,10 @@ ProtocolServerMCP::ResourcesListHandler(const protocol::Request &request) {
368373 return response;
369374}
370375
371- llvm::Expected<protocol::Response>
372- ProtocolServerMCP::ResourcesReadHandler (const protocol::Request &request) {
373- protocol::Response response;
376+ llvm::Expected<lldb_protocol::mcp::Response>
377+ ProtocolServerMCP::ResourcesReadHandler (
378+ const lldb_protocol::mcp::Request &request) {
379+ lldb_protocol::mcp::Response response;
374380
375381 if (!request.params )
376382 return llvm::createStringError (" no resource parameters" );
@@ -390,7 +396,7 @@ ProtocolServerMCP::ResourcesReadHandler(const protocol::Request &request) {
390396 std::lock_guard<std::mutex> guard (m_server_mutex);
391397 for (std::unique_ptr<ResourceProvider> &resource_provider_up :
392398 m_resource_providers) {
393- llvm::Expected<protocol ::ResourceResult> result =
399+ llvm::Expected<lldb_protocol::mcp ::ResourceResult> result =
394400 resource_provider_up->ReadResource (uri_str);
395401 if (result.errorIsA <UnsupportedURI>()) {
396402 llvm::consumeError (result.takeError ());
@@ -399,7 +405,7 @@ ProtocolServerMCP::ResourcesReadHandler(const protocol::Request &request) {
399405 if (!result)
400406 return result.takeError ();
401407
402- protocol ::Response response;
408+ lldb_protocol::mcp ::Response response;
403409 response.result .emplace (std::move (*result));
404410 return response;
405411 }
0 commit comments