62 lines
2.0 KiB
TOML
62 lines
2.0 KiB
TOML
[package]
|
||
name = "mcp-sse-proxy"
|
||
version = "0.1.28"
|
||
edition = "2024"
|
||
authors = ["nuwax-ai"]
|
||
description = "SSE (Server-Sent Events) proxy implementation for MCP protocol using rmcp 0.10"
|
||
license = "MIT OR Apache-2.0"
|
||
repository = "https://github.com/nuwax-ai/mcp-proxy"
|
||
keywords = ["mcp", "proxy", "sse", "protocol"]
|
||
categories = ["web-programming", "network-programming"]
|
||
|
||
[dependencies]
|
||
# 共享类型和工具
|
||
mcp-common = { version = "0.1.28", path = "../mcp-common" }
|
||
|
||
# MCP protocol implementation - using 0.10 for SSE support (removed in 0.12)
|
||
# Note: rmcp 0.10 uses workspace dependencies, so we only specify transport features
|
||
rmcp = { version = "0.10", features = [
|
||
"server",
|
||
"client",
|
||
"transport-sse-server",
|
||
"transport-sse-client",
|
||
"transport-streamable-http-client",
|
||
"transport-streamable-http-client-reqwest",
|
||
"transport-streamable-http-server",
|
||
"transport-child-process",
|
||
"transport-io",
|
||
"reqwest",
|
||
"transport-sse-client-reqwest"
|
||
] }
|
||
|
||
# Async runtime (添加 signal feature 用于 Ctrl+C 处理)
|
||
tokio = { workspace = true, features = ["signal"] }
|
||
tokio-util = { workspace = true }
|
||
|
||
# Web framework
|
||
axum = { workspace = true }
|
||
tower = { workspace = true }
|
||
|
||
# Logging
|
||
tracing = { workspace = true }
|
||
tracing-subscriber = { workspace = true }
|
||
|
||
# HTTP client - pinned to 0.12 to match rmcp 0.10's reqwest trait implementations
|
||
# (workspace uses 0.13 for rmcp 1.1.0 in mcp-streamable-proxy)
|
||
reqwest = { version = "0.12", features = ["json"] }
|
||
|
||
# Utilities
|
||
arc-swap = { workspace = true }
|
||
anyhow = { workspace = true }
|
||
serde = { workspace = true }
|
||
serde_json = { workspace = true }
|
||
futures = { workspace = true }
|
||
|
||
# 进程组管理(跨平台子进程清理)
|
||
# 版本需要与 rmcp 0.10 兼容
|
||
# 添加 process-group 特性用于 Unix 平台的进程组管理,job-object 用于 Windows 平台
|
||
process-wrap = { version = "8.2", features = ["tokio1", "process-group", "job-object"] }
|
||
|
||
[target.'cfg(windows)'.dependencies]
|
||
windows = { version = "0.61", features = ["Win32_System_Threading"] }
|