38 lines
1.6 KiB
C#
38 lines
1.6 KiB
C#
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);
|
|
}
|