systemprompt-mcp 0.10.2

Native Model Context Protocol (MCP) implementation for systemprompt.io. Orchestration, per-server OAuth2, RBAC middleware, and tool-call governance — the core of the AI governance pipeline.
Documentation
use crate::error::McpDomainResult;

use super::McpOrchestrator;
use crate::McpServerConfig;
use crate::services::registry::RegistryManager;

impl McpOrchestrator {
    pub(super) async fn get_target_servers(
        &self,
        service_name: Option<String>,
        enabled_only: bool,
    ) -> McpDomainResult<Vec<McpServerConfig>> {
        match service_name {
            Some(name) if name == "all" => {
                if enabled_only {
                    RegistryManager::get_enabled_servers()
                } else {
                    self.database.get_running_servers().await
                }
            },
            Some(name) => {
                let servers = RegistryManager::get_enabled_servers()?;
                Ok(servers.into_iter().filter(|s| s.name == name).collect())
            },
            None => {
                if enabled_only {
                    RegistryManager::get_enabled_servers()
                } else {
                    self.database.get_running_servers().await
                }
            },
        }
    }
}