Portal Community

IMCPServerRegistry

public interface IMCPServerRegistry
{
    IMCPServerDefinition GetServer(string serverId);
    bool TryGetServer(string serverId, out IMCPServerDefinition server);
    IReadOnlyCollection<string> RegisteredServerIds { get; }

    Task<IReadOnlyList<MCPToolSchema>> GetToolsAsync(
        string serverId, CancellationToken ct = default);
}

public interface IMCPServerDefinition
{
    string ServerId { get; }
    string DisplayName { get; }
    MCPTransportType TransportType { get; }  // Http | StdIo | SSE
    string EndpointUrl { get; }
    int CredentialId { get; }                // for auth
    int TimeoutSeconds { get; }
}

Built-in MCP Servers

Server IDPurposeTools
bfai-document-aiDocument analysis and extractionanalyze-document, extract-entities, classify-document
bfai-risk-aiRisk scoring and anomaly detectionscore-risk, detect-anomaly, explain-risk
bfai-nlpNatural language processingsummarize, classify-sentiment, translate, extract-keywords
octopus-toolsOctopus agent tool bridgeDynamic — tools registered by Octopus agents at runtime

Health Check

GET /api/mcp/servers/bfai-document-ai/health
{
  "serverId": "bfai-document-ai",
  "status": "healthy",
  "toolCount": 3,
  "lastCheckedAt": "2026-05-25T10:00:00Z"
}