[package]
edition = "2021"
name = "mcpway"
version = "0.1.6"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Run MCP stdio servers over SSE, WebSocket, Streamable HTTP, and gRPC transports."
homepage = "https://github.com/drvova/mcpway"
documentation = "https://docs.rs/mcpway"
readme = "README.md"
keywords = [
"mcp",
"sse",
"websocket",
"streamable-http",
"grpc",
]
categories = [
"command-line-utilities",
"network-programming",
]
license = "MIT"
repository = "https://github.com/drvova/mcpway"
[lib]
name = "mcpway"
path = "src/lib.rs"
[[bin]]
name = "mcpway"
path = "src/main.rs"
[[test]]
name = "base_url_parity"
path = "tests/base_url_parity.rs"
[[test]]
name = "concurrency_sse_to_stdio"
path = "tests/concurrency_sse_to_stdio.rs"
[[test]]
name = "concurrency_stdio_to_sse"
path = "tests/concurrency_stdio_to_sse.rs"
[[test]]
name = "concurrency_stdio_to_streamable_http"
path = "tests/concurrency_stdio_to_streamable_http.rs"
[[test]]
name = "concurrency_stdio_to_ws"
path = "tests/concurrency_stdio_to_ws.rs"
[[test]]
name = "concurrency_streamable_http_to_stdio"
path = "tests/concurrency_streamable_http_to_stdio.rs"
[[test]]
name = "connect_ws_to_stdio_smoke"
path = "tests/connect_ws_to_stdio_smoke.rs"
[[test]]
name = "grpc_to_stdio_smoke"
path = "tests/grpc_to_stdio_smoke.rs"
[[test]]
name = "protocol_version_parity"
path = "tests/protocol_version_parity.rs"
[[test]]
name = "session_timeout_parity"
path = "tests/session_timeout_parity.rs"
[[test]]
name = "sse_to_stdio_smoke"
path = "tests/sse_to_stdio_smoke.rs"
[[test]]
name = "stdio_to_grpc_smoke"
path = "tests/stdio_to_grpc_smoke.rs"
[[test]]
name = "stdio_to_sse_smoke"
path = "tests/stdio_to_sse_smoke.rs"
[[test]]
name = "stdio_to_stdio_smoke"
path = "tests/stdio_to_stdio_smoke.rs"
[[test]]
name = "stdio_to_streamable_http_smoke"
path = "tests/stdio_to_streamable_http_smoke.rs"
[[test]]
name = "stdio_to_ws_smoke"
path = "tests/stdio_to_ws_smoke.rs"
[[test]]
name = "streamable_http_to_stdio_smoke"
path = "tests/streamable_http_to_stdio_smoke.rs"
[[test]]
name = "tool_api_ergonomic"
path = "tests/tool_api_ergonomic.rs"
[[test]]
name = "tool_api_sse"
path = "tests/tool_api_sse.rs"
[[test]]
name = "tool_api_streamable_http"
path = "tests/tool_api_streamable_http.rs"
[[test]]
name = "tool_api_ws"
path = "tests/tool_api_ws.rs"
[dependencies.arc-swap]
version = "1.7"
[dependencies.axum]
version = "0.8"
features = [
"json",
"ws",
]
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.eventsource-stream]
version = "0.2"
[dependencies.futures]
version = "0.3"
[dependencies.opentelemetry]
version = "0.31"
[dependencies.opentelemetry-appender-tracing]
version = "0.31"
[dependencies.opentelemetry-otlp]
version = "0.31"
[dependencies.opentelemetry_sdk]
version = "0.31"
[dependencies.prost]
version = "0.14"
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"stream",
"form",
]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.shell-words]
version = "1.1"
[dependencies.tokio]
version = "1.38"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
[dependencies.tokio-tungstenite]
version = "0.28"
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.toml]
version = "1.0"
[dependencies.tonic]
version = "0.14"
features = ["transport"]
[dependencies.tonic-prost]
version = "0.14"
[dependencies.tower-http]
version = "0.6"
features = ["cors"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.32"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.7"
features = ["v4"]
[build-dependencies.protoc-bin-vendored]
version = "3"
[build-dependencies.tonic-prost-build]
version = "0.14"