using ModelContextProtocol.Client; using PostFundManagement.Application.Mcp; namespace PostFundManagement.Application.Abstractions.Mcp; /// /// In-app MCP access interface providing in-process tool discovery and execution without network or HTTP hops. /// public interface IInAppMcpClient { /// /// Lists all available MCP tools defined across Application.Services groupings. /// IReadOnlyList GetAvailableTools(); /// /// Directly executes an in-app MCP tool by name using the current service scope. /// Task ExecuteToolAsync( string toolName, IReadOnlyDictionary? arguments = null, CancellationToken cancellationToken = default); /// /// Creates a fully functional standard ModelContextProtocol McpClient connected in-process over in-memory streams. /// Task CreateProtocolClientAsync(CancellationToken cancellationToken = default); }