解决问题
出行时经常懒得规划形成,往往需要在购票软件和地图软件中来回切换,通过接入两个mcp解决这种问题
说明
继上一期通过百度地图的mcp服务搭建了简易版的出行agent后,这周继续完善它的功能。既然是出行肯定少不了车票信息,这里我推荐一个国内的mcp集合网站 魔塔社区,我这里使用的是社区中一个使用量比较高的mcp 地址在这里,可以临时部署一些自己调试不过永久使用貌似需要付费

代码变更
把工具获取的函数升级为了支持多个mcp server,同时把mcp server的地址收到了宏定义文件,都是很简单的改动
go
func GetBaiDuMapTool(ctx context.Context, input []string) []tool.BaseTool {
toolList := []tool.BaseTool{}
for _, in := range input {
cli, err := client.NewSSEMCPClient(in)
if err != nil {
log.Fatal(err)
}
err = cli.Start(ctx)
if err != nil {
log.Fatal(err)
}
initRequest := mcp.InitializeRequest{}
_, err = cli.Initialize(ctx, initRequest)
if err != nil {
log.Fatal(err)
}
tools, err := mcpp.GetTools(ctx, &mcpp.Config{Cli: cli})
if err != nil {
log.Fatal(err)
}
toolList = append(toolList, tools...)
}
return toolList
}
效果部分
我这里问的是明天从北京到天津的高铁,要求午饭前到达天津,看看在接入了12306 mcp后模型会怎么说呢?
