mcp-attr 0.0.7

A library for declaratively building Model Context Protocol servers.
Documentation
use mcp_attr::Result;
use mcp_attr::{
    schema::{ListPromptsRequestParams, ListPromptsResult, Prompt},
    server::{McpServer, RequestContext},
};
use tokio::time::sleep;

pub struct MyMcpServer {
    prompts: Vec<Prompt>,
}

impl McpServer for MyMcpServer {
    async fn prompts_list(
        &self,
        _p: ListPromptsRequestParams,
        cx: &mut RequestContext,
    ) -> Result<ListPromptsResult> {
        sleep(std::time::Duration::from_secs(1)).await;
        let _cx = cx;
        Ok(self.prompts.clone().into())
    }
}