Skip to main content

objectiveai_cli/command/mcp/config/port/
get.rs

1//! `config mcp port get` — read `mcp.port` from on-disk config. The
2//! SDK `Response.port` is non-optional, so an unset port becomes
3//! `Error::MissingArgs("mcp.port unset")`.
4
5use objectiveai_sdk::cli::command::mcp::config::port::get::{Request, Response};
6
7use crate::context::Context;
8use crate::error::Error;
9
10pub async fn execute(ctx: &Context, request: Request) -> Result<Response, Error> {
11    let mut config = ctx.filesystem.read_config_view(request.scope).await?;
12    let port = config
13        .mcp()
14        .get_port()
15        .ok_or(Error::MissingArgs("mcp.port unset"))?;
16    Ok(Response { port })
17}
18
19pub mod request_schema {
20    use objectiveai_sdk::cli::command::mcp::config::port::get as sdk;
21    use objectiveai_sdk::cli::command::mcp::config::port::get::request_schema::{Request, Response};
22
23    use crate::context::Context;
24    use crate::error::Error;
25
26    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
27        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Request)))
28    }
29}
30
31pub mod response_schema {
32    use objectiveai_sdk::cli::command::mcp::config::port::get as sdk;
33    use objectiveai_sdk::cli::command::mcp::config::port::get::response_schema::{Request, Response};
34
35    use crate::context::Context;
36    use crate::error::Error;
37
38    pub async fn execute(_ctx: &Context, _request: Request) -> Result<Response, Error> {
39        Ok(objectiveai_sdk::cli::command::ResponseSchema(schemars::schema_for!(sdk::Response)))
40    }
41}