# Exemplu Acesta este un exemplu Rust pentru un server MCP Iată cum arată partea de calculator: ```rust #[derive(Debug, serde::Deserialize, schemars::JsonSchema)] pub struct CalculatorRequest { pub a: f64, pub b: f64, } #[tool_router] impl Calculator { #[tool(description = "Adds a and b")] async fn add( &self, Parameters(CalculatorRequest { a, b }): Parameters, ) -> String { (a + b).to_string() } #[tool(description = "Subtracts b from a")] async fn subtract( &self, Parameters(CalculatorRequest { a, b }): Parameters, ) -> String { (a - b).to_string() } #[tool(description = "Multiply a with b")] async fn multiply( &self, Parameters(CalculatorRequest { a, b }): Parameters, ) -> String { (a * b).to_string() } #[tool(description = "Divides a by b")] async fn divide( &self, Parameters(CalculatorRequest { a, b }): Parameters, ) -> String { if b == 0.0 { "Error: Division by zero".to_string() } else { (a / b).to_string() } } } ``` ## Instalare Rulează următoarea comandă: ```bash cargo build ``` ## Rulare ```bash cargo run ``` **Declinare de responsabilitate**: Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să fiți conștienți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.