首页
/ ModelContextProtocol C SDK中SSE服务器与Cursor集成问题解析

ModelContextProtocol C SDK中SSE服务器与Cursor集成问题解析

2025-07-08 15:45:23作者:瞿蔚英Wynne

在使用ModelContextProtocol C# SDK开发SSE(Server-Sent Events)服务器时,开发者可能会遇到与Cursor集成时出现的连接问题。本文将从技术角度深入分析这一问题的成因及解决方案。

问题现象

当开发者基于ModelContextProtocol C# SDK创建SSE服务器并集成到Aspire AppHost中时,常规客户端连接工作正常。然而,当尝试通过Cursor工具连接时,系统会抛出连接错误,无论是否添加/sse路径,或使用http/https协议都会出现相同问题。

根本原因分析

问题的核心在于ASP.NET Core开发服务器默认启用的HTTPS重定向中间件。该中间件会自动将所有HTTP请求重定向到HTTPS端点,而开发环境使用的自签名证书在本地开发中通常会被浏览器信任,但Cursor这类工具可能无法正确验证这些证书。

解决方案

通过移除app.UseHttpsRedirection()中间件调用可以解决此问题。这是因为:

  1. 开发环境下HTTPS并非必须
  2. 本地测试时HTTP协议完全足够
  3. 避免了自签名证书验证带来的复杂性

最佳实践建议

  1. 环境区分处理:在生产环境中保留HTTPS重定向,而在开发环境禁用
  2. 配置管理:通过环境变量或配置文件控制HTTPS重定向的启用状态
  3. 安全考量:确保生产环境始终使用HTTPS,仅开发环境可考虑使用HTTP

代码修改示例

var app = builder.Build();

// 仅在非开发环境启用HTTPS重定向
if (!app.Environment.IsDevelopment())
{
    app.UseHttpsRedirection();
}

app.MapDefaultEndpoints();
app.MapGet("/", () => "Hello World!");
app.MapMcpSse();

app.Run();

总结

理解中间件在ASP.NET Core中的工作方式对于解决此类集成问题至关重要。通过环境感知的配置,开发者可以灵活地在安全性和开发便利性之间取得平衡。ModelContextProtocol C# SDK提供了强大的SSE功能,正确的配置能确保其与各类客户端工具无缝协作。

登录后查看全文
热门项目推荐
相关项目推荐