当前位置: 首页 > news >正文

net域名 著名网站wordpress简体中文下载地址

net域名 著名网站,wordpress简体中文下载地址,微信营销号是啥意思,房地产新闻最新消息目录 什么是MCP MCP是怎么工作的? 环境运行安装 MCPAI实现高德地图酒店查询 获取高德api-key 代码讲解 运行演示 什么是MCP MCP(Model Context Protocol)可以理解为**大模型与外部世界打交道的“万能转接头”**。它的核心作用是&#…

目录

什么是MCP

MCP是怎么工作的?

环境运行安装

MCP+AI实现高德地图酒店查询

获取高德api-key

代码讲解

运行演示


什么是MCP

MCP(Model Context Protocol)可以理解为**大模型与外部世界打交道的“万能转接头”**。它的核心作用是:**让大模型(如Claude、GPT等)能够安全、标准化地调用外部工具和服务**,从而完成更复杂的任务。

MCP是怎么工作的?

它采用**客户端-服务器架构**,分为三个核心角色:

MCP Host:如 Claude Desktop、Cursor、VS Code 等,负责运行大模型;
  
MCP Client:Host 内部的小助手,负责和服务器通信;
  
MCP Server:连接外部服务的“翻译器”,比如地图API、数据库、本地文件系统等。
  

工作流程如下:

1. 用户提问;
  
2. 大模型判断是否需要调用工具;
  
3. MCP Client 把请求发给 MCP Server;
  
4. MCP Server 执行具体操作(如查天气、写文件);
  
5. 结果返回给大模型,生成最终回答。

环境运行安装

需求:Python 3.10+,node.js,npm

安装uv

pip install uv

创建一个空的python项目

初始化项目

Uv init
Uv venv

激活环境

.venv\Scripts\activate

安装mcp支持

uv add "mcp[cli]"

如何查看mcp是否安装完成

直接终端输入下面的指令

mcp

输出

当输出这个时候就证明安装完成了。

MCP+AI实现高德地图酒店查询

获取高德api-key

首先我们要获取到高德地图的api-key。

高德开放平台 | 高德地图API

登录之后点击应用管理

创建新的应用

点击添加key

选web服务

其他默认填写就行了,然后复制生成的api_key就好了

代码讲解

在已经有的项目结构根目录下创建mcp.json文件

如图所示

然后将这串全部复制到你json文件里面替换成你的api-key就行了

{"mcpServers": {"amap-mcp": {"url": "https://mcp.amap.com/sse?key=你的api-key"}}
}

连接mcp

点击个人设置

点击服务连接

打开按钮,等待为绿色连接状态就OK了

如果没有工具显示

选择配置文件添加,将已经编写好的json文件复制进去,保存之后就会有了

光有mcp是能直接获取数据输出的,不过会通过网络走web查询,不经过mcp工具进行输出,所有我们需要创建mcp工具函数。

在main.py创建

import asyncio
import httpx
import os
from mcp.server.fastmcp import FastMCPmcp = FastMCP("gaode-hotel-search")@mcp.tool()
async def search_hotels_nearby(location: str, radius: int = 5000):"""根据经纬度搜索附近酒店"""url = "https://restapi.amap.com/v5/place/around"# 使用环境变量中的API密钥,避免硬编码api_key = os.getenv("AMAP_API_KEY", "你的api-key")params = {"key": api_key,"location": location,"keywords": "酒店","radius": radius,"types": "住宿服务"}# 添加超时设置和错误处理timeout = httpx.Timeout(10.0, connect=5.0)async with httpx.AsyncClient(timeout=timeout) as client:try:res = await client.get(url, params=params)res.raise_for_status()return res.json()except httpx.TimeoutException:return {"error": "请求超时,请检查网络连接"}except httpx.RequestError as e:return {"error": f"请求错误: {str(e)}"}except Exception as e:return {"error": f"未知错误: {str(e)}"}if __name__ == "__main__":mcp.run(transport="stdio")

这串代码具体做了什么。

首先创建mcp实例对话(约等于你创建fastapi的app对象一样)

使用

@mcp.tool()

创建工具使用方法函数的接口对象

这一串是初始化定义传递的数据参数类型和目标网址

"""根据经纬度搜索附近酒店"""url = "https://restapi.amap.com/v5/place/around"# 使用环境变量中的API密钥,避免硬编码api_key = os.getenv("AMAP_API_KEY", "你的api-key")params = {"key": api_key,"location": location,"keywords": "酒店","radius": radius,"types": "住宿服务"}

这一串则是定义了大模型去哪个路由地址去查询你所需要的地址去获取参数,返回的参数转换为json格式让大模型进行转换输出

 async with httpx.AsyncClient(timeout=timeout) as client:try:res = await client.get(url, params=params)res.raise_for_status()return res.json()except httpx.TimeoutException:return {"error": "请求超时,请检查网络连接"}except httpx.RequestError as e:return {"error": f"请求错误: {str(e)}"}except Exception as e:return {"error": f"未知错误: {str(e)}"}

运行演示

记得运行时勾选上工具。

然后运行py文件

输出大概演示

http://www.dtcms.com/a/441001.html

相关文章:

  • 东莞效果好的营销型网站建设小零件加工在家做
  • 网站开发+接活校园类网站建设
  • 网站建设简单外国网站签到做任务每月挣钱
  • wordpress评分管理长沙seo行者seo09
  • 杭州高端设计网站建设网站及推广
  • 哪些网站做的比较好网站建设意见建议
  • 搬瓦工做网站稳定吗个人开发者
  • 企业门户网站的意义专做热血电影的网站
  • 洛阳霞光企业网站建设公司专业的餐饮加盟网站建设
  • 网站制作关键字排名网站怎么做有创意
  • 温州免费做网站网站开发人员 怎么保存
  • 移动端网站开发公司网页制作流程
  • 莒县网站制作公司怎样将建设银行网站加入可信站
  • 建设产品网站课程wordpress 页面标签
  • 网站建设制作深圳湘潭seo优化
  • 最简单的做网站工具优度公司做的网站
  • 静态网站 后台公众号平台登录入口官网
  • 论述电子商务网站建设的流程阿里云 网站
  • 建设银行成都官网招聘网站怎么把网站上传到域名
  • 宿迁华夏建设集团网站新国标小区网络建设
  • 怎样自己建个人网站成都 高端网站建设
  • 河南县公司网站建设双通网络网站建设价格
  • 哈尔滨 建网站优秀的建筑设计作品
  • 做软装有什么网站找图片led行业网站建设方案
  • 创建网站的基本流程访问网站 流程图
  • 通州 网站建设郑州网站优化多少钱
  • 购物网站设计的目的建设银行科技中心网站首页
  • 代做网站地图如何分析网站建设
  • 企业网站建设新站各种网站解决方案
  • 网站建设开发服务费会计科目php网站开发综合案例