sozsoft-platform/api/modules/Sozsoft.Mcp/Sozsoft.Mcp.Application.Contracts/IMcpSchemaAppService.cs

39 lines
1.6 KiB
C#
Raw Normal View History

2026-09-10 14:40:43 +00:00
using System.Collections.Generic;
using System.Threading.Tasks;
using Sozsoft.Mcp.Dtos;
using Volo.Abp.Application.Services;
namespace Sozsoft.Mcp;
/// <summary>
/// MCP sema kesfi. Tablo ve sutun bilgisi canli katalogdan degil, platformun ekran
/// tanimlarindan uretilen JSON veri sozlugunden gelir; boylece modelin gordugu adlar
/// kullanicinin ekranda gordugu adlarla ayni olur.
/// </summary>
public interface IMcpSchemaAppService : IApplicationService
{
/// <summary>Istegin kiracisina dusen etkin MCP sunucu kaydi; kayit yoksa null.</summary>
Task<McpServerConfigDto?> GetServerConfigAsync();
/// <summary>
/// Bu kullanicinin bu baglantida cagirabilecegi araclar: sunucu kaydinin actiklari ile
/// kullanicinin uygulamadaki yetkilerinin kesisimi.
/// </summary>
Task<List<string>> GetAvailableToolsAsync();
/// <summary>Veri sozlugunun bulunup bulunmadigi ve ne zaman tazelendigi.</summary>
Task<McpSchemaInfoDto> GetSchemaInfoAsync();
/// <param name="search">Bos birakilirsa tum listeler doner.</param>
/// <param name="maxResults">Donecek en fazla liste sayisi.</param>
Task<List<McpListSummaryDto>> GetListsAsync(string? search = null, int maxResults = 200);
/// <summary>Tek bir listenin sutunlariyla birlikte tanimi; bulunamazsa null.</summary>
Task<McpListDetailDto?> GetListAsync(string listFormCode);
/// <summary>
/// Liste ve sutun adlari ile basliklari uzerinde aksan ve buyuk/kucuk harf duyarsiz arama.
/// </summary>
Task<List<McpSchemaMatchDto>> SearchAsync(string term, int maxResults = 50);
}