@smbcloud / cli / commits / 58fd95d

wip

Seto Elkahfi committed Jul 20, 2026 at 18:17 UTC 58fd95d5c45f7ffd5ef49b28d6b4ae42a77ff95e
1 file changed +15 -3
crates/cli/src/mcp.rs
+15 -3
@@ -22,12 +22,15 @@ use {
22 schemars::JsonSchema,
23 serde::Deserialize,
24 smbcloud_auth::me::me,
25 + smbcloud_mail::mail_app::get_mail_apps,
26 smbcloud_model::project::ProjectCreate,
27 smbcloud_network::environment::Environment,
28 smbcloud_networking_project::{
28 - crud_project_create::create_project, crud_project_delete::delete_project,
29 - crud_project_deployment_read::get_deployments, crud_project_read::get_project,
30 - crud_project_read::get_projects, crud_project_update::update_project,
29 + crud_project_create::create_project,
30 + crud_project_delete::delete_project,
31 + crud_project_deployment_read::get_deployments,
32 + crud_project_read::{get_project, get_projects},
33 + crud_project_update::update_project,
34 },
35 };
36
@@ -202,6 +205,15 @@ impl SmbMcpServer {
205 "Project deleted.",
206 )]))
207 }
208 +
209 + #[tool(description = "List the authenticated user's smbCloud Mail apps as a JSON array.")]
210 + async fn mail_list(&self) -> Result<CallToolResult, ErrorData> {
211 + let token = self.access_token()?;
212 + let projects = get_mail_apps(self.environment, client(), token)
213 + .await
214 + .map_err(|e| ErrorData::internal_error(e.to_string(), None))?;
215 + json_result(&projects)
216 + }
217 }
218
219 #[tool_handler]