18#include <nlohmann/json.hpp>
66 logger->info(
"[diagnostics] stub invoked");
67 return {
"LSP diagnostics not yet connected (v1.8.7)", {}};
111 logger->info(
"[check_errors] stub invoked");
112 return {
"LSP check_errors not yet connected (v1.8.7)", {}};
126 const std::filesystem::path& root_dir,
127 const std::string& data_dir)
129 , root_dir_(root_dir) {
131 std::string tools_dir = data_dir +
"/tools";
133 diagnostics_ = std::make_unique<DiagnosticsTool>(
135 "diagnostics",
"diagnostics", tools_dir));
137 check_errors_ = std::make_unique<CheckErrorsTool>(
139 "check_errors",
"diagnostics", tools_dir));
144 logger->info(
"DiagnosticsServer initialized: root='{}'",
DiagnosticsServer(const std::filesystem::path &root_dir, const std::string &data_dir)
Construct with root directory and data dir.
~DiagnosticsServer() override
Destructor.
const std::filesystem::path & root_dir() const
Get the root directory.
Concrete base class for MCP servers (80% logic).
void register_tool(ToolBase *tool)
Register a tool with this server.
Diagnostics MCP server — LSP client for code diagnostics.
spdlog initialization and logger access.
ENTROPIC_EXPORT std::shared_ptr< spdlog::logger > get(const std::string &name)
Get or create a named logger.
Activate model on GPU (WARM → ACTIVE).
ToolDefinition load_tool_definition(const std::string &tool_name, const std::string &server_prefix, const std::string &data_dir)
Load a tool definition from a JSON file.
MCPAccessLevel
MCP tool access level for per-identity authorization.
@ READ
Read-only operations (e.g., read_file, list_directory)
MCPServerBase concrete base class + ServerResponse.
Structured result from tool execution.