using System.Text.Json.Serialization;
namespace AxCopilot.Models;
/// MCP 서버 연결 설정.
public class McpServerEntry
{
[JsonPropertyName("name")]
public string Name { get; set; } = "";
[JsonPropertyName("command")]
public string Command { get; set; } = "";
[JsonPropertyName("args")]
public List Args { get; set; } = new();
[JsonPropertyName("env")]
public Dictionary Env { get; set; } = new();
[JsonPropertyName("enabled")]
public bool Enabled { get; set; } = true;
/// 연결 방식: stdio | sse
[JsonPropertyName("transport")]
public string Transport { get; set; } = "stdio";
/// SSE 방식일 때 서버 URL.
[JsonPropertyName("url")]
public string? Url { get; set; }
}
/// MCP 도구 정의 (서버에서 수신).
public class McpToolDefinition
{
public string Name { get; set; } = "";
public string Description { get; set; } = "";
public string ServerName { get; set; } = "";
public Dictionary Parameters { get; set; } = new();
}
public class McpParameterDef
{
public string Type { get; set; } = "string";
public string Description { get; set; } = "";
public bool Required { get; set; } = false;
}