systemprompt-mcp 0.1.2

Core MCP (Model Context Protocol) functionality for systemprompt.io OS
Documentation
pub mod manager;
pub mod trait_impl;
pub mod validator;

use crate::services::registry::manager::RegistryService;
use anyhow::Result;

#[derive(Debug, Clone, Copy)]
pub struct RegistryManager;

impl RegistryManager {
    pub fn validate() -> Result<()> {
        RegistryService::validate_registry()
    }

    pub fn get_enabled_servers() -> Result<Vec<crate::McpServerConfig>> {
        RegistryService::get_enabled_servers_as_config()
    }

    pub fn reload() -> Result<()> {
        RegistryService::validate_registry()
    }

    pub fn find_server(name: &str) -> Result<Option<crate::McpServerConfig>> {
        let servers = RegistryService::get_enabled_servers_as_config()?;
        Ok(servers.into_iter().find(|s| s.name == name))
    }

    pub fn get_server(name: &str) -> Result<crate::McpServerConfig> {
        Self::find_server(name)?
            .ok_or_else(|| anyhow::anyhow!("MCP server '{name}' not found in registry"))
    }
}

pub type McpServerRegistry = RegistryManager;