seethefuture

Results 8 comments of seethefuture

After have an eye of Geohash algorithm, it found that there are too many geohash values if it has high accuracy requirements(1m). Is it means that Geohash is not suitable...

it works well, thanks

so, why dont plan to support istio? we need it, really

官网的sample上面只有stdio的,怎么都没有sse的?照着那个配置做的sse的好像有问题,是这个模块还在孵化阶段吗? The official website's sample only has stdio, and there's nothing about SSE. I followed that configuration for SSE, but it seems to have issues. Is this module still in...

> > 官网的样本上面只有stdio的,怎么都没有sse的?照着那个配置做的sse的好像有问题,这个模块还在孵化阶段吗?官网的 样本只有stdio,没有SSE的东西。我遵循了 SSE 的配置,但它似乎有问题。这个模块还处于孵化阶段吗? > > [spring-ai-demo] [onPool-worker-1] i.m.c.t.HttpClientSseClientTransport : Error sending message: 404 > > Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mcpSyncClients' defined in class...

> > 一样,我使用spring ai的mcp server实现了高德的api,集成到mcp client,目前没啥问题。 > > 直接对接官方的sse,SYNC模式我没成功过。ASYNC模式一开始正常,但是运行段时间就挂了。 > > 编程式sync是可以的,yml形式我没成功过 McpClientTransport transport = HttpClientSseClientTransport .builder("https://mcp.amap.com") .sseEndpoint("/sse?key=xxxxxx") .objectMapper(objectMapper) .build(); yml的引入后我排查到是在建立连接时的url不正确,我猜测可能是目前yml的配置方式不支持这种,使用目前只能手动写。另外高德的链接使用endpoint建立后会在2分钟左右断连,spring没有做自动切换恢复。可能国外的sse跟高德的不太一样?先自己实现吧,可以做心跳重连,但是目前的心跳好像没有比较好的方法,试试看有没有什么断开回调吧,不行就只能每次使用都是实例化sseclient了

> > > > 一样,我使用spring ai的mcp server实现了高德的api,集成到mcp client,目前没啥问题。 > > > > 直接对接官方的sse,SYNC模式我没成功过。ASYNC模式一开始正常,但是运行段时间就挂了。 > > > > > > > > > 编程式sync是可以的,yml形式我没成功过 McpClientTransport transport = HttpClientSseClientTransport .builder("https://mcp.amap.com") .sseEndpoint("/sse?key=xxxxxx") .objectMapper(objectMapper)...

> > 对于sse连接增加参数,mcp java sdk在0.9版本后做了修复。spring AI如果集成高德SSE可以自定义client: > > ![Image](https://github.com/user-attachments/assets/bbcd38b3-c5fd-4f71-a4d1-495c799ddc9c) 这种情况,不需要加spring相关配置。 也可以直接使用spring ai相关配置,代码改动如下: > > ![Image](https://github.com/user-attachments/assets/6d6411d2-8a03-4ad0-8995-121e9994e1d7) 但是这种情况仅限于自己测试用,实际生产环境中是无法避免服务端也就是高德侧主动断开连接的情况,这种配置都是一次性连接。所以暂时我想了一种方案: > > ![Image](https://github.com/user-attachments/assets/8a55ddd8-30f8-4102-bdbf-46f64c3e5e61) 创建一个切面,在调用mcpclient的方法前建立连接,调用之后释放连接。类似于httpclient的建立连接释放连接原理 实际使用方法如下: > > ![Image](https://github.com/user-attachments/assets/b001eedf-5af1-45ae-a0ad-bf89e1c71769) > > [@wangzr622](https://github.com/wangzr622) 非常感谢,经实测,每次调用之前先建立连接后initialize,调用完成closeGracefully,这种方式是可行的,目前运行比较稳定。 从MCP服务端角度来考虑,为了稳定性,服务端肯定不能维持太多长链接,不可避免会有定期断链机制,需要客户端考虑断链后如何自动重连。生产环境每次重连的时间100ms至1s,供参考。 springai目前有对这种短连接sse的支持规划吗?我看到目前的sseClient都是基于httpClient实现的,没有断开连接的监听或回调。生产环境使用只能通过每次都重新建立连接,完成后由client主动关闭的方式实现。如果要优雅一些就只能自己去socket层处理报文信息,希望spring后面能出一些基于socket的sseClient。...