-
Notifications
You must be signed in to change notification settings - Fork 442
feat!: remove SSE transport support #562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
SSE transport has been removed from the MCP specification in favor of streamable HTTP. This removes all SSE-specific transport code: - Remove `transport-sse-client` and `transport-sse-server` features - Remove `SseClientTransport` and `SseServer` types - Remove SSE-specific examples (`counter_sse`, `counter_sse_directly`) - Migrate auth examples from SSE to streamable HTTP - Update tests to remove SSE transport usage - Update documentation BREAKING CHANGE: The following have been removed: - `transport-sse-client` feature - `transport-sse-client-reqwest` feature - `transport-sse-server` feature - `SseClientTransport` type - `SseServer` type - `sse_client` and `sse_server` modules Users should migrate to streamable HTTP transport which provides equivalent functionality. See `StreamableHttpClientTransport` and `StreamableHttpService` for the replacement APIs. Ref: #561 (comment)
dc6cada to
ba3d8ef
Compare
|
I think removing SSE now is too early for SDK. |
|
SSE is super unstable ... There is no reason to promote it . It not a bug, it just the wrong architecture. SSE needs sticky sessions and it very hostile load balancers. HTTP streamable is preferred way to connect remotely. |
This is not promoting it, but rather it existed in spec 2024-11-05 before, and we cannot start deleting it directly. Marking it as obsolete and deleting it in a later version would be more suitable for code evolution. As an SDK, we are not following the upper application layer, but rather adopting a gradual strategy based on specifications, especially for features that need to be abandoned. |
|
This is an SDK not a consumer API. You can drop and refactor as much you need to make the SDK cleaner and more secure. It won't force auto update on people repos. This is a Rust context, that means if someone upgrade blindly, the compiler will not warn, it will refuse to obey. There is no (I shipped it, production blew because protocol was removed... javascript/ruby/python style) They have 2 options:
Your thinking is not wrong, but this SDK case is an exception. The SSE spec was rushed and was afterthought, it never worked more than few minutes. The STDIO in 2024 is still used in few abandoned repos, but SSE had no production implementation , zero serious user base. IDEs implemented remote MCP after HTTP streamable got released, and Claude code and other are supporting spec of June 2025+. I will stand corrected if you show me 1 single serious app that still depends on 2024 SSE. The work is already done by @domdomegg. We just have to merge it. |
|
I reviewed and approved before seeing this conversation @jokemanfire @seuros @jokemanfire I am interested to hear if you have concerns about simply removing it now @domdomegg You may also be able to provide context on what you've seen other SDKs do, etc |
|
I still prefer to mark n+1 as dropped and n+2 as deleted for the evolution of Rust code.But @seuros as mentioned, there's zero serious user base, feel free to do this. |
|
Yeah, I agree. Merging. Thanks @domdomegg |
BREAKING CHANGE: Remove SSE transport (/sse, /message endpoints) Changes: - Remove SSE transport - deprecated in MCP spec, removed in rmcp 0.11 - Add error module with thiserror for standardized error handling - Add clippy.toml for fine-grained lint configuration - Add Config builder pattern for fluent API - Enhance test helpers with start_with_auth() and test client utilities - Update documentation to reflect Streamable HTTP only refs: - modelcontextprotocol/rust-sdk#561 - modelcontextprotocol/rust-sdk#562
The rust-sdk removed SSE transport support in commit eb5a7f7 (feat!: remove SSE transport support) which was released in v0.11.0. This broke the binance-tools example which depends on the transport-sse-server feature. Pinning rmcp to v0.9.1 (last version with SSE transport) fixes the build. Related: modelcontextprotocol/rust-sdk#562
* chore(workspace): 添加 fastembed 包到工作区 - 更新 Cargo.toml,包含 fastembed 为新的成员 - 更新 Cargo.lock,添加 fastembed 依赖项信息 - 保持其他成员未变更顺序和配置 * refactor(docs): 删除所有API相关的文档 - 移除了完整的API参考文档,包括MCP代理服务、文档解析服务和语音CLI服务 - 删除了MCP代理API详细说明及示例 - 移除了文档解析API的接口定义和错误处理部分内容 - 删除了语音CLI API的核心接口及任务状态查询说明 - 清理所有相关的代码引用和示例,减少文档冗余 * feat * chore(deps): 更新依赖库版本及添加新依赖 - 在.gitignore中添加fastembed缓存目录忽略规则 - 更新多项Rust库依赖版本至最新稳定版本 - 添加新的依赖包如ahash、aligned、av-scenechange、fax等 - 升级基础库base64、smallvec等至指定版本以增强兼容性 - 新增fastembed和fastembed 5.3.0的依赖关系 - 引入image及其相关处理库以支持更多图像格式 - 添加性能和功能增强相关依赖,如ort、indicatif、ndarray等 - 修正部分依赖版本冲突,确保项目构建稳定性 - 扩展本地缓存和编译优化相关依赖,提升构建效率 - 维护依赖的checksum验证,保证包安全性和完整性 * chore(logging): 优化日志轮转及保留策略配置 - mcp-proxy模块日志轮转使用Builder模式,可配置最大保留文件数 - document-parser模块新增日志文件保留天数配置,默认20天 - voice-cli模块默认最大日志文件数调整为20个 - 统一日志文件轮转实现,支持按天滚动及文件数限制 - 移除mcp-proxy旧日志清理定时任务,改用自动轮转保留策略 - 依赖tracing-appender版本更新以支持新功能 - 调整.gitignore,新增.fastembed_cache目录忽略规则 * feat(api): 添加OpenAPI文档及Swagger UI支持 - 引入utoipa和utoipa-swagger-ui依赖,集成OpenAPI文档生成 - 为健康检查、文本嵌入和模型管理接口添加请求和响应的Schema定义 - 使用utoipa::path宏注解API路径及参数,完善接口文档描述 - 在应用启动时注册Swagger UI路由,提供交互式API文档页面 - 扩展模型信息及请求响应结构体,增加字段示例说明 - 更新Cargo.toml依赖,添加utoipa相关功能特性 - 升级windows-sys依赖版本,保持依赖一致性 * refactor(fastembed): 移除不再使用的 max_length 和 normalize 配置项 - 清理配置文件中 max_length 和 normalize 配置 - 删除 FastEmbedConfig 结构体中对应字段及默认实现 - 移除 EmbedRequest 中 max_length 和 normalize 参数 - 修改模型初始化逻辑,取消传入 max_length 参数,使用模型默认值 - 简化代码,避免冗余配置项导致的混淆与维护成本提升 * refactor(client): 重构 MCP 客户端模块并移除 SSE 客户端 - 引入 async-trait 依赖简化异步特征实现 - 将 MCP 客户端拆分为 cli 和 protocol 子模块 - 移除 client 模块中的 sse_client,实现更简洁的客户端架构 - 主程序新增 CLI 模式支持,依据命令行参数选择运行模式 - 优化日志初始化,支持 CLI 模式的不同日志级别配置 - MCP 协议枚举新增 Display 实现,增强可读性 - 测试用例改为从环境变量读取配置,提升测试灵活性和安全性 - 调整 server 模块协议检测器的可见性为 pub,便于外部调用 * chore(deps): update dependencies for rmcp and pastey - Updated `rmcp` version from 0.9.0 to 0.10.0 in both `Cargo.toml` and `Cargo.lock`. - Updated `pastey` version to 0.2.0 in `Cargo.lock` to ensure compatibility with the latest features. * chore(deps): update dependencies in Cargo.lock and Cargo.toml - Bumped versions of several packages including `uuid`, `http`, and `async-compression` to their latest releases for improved functionality and compatibility. - Updated checksums in `Cargo.lock` to reflect the new versions. - Ensured consistency across dependencies to maintain project stability. * chore(metadata): update Cargo.toml with project details and exclusions - Added authors, description, license, repository, keywords, categories, and readme fields to Cargo.toml for better project documentation. - Included an exclude section to specify files and directories to be ignored in the package. * refactor(package): rename mcp-proxy to mcp-stdio-proxy - Updated package name in Cargo.toml, Cargo.lock, and README.md for clarity. - Added a binary entry for the CLI command under the new package name. - Adjusted README instructions to reflect the new installation command while maintaining the original CLI command name. * 更新 README.md,优化 mcp-proxy 文档 - 修改工具描述,强调其作为客户端代理工具的功能。 - 增加核心功能和工作原理部分,清晰阐述协议转换的作用。 - 更新安装和使用示例,提供更详细的命令行用法和选项说明。 - 增加常见问题解答,帮助用户理解 mcp-proxy 的用途和功能。 * fix: 修复问题,这里官方新版本不在支持sse协议:modelcontextprotocol/rust-sdk#562 * feat: add params: --allow-tools,--deny-tools * fix * feat: add: mcp-proxy proxy * fix * fix * feat: add --config --config-file * fix * fix: add log * fix * fix: mcp always running fixed * fix: auto connect for mcp * fix: fix the mcp client'c call tool is alway running when http disconnect * feat:update unit test * refactor: remove unused markdown processing benchmark and update log configuration * refactor: improve backend connection handling and watchdog functionality in URL mode * chore: update dependencies and add new MCP proxy modules * chore: update mcp-common dependency version in proxy modules * feat: add MCP package publishing commands and update Cargo.toml metadata for MCP modules * feat: add commands to update and display MCP package version numbers in Makefile * chore: update MCP package versions to 0.1.2 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and 0.1.14 for mcp-stdio-proxy; update rmcp dependency to 0.12 in mcp-proxy * chore: update MCP package versions to 0.1.3 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and 0.1.15 for mcp-stdio-proxy; update run_code_rmcp version to 0.0.35 * feat: add high-level client API for SSE and Stream protocols; update proxy handling and connection management * chore: update mcp-stdio-proxy version to 0.1.16; enhance CLI logging configuration and modularize command implementations * feat: integrate OpenTelemetry support with OTLP exporter in mcp-common and mcp-proxy; enhance logging configuration and CLI arguments for tracing * chore: update package versions to 0.1.4 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and mcp-stdio-proxy; ensure consistent dependency versions across modules * chore: bump package versions to 0.1.5 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and mcp-stdio-proxy; update dependency references accordingly * format * refactor: update README files for MCP-Proxy, Document Parser, OSS Client, and Voice CLI; enhance feature descriptions, installation instructions, and usage examples; remove obsolete test scripts * test: ignore tests that modify global state to prevent race conditions; update test annotations for clarity * feat: mcp-proxy health cli * add log * updaet * add log * update version and add log * fmt * perf * refactor * cargo fmt * refactor log print * build: update package versions and add rustls support - Bump versions for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and mcp-stdio-proxy - Add rustls dependency and initialize crypto provider in main - Include tests for crypto provider installation * feat(proxy): add cross-platform process cleanup with process-wrap refactor(proxy): move test server to mcp-sse-proxy examples fix(proxy): add panic hook for better error logging chore: update tokio-stream to 0.1.18 build: add process-wrap dependencies for proxy services ci: add Dockerfile for mcp-proxy service docs: update .gitignore with voice-cli/models
* update(config): change server port and add log retention configuration - Update server port from 8086 to 8087 in configuration files and tests - Introduce log retention days setting in config with a default of 5 days - Implement log cleanup task to remove old log files based on retention policy - Adjust logging levels in middleware to reduce verbosity * enhance(logging): improve logging details in run_code_handler and opentelemetry middleware - Update logging in run_code_handler to include success result and add debug level logging for data - Change OpenTelemetry span creation from info to debug level for better verbosity control * add log print * enhance(log_cleanup): improve log cleanup process and logging details - Add initial log cleanup execution and detailed logging for old log file removal - Refactor log file age calculation to use date extraction from filenames - Improve error handling and logging for failed log deletions * Feat mcp sse,streamable (#5) * mcp url http test * test time out * update(dependencies): upgrade rmcp and rmcp-macros to version 0.8.5; enhance mcp configuration with server parameters - Updated `rmcp` and `rmcp-macros` dependencies in `Cargo.lock` to version 0.8.5. - Modified `McpConfig` to include optional `server_config` for parsed server configurations. - Introduced `McpServerUrlConfig` with additional fields for authentication, connection, and retry configurations. - Updated `McpJsonServerParameters` to support multiple server configurations. - Enhanced `integrate_sse_server_with_axum` to handle different MCP protocols for server connections. * refactor(integrate_sse_server_with_axum): streamline SSE client transport creation - Removed redundant SSE client transport creation logic for URL configuration. - Enhanced handling of different MCP protocols within the `integrate_sse_server_with_axum` function. * refactor(mcp-proxy): enhance MCP service integration and protocol handling - Updated `McpConfig` to include optional `client_protocol` and `backend_protocol` for improved service configuration. - Refactored `check_mcp_status_handler` to utilize backend protocol detection and enhance service startup logic. - Streamlined `integrate_sse_server_with_axum` to support different client and backend protocols for better flexibility. - Simplified SSE server initialization in `axum_router.rs` for cleaner code structure. - Improved logging for protocol detection and service integration processes. * refactor(test_mcp_streamable): streamline service status checks and message handling - Updated service status check to use a single mcpId for both automatic and manual protocol detection. - Simplified SSE connection and message sending endpoints to align with the new mcpId structure. - Removed redundant sections for manual backend protocol specification to enhance clarity and usability. * refactor(test_mcp_streamable): enhance service status checks and protocol handling - Updated test cases to support both automatic and manual backend protocol detection for SSE clients. - Simplified the structure of service status checks and message handling to improve clarity and usability. - Introduced new endpoints for initializing and cleaning up services, ensuring consistent mcpId usage across tests. - Adjusted paths in the router model to align with the new service structure and enhance routing logic. * feat(makefile): add mcp-proxy run command and update help text - Introduced a new Makefile target `run-mcp-proxy` to start the mcp-proxy service. - Updated help text in the Makefile to include the new command for better user guidance. - Cleaned up code formatting in various files for improved readability and consistency. * chore(mcp-proxy): update .gitignore and clean up temporary files - Added new entries to .gitignore to exclude temporary files from the mcp-proxy directory. - Removed the rust-sdk subproject from the mcp-proxy temporary directory. - Updated test.log with additional debug information for service status checks and connection handling. * refactor(mcp-proxy): enhance base path handling for SSE and Stream protocols - Updated the base path fallback handler to support both SSE and Stream protocols, allowing for proper redirection and response handling. - Improved logging for redirection actions and error responses based on the Accept header. - Removed the test_mcp_streamable.rest file as it is no longer needed for the current testing framework. * feat(mcp-proxy): add MCP service existence checks in routing logic - Implemented checks for MCP service existence in the dynamic router service and base path fallback handler. - Enhanced error handling to return appropriate responses when an MCP service is not found. - Improved logging for better traceability of service status during routing operations. * chore(dependencies): update various dependencies and improve configuration - Upgraded multiple dependencies in `Cargo.toml` and `Cargo.lock`, including `tokio`, `opentelemetry`, and `tracing` to their latest versions for improved performance and features. - Adjusted the `rmcp` dependency to use a version instead of a path, enhancing compatibility and maintainability. - Updated `tempfile`, `thiserror`, and other dependencies to their latest versions for better stability and functionality. - Refactored dependency declarations in `mcp-proxy` and `oss-client` to utilize workspace features for better organization. - Enhanced logging in the `opentelemetry_middleware` to capture errors when attaching OpenTelemetry context. * refactor(mcp-proxy): clean up logging and improve .gitignore entries - Simplified logging statements in `proxy_handler.rs` for better readability. - Updated `.gitignore` to exclude all temporary files in the `mcp-proxy/tmp` directory, enhancing project cleanliness. - Added a body size limit layer in the router to improve request handling in `router_layer.rs`. * Enhance test_mcp_sse_streamable: Add complex configuration service status check and cleanup endpoints - Introduced a new POST endpoint for checking service status with a complex MCP configuration, including authentication and retry parameters. - Updated the DELETE endpoint for cleaning up SSE services to reflect the new complex configuration. - Improved organization of test cases to ensure consistent usage of mcpId across different service configurations. * Enhance MCP Proxy Documentation and Error Handling - Updated README.md to include support for Streamable HTTP protocol alongside SSE, enhancing the documentation for the MCP Proxy service. - Improved error handling in resource cleanup functions across various modules, ensuring that errors during cleanup are logged appropriately. - Refactored MCP configuration structures to streamline protocol handling and added support for automatic protocol detection based on configuration. - Enhanced the integration of SSE and Streamable HTTP services, ensuring better flexibility and clarity in service management. - Added detailed comments and structured examples in the documentation to facilitate user understanding of the MCP Proxy setup and usage. * Update test_mcp_sse_streamable configuration for service status check - Modified the MCP configuration in the test to use a new mcpId and updated the structure to include a 'type' field for the service. - Adjusted the timeout parameter name for consistency with the new configuration format. - Enhanced clarity in the test setup for better alignment with recent changes in MCP service integration. * Enhance MCP Proxy Configuration and Testing for SSE and Streamable Protocols - Added new test cases for checking service status and cleanup endpoints for both SSE and Streamable HTTP protocols, improving coverage and validation of configurations. - Updated the MCP configuration structure to support optional `baseUrl` alongside `url`, allowing for more flexible service definitions. - Introduced a method to retrieve the effective URL, prioritizing `url` over `baseUrl`, enhancing the robustness of service integration. - Refactored the SSE client to utilize a custom reqwest client for improved header management and connection handling. - Streamlined error handling and logging in the dynamic router service to ensure better traceability and response accuracy when services are not found. * Refactor MCP Router Model for Enhanced Service Configuration and Path Handling - Introduced a recursive function to improve the extraction of service configurations from flexible JSON structures, allowing for better handling of nested service definitions. - Updated the MCP ID extraction logic to handle malformed paths and prevent infinite loops, ensuring robust path parsing for both SSE and Stream protocols. - Enhanced the `from_mcp_id_for_sse` method to clean up duplicate path segments in MCP IDs, improving the integrity of generated paths. - Streamlined the `extract_mcp_id` function to support various path formats, enhancing flexibility in routing logic. - Added new test cases to validate the updated path extraction and service configuration handling, ensuring comprehensive coverage of edge cases. * Remove CHANGELOG.md and enhance MCP Router Model with case sensitivity support for configuration fields - Deleted the CHANGELOG.md file as it is no longer needed. - Updated the `McpServerUrlConfig` struct to support multiple case variations for the `baseUrl`, `type`, `authToken`, and other fields, improving flexibility in JSON parsing. - Added comprehensive test cases to validate the case sensitivity handling for various configuration fields, ensuring robust parsing and integration. * Update MCP Router Model to support case-insensitive aliases for baseUrl configuration - Changed the `baseUrl` field in `McpServerUrlConfig` to use aliases, allowing for case-insensitive matching in JSON parsing. - This enhancement improves flexibility in configuration handling, aligning with recent updates for case sensitivity support. * Rename `baseUrl` field in `McpServerUrlConfig` to improve clarity and maintain consistency with JSON parsing aliases. This change enhances the flexibility of configuration handling by ensuring proper aliasing for case-insensitive matching. * Remove unused methods and tests from `FlexibleMcpConfig` to streamline the codebase. This includes the removal of `try_get_first_mcp_server`, `get_service_names`, and associated test cases, enhancing maintainability and focusing on essential functionality. * Enhance SSE Client Integration with Nuwax Image Service - Added new endpoints for checking service status, establishing SSE connections, sending initialization messages, and listing available tools for the Nuwax image service. - Updated the test_mcp_sse_streamable.rest file to include detailed configurations for interacting with the Nuwax SSE backend, improving the testing framework for service integration. - Enhanced cleanup endpoint for the Nuwax image service to ensure proper resource management. * Refactor logging in DynamicRouterService to use debug spans for reduced verbosity - Updated logging in `DynamicRouterService` to utilize `debug_span` instead of `info_span`, minimizing log output while maintaining essential traceability. - Added comments in `main.rs` to clarify logging configuration for file layers, ensuring each log entry is properly formatted with line breaks. * Refactor logging in MCP Proxy to reduce verbosity and improve clarity - Updated logging configuration in `main.rs` to use compact format, minimizing log output while ensuring essential information is retained. - Removed `#[tracing::instrument]` annotations in `DynamicRouterService` to prevent span nesting, further reducing log clutter. - Enhanced debug spans with additional fields for better traceability without compromising log readability. * Update dependencies in Cargo.lock and Cargo.toml for improved compatibility and features - Bumped versions of several packages including `rmcp`, `axum-extra`, and `utoipa` to their latest releases, enhancing functionality and stability. - Updated `base64` dependency to remove the specific version constraint, allowing for more flexibility in version resolution. - Adjusted various package versions to ensure compatibility with recent updates, including `bytes`, `chrono`, and `hyper`, among others. * Feat mcp cli (#6) * chore(workspace): 添加 fastembed 包到工作区 - 更新 Cargo.toml,包含 fastembed 为新的成员 - 更新 Cargo.lock,添加 fastembed 依赖项信息 - 保持其他成员未变更顺序和配置 * refactor(docs): 删除所有API相关的文档 - 移除了完整的API参考文档,包括MCP代理服务、文档解析服务和语音CLI服务 - 删除了MCP代理API详细说明及示例 - 移除了文档解析API的接口定义和错误处理部分内容 - 删除了语音CLI API的核心接口及任务状态查询说明 - 清理所有相关的代码引用和示例,减少文档冗余 * feat * chore(deps): 更新依赖库版本及添加新依赖 - 在.gitignore中添加fastembed缓存目录忽略规则 - 更新多项Rust库依赖版本至最新稳定版本 - 添加新的依赖包如ahash、aligned、av-scenechange、fax等 - 升级基础库base64、smallvec等至指定版本以增强兼容性 - 新增fastembed和fastembed 5.3.0的依赖关系 - 引入image及其相关处理库以支持更多图像格式 - 添加性能和功能增强相关依赖,如ort、indicatif、ndarray等 - 修正部分依赖版本冲突,确保项目构建稳定性 - 扩展本地缓存和编译优化相关依赖,提升构建效率 - 维护依赖的checksum验证,保证包安全性和完整性 * chore(logging): 优化日志轮转及保留策略配置 - mcp-proxy模块日志轮转使用Builder模式,可配置最大保留文件数 - document-parser模块新增日志文件保留天数配置,默认20天 - voice-cli模块默认最大日志文件数调整为20个 - 统一日志文件轮转实现,支持按天滚动及文件数限制 - 移除mcp-proxy旧日志清理定时任务,改用自动轮转保留策略 - 依赖tracing-appender版本更新以支持新功能 - 调整.gitignore,新增.fastembed_cache目录忽略规则 * feat(api): 添加OpenAPI文档及Swagger UI支持 - 引入utoipa和utoipa-swagger-ui依赖,集成OpenAPI文档生成 - 为健康检查、文本嵌入和模型管理接口添加请求和响应的Schema定义 - 使用utoipa::path宏注解API路径及参数,完善接口文档描述 - 在应用启动时注册Swagger UI路由,提供交互式API文档页面 - 扩展模型信息及请求响应结构体,增加字段示例说明 - 更新Cargo.toml依赖,添加utoipa相关功能特性 - 升级windows-sys依赖版本,保持依赖一致性 * refactor(fastembed): 移除不再使用的 max_length 和 normalize 配置项 - 清理配置文件中 max_length 和 normalize 配置 - 删除 FastEmbedConfig 结构体中对应字段及默认实现 - 移除 EmbedRequest 中 max_length 和 normalize 参数 - 修改模型初始化逻辑,取消传入 max_length 参数,使用模型默认值 - 简化代码,避免冗余配置项导致的混淆与维护成本提升 * refactor(client): 重构 MCP 客户端模块并移除 SSE 客户端 - 引入 async-trait 依赖简化异步特征实现 - 将 MCP 客户端拆分为 cli 和 protocol 子模块 - 移除 client 模块中的 sse_client,实现更简洁的客户端架构 - 主程序新增 CLI 模式支持,依据命令行参数选择运行模式 - 优化日志初始化,支持 CLI 模式的不同日志级别配置 - MCP 协议枚举新增 Display 实现,增强可读性 - 测试用例改为从环境变量读取配置,提升测试灵活性和安全性 - 调整 server 模块协议检测器的可见性为 pub,便于外部调用 * chore(deps): update dependencies for rmcp and pastey - Updated `rmcp` version from 0.9.0 to 0.10.0 in both `Cargo.toml` and `Cargo.lock`. - Updated `pastey` version to 0.2.0 in `Cargo.lock` to ensure compatibility with the latest features. * chore(deps): update dependencies in Cargo.lock and Cargo.toml - Bumped versions of several packages including `uuid`, `http`, and `async-compression` to their latest releases for improved functionality and compatibility. - Updated checksums in `Cargo.lock` to reflect the new versions. - Ensured consistency across dependencies to maintain project stability. * chore(metadata): update Cargo.toml with project details and exclusions - Added authors, description, license, repository, keywords, categories, and readme fields to Cargo.toml for better project documentation. - Included an exclude section to specify files and directories to be ignored in the package. * refactor(package): rename mcp-proxy to mcp-stdio-proxy - Updated package name in Cargo.toml, Cargo.lock, and README.md for clarity. - Added a binary entry for the CLI command under the new package name. - Adjusted README instructions to reflect the new installation command while maintaining the original CLI command name. * 更新 README.md,优化 mcp-proxy 文档 - 修改工具描述,强调其作为客户端代理工具的功能。 - 增加核心功能和工作原理部分,清晰阐述协议转换的作用。 - 更新安装和使用示例,提供更详细的命令行用法和选项说明。 - 增加常见问题解答,帮助用户理解 mcp-proxy 的用途和功能。 * fix: 修复问题,这里官方新版本不在支持sse协议:modelcontextprotocol/rust-sdk#562 * feat: add params: --allow-tools,--deny-tools * fix * feat: add: mcp-proxy proxy * fix * fix * feat: add --config --config-file * fix * fix: add log * fix * fix: mcp always running fixed * fix: auto connect for mcp * fix: fix the mcp client'c call tool is alway running when http disconnect * feat:update unit test * refactor: remove unused markdown processing benchmark and update log configuration * refactor: improve backend connection handling and watchdog functionality in URL mode * chore: update dependencies and add new MCP proxy modules * chore: update mcp-common dependency version in proxy modules * feat: add MCP package publishing commands and update Cargo.toml metadata for MCP modules * feat: add commands to update and display MCP package version numbers in Makefile * chore: update MCP package versions to 0.1.2 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and 0.1.14 for mcp-stdio-proxy; update rmcp dependency to 0.12 in mcp-proxy * chore: update MCP package versions to 0.1.3 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and 0.1.15 for mcp-stdio-proxy; update run_code_rmcp version to 0.0.35 * feat: add high-level client API for SSE and Stream protocols; update proxy handling and connection management * chore: update mcp-stdio-proxy version to 0.1.16; enhance CLI logging configuration and modularize command implementations * feat: integrate OpenTelemetry support with OTLP exporter in mcp-common and mcp-proxy; enhance logging configuration and CLI arguments for tracing * chore: update package versions to 0.1.4 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and mcp-stdio-proxy; ensure consistent dependency versions across modules * chore: bump package versions to 0.1.5 for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and mcp-stdio-proxy; update dependency references accordingly * format * refactor: update README files for MCP-Proxy, Document Parser, OSS Client, and Voice CLI; enhance feature descriptions, installation instructions, and usage examples; remove obsolete test scripts * test: ignore tests that modify global state to prevent race conditions; update test annotations for clarity * feat: mcp-proxy health cli * add log * updaet * add log * update version and add log * fmt * perf * refactor * cargo fmt * refactor log print * build: update package versions and add rustls support - Bump versions for mcp-common, mcp-sse-proxy, mcp-streamable-proxy, and mcp-stdio-proxy - Add rustls dependency and initialize crypto provider in main - Include tests for crypto provider installation * feat(proxy): add cross-platform process cleanup with process-wrap refactor(proxy): move test server to mcp-sse-proxy examples fix(proxy): add panic hook for better error logging chore: update tokio-stream to 0.1.18 build: add process-wrap dependencies for proxy services ci: add Dockerfile for mcp-proxy service docs: update .gitignore with voice-cli/models
SSE transport has been removed from the MCP specification in favor of streamable HTTP. This removes all SSE-specific transport code.
Changes
transport-sse-clientandtransport-sse-serverfeaturesSseClientTransportandSseServertypescounter_sse,counter_sse_directly)Breaking changes
The following have been removed:
transport-sse-clientfeaturetransport-sse-client-reqwestfeaturetransport-sse-serverfeatureSseClientTransporttypeSseServertypesse_clientandsse_servermodulesUsers should migrate to streamable HTTP transport. See
StreamableHttpClientTransportandStreamableHttpServicefor the replacement APIs.Ref: #561 (comment)