[package] name = "codex-rmcp-client" version.workspace = true edition.workspace = true license.workspace = true [lints] workspace = true [dependencies] anyhow = "1" axum = { workspace = true, default-features = false, features = [ "http1", "tokio", ] } codex-keyring-store = { workspace = true } codex-protocol = { workspace = true } codex-utils-pty = { workspace = true } codex-utils-home-dir = { workspace = true } futures = { workspace = true, default-features = false, features = ["std"] } keyring = { workspace = true, features = ["crypto-rust"] } oauth2 = "5" reqwest = { version = "0.12", default-features = false, features = [ "json", "stream", "rustls-tls", ] } rmcp = { workspace = true, default-features = false, features = [ "auth", "base64", "client", "macros", "schemars", "server", "transport-child-process", "transport-streamable-http-client-reqwest", "transport-streamable-http-server", ] } schemars = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } sha2 = { workspace = true } tiny_http = { workspace = true } tokio = { workspace = true, features = [ "io-util", "macros", "process", "rt-multi-thread", "sync", "io-std", "time", ] } tracing = { workspace = true, features = ["log"] } urlencoding = { workspace = true } webbrowser = { workspace = true } which = { workspace = true } [dev-dependencies] codex-utils-cargo-bin = { workspace = true } pretty_assertions = { workspace = true } serial_test = { workspace = true } tempfile = { workspace = true } [target.'cfg(target_os = "linux")'.dependencies] keyring = { workspace = true, features = ["linux-native-async-persistent"] } [target.'cfg(target_os = "macos")'.dependencies] keyring = { workspace = true, features = ["apple-native"] } [target.'cfg(target_os = "windows")'.dependencies] keyring = { workspace = true, features = ["windows-native"] } [target.'cfg(any(target_os = "freebsd", target_os = "openbsd"))'.dependencies] keyring = { workspace = true, features = ["sync-secret-service"] }