sozsoft-platform/api/modules/Sozsoft.Mcp/Sozsoft.Mcp.Domain/Entities/McpServer.cs
2026-09-10 17:40:43 +03:00

49 lines
1.8 KiB
C#

using System;
using Volo.Abp.Domain.Entities.Auditing;
namespace Sozsoft.Mcp.Entities;
/// <summary>
/// MCP (Model Context Protocol) sunucu tanimi. Kayit host kapsamindadir; hangi kiracilarin
/// kullanabilecegi <see cref="Tenants"/> ile belirlenir. Istegin kiracisina dusen kayit, /mcp
/// ucunda hangi araclarin gorunecegini ve sorgularin hangi veri kaynaginda hangi satir
/// tavaniyla kosacagini belirler.
/// </summary>
public class McpServer : FullAuditedEntity<Guid>
{
public string Name { get; set; } = string.Empty;
public bool IsActive { get; set; } = true;
/// <summary>
/// Istemciye verilen baglanti adresi (ornek: https://api.sozsoft.com/mcp). Yonlendirme icin
/// kullanilmaz; ekranin kopyalanabilir baglanti komutu uretebilmesi icin tutulur.
/// </summary>
public string? Url { get; set; }
/// <summary>
/// Kaydin gecerli oldugu kiraci adlari, <c>PlatformConsts.MultiValueDelimiter</c> ile
/// ayrilir. Bos ise tum kiracilara aciktir.
/// </summary>
public string? Tenants { get; set; }
/// <summary>
/// Sorgu araclarinin kosacagi DataSource kodu. Bos ise istegin kapsamindaki varsayilan
/// veri kaynagi kullanilir.
/// </summary>
public string? DataSourceCode { get; set; }
/// <summary>
/// Acik arac adlari, <c>PlatformConsts.MultiValueDelimiter</c> ile ayrilir. Bos ise yazma
/// disindaki tum araclar aciktir.
/// </summary>
public string? AllowedTools { get; set; }
/// <summary>Tek sorgunun dondurebilecegi en fazla satir sayisi.</summary>
public int MaxRows { get; set; } = McpConsts.DefaultMaxRows;
/// <summary>Kapali oldugunda veri yazma araclari arac listesinde hic yer almaz.</summary>
public bool AllowWrite { get; set; }
public string? Description { get; set; }
}