[package]
name = "hyper-mcp-remote"
version = "0.1.0"
edition = "2024"
authors = ["Joseph Wortmann <joseph.wortmann@gmail.com>"]
description = "A stdio to streamable-http MCP proxy with OAuth support"
keywords = ["rust", "ai", "mcp", "cli", "stdio"]
categories = ["command-line-utilities"]
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/hyper-mcp-rs/hyper-mcp-remote"
homepage = "https://github.com/hyper-mcp-rs/hyper-mcp-remote"
documentation = "https://github.com/hyper-mcp-rs/hyper-mcp-remote"

[dependencies]
anyhow = "1.0"
async-trait = "0.1"
axum = "0.8"
base64 = "0.22"
clap = { version = "4.6", features = ["derive"] }
ctor = "1.0"
directories = "5"
dirs = "5"
futures = "0.3"
hex = "0.4"
http = "1"
keyring = { version = "3", features = [
    "apple-native",
    "windows-native",
    "sync-secret-service",
    "vendored",
] }
# Must match rmcp 1.7's transport-streamable-http-client-reqwest reqwest version.
reqwest = { version = "0.13", default-features = false, features = [
    "json",
    "rustls",
    "http2",
    "stream",
] }
rmcp = { version = "1.7", features = [
    "server",
    "client",
    "transport-io",
    "transport-streamable-http-client",
    "transport-streamable-http-client-reqwest",
    "auth",
    "elicitation",
] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
thiserror = "2"
tokio = { version = "1.52", features = ["full"] }
tokio-util = "0.7"
tracing = "0.1"
tracing-appender = "0.2"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
url = "2"
webbrowser = "1"

[dev-dependencies]
tempfile = "3"
axum = "0.8"
# Pulls in `transport-child-process` so the integration test can drive the
# compiled `hyper-mcp-remote` binary over its stdin/stdout. The feature is
# additive: Cargo merges the dev-deps feature set with the bin's.
rmcp = { version = "1.7", features = ["transport-child-process"] }

[[bin]]
name = "hyper-mcp-remote"
path = "src/main.rs"

[package.metadata.release]
publish = true
push = true
tag = true
tag-name = "v{{version}}"
