解决问题

出行时经常懒得规划形成,往往需要在购票软件和地图软件中来回切换,通过接入两个mcp解决这种问题

说明

继上一期通过百度地图的mcp服务搭建了简易版的出行agent后,这周继续完善它的功能。既然是出行肯定少不了车票信息,这里我推荐一个国内的mcp集合网站 魔塔社区,我这里使用的是社区中一个使用量比较高的mcp 地址在这里,可以临时部署一些自己调试不过永久使用貌似需要付费
在这里插入图片描述

代码变更

把工具获取的函数升级为了支持多个mcp server,同时把mcp server的地址收到了宏定义文件,都是很简单的改动

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后模型会怎么说呢?
在这里插入图片描述

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐