MCP协议第一课,生成一个旅游助手

本次我们利用高德地图的MCP工具+Minimax语音生成工具 以及genmi大模型,加之Cursor作为MCP Client。实现一个旅游景点介绍HTML页面生成工具,该HTML页面还具有语音播报的功能。

在这个助手的开发过程中,会让人理解什么是现在主流的Vibe Coding能力。

就是氛围编程,强调程序员由原本的书写代码改为指导AI生成代码,测试以及优化程序代码。在此过程中,书写代码的流程为说一句话,AI自动生成代码,检视代码,再进行一轮沟通。

回到助手的开发流程:

首先需要我们获取到相关MCP工具的密钥,因为在这里我们先不考虑本地化部署MCP 工具,直接采用线上托管的方式使用。

因此需要相关的密钥

在分别注册高德个人开发者获取到密钥之后

以及注册MiniMax开放平台来提供语音服务后。

之后利用ModelScope上托管的Mcp Server来进行MiniMax的实际调用。

在ModelScope之中填入相关信息,诸如MiniMax_API_HOST

MiniMAX_API_KEY。

之后就是在Cursor之中,配置相关信息

{

“mcpServers”: {

“MiniMax-MCP”: {

“type”: “sse”,

“url”: “https://mcp.api-inference.modelscope.cn/在ModelScope托管的url/sse”,

“env”: {

“MINIMAX_GROUP_ID”: “1在账户信息里复制的GroupID一串数字”

}

},

“amap-amap-sse”: {

“url”: “https://mcp.amap.com/sse?key=在高德开放平台获得的应用密钥”

}

}

}

在Cursor配置完成相关JSON之中,刷新MCP服务列表,

之后我们进行简单的测试工作,首先在Chat对话框中,输入获取西安主要的旅游景点信息。

这时候会发现Cursor作为client端工具,会自动拉取MCP工具,完成相关任务。

当这一步确认无误之后,就可以进行我们这个MCP工具的开发工作了。

首先要求MCP根据高德的返回,将景点分类之后写入到一个markdown文档之中。

其会自动的将其分类并进行markdown的生成。

其次是将这个markdown上传到Minimax

交给Cursor,其会阅读这个markdown,并利用Minimax进行语音文件的生成。

并将语音文件的连接嵌入到Markdown文档之中

最后我们准备一个Web制作相关的prompt,将生成的Markdown以及Prompt一同交给Cursor,让其进行生成。

Markdown

# 页面提示词

## 网页风格指南

你是一位国际顶尖的数字景区导览设计师和前端开发专家,擅长将传统景区介绍与现代网页设计完美融合,创造出令人身临其境的视觉体验。请设计高品质景区介绍手机h5网页,将景区信息以生动优雅的方式呈现,让用户在浏览前就能感受到景区魅力。

**可选设计风格:

**1. **文化复古风格**

适合历史文化类景区,使用仿古纸张纹理背景,搭配书法或篆刻风格的标题。色调以米黄、棕色等复古色系为主,点缀传统中国色。排版可参考古籍设计,正文使用简体宋体增强文化氛围。可加入水墨画元素作为分隔符或装饰。文案语调应庄重有文化底蕴,介绍中可穿插诗词或历史典故。

2. **现代简约风格**

采用极简设计理念,主色调限制在2-3种,确保视觉统一性。排版注重网格系统,所有元素严格对齐。字体选用无衬线体,增强现代感。景点信息使用卡片式设计,便于用户快速浏览。图标采用线性设计,保持风格一致性。动效应简洁克制,仅用于增强用户体验的关键环节。整体设计追求”少即是多”的理念,让内容成为主角。

**必要页面组件:**

1. **景区名称列表**:

1. 景区名称

2. 音频开始按钮:点击音频可以直接播放,播放时可以暂停,暂停的音频还可以继续播放

2. **景区介绍**:

1. 默认收缩,点击景区名称可弹出详细介绍

## 技术规范

* 资源引用:

* Tailwind CSS: `https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/tailwindcss/2.2.19/tailwind.min.css`

* Font Awesome: `https://lf6-cdn-tos.bytecdntp.com/cdn/expire-100-M/font-awesome/6.0.0/css/all.min.css`

* 中文字体: `https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap`

* Alpine.js: `https://unpkg.com/alpinejs@3.10.5/dist/cdn.min.js`

* 音频处理:

* 使用HTML5 audio元素实现音频播放

* 实现自定义播放控制按钮

* 支持语音解说的暂停/继续功能,切换新音频直接打断正在播放的音频

## 输出要求

* 提供一个完整的HTML文件,包含所有景区介绍内容

* 代码应当简洁高效,注释充分,易于维护

* 确保在不同尺寸的移动设备上都能良好展示

* 所有文字内容使用中文输出

* 确保文字的可读性,背景与文字有足够对比度

之后交给Agent生成HTML页面

最终得到了一个HTML,可以在本地进行简单的预览。

这就是一个简单的MCP使用教程以及Vibe Coding体验。