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

丹阳网站建设哪家好视频制作公司拍摄

丹阳网站建设哪家好,视频制作公司拍摄,如何在网站做宣传,制作网站价格MCP简介 MCP(Model Context Protocol),模型上下文协议,是由美国科技公司Anthropic(Claude就是是由Anthropic公司打造的一系列高性能且智能的AI大语言模型)在2024年11月份开源的一项用于解决LLM与外部数据源…

MCP简介

MCP(Model Context Protocol),模型上下文协议,是由美国科技公司Anthropic(Claude就是是由Anthropic公司打造的一系列高性能且智能的AI大语言模型)在2024年11月份开源的一项用于解决LLM与外部数据源和工具之间集成问题的标准化协议。更直白一些的说法就是,MCP为LLM应用标准化了手脚,让LLM可以根据需要获取一切可以连接的数据、直接执行一切可以连接的工具。

引入MCP后的变化[1]:

引入MCP后,核心变化在于如何连接数据和调用工具的方式。MCP定义了一套协议和规范,其中包括MCP的客户端(clients),这些客户端被包裹在AI应用中。而MCP服务器(Server)则与应用分离,如果需要在本地计算机上操作,则需在本地计算机上启动MCP服务器。这样,AI应用便可与服务器通过MCP协议(如JSON RPC)进行通信,以完成数据读取、文件操作等各种动作。

本篇文章是一篇基础且快速的MCP实践博文,因此暂不对MCP的概念、核心架构及其的提出对生成式AI应用发展的影响等做更多深入的介绍,感兴趣的朋友可以阅读以下好文自行学习了解:

[1] 因为Manus爆火的 Claude MCP,90%人的认知可能都是错的

MCP 快速上手(Quick Hands-On)

首先,去官网下载 Claude Desktop,然后我们按照 官方文档 提供给 MCP servers Developers的命令进行基于Python开发&运行 MCP servers环境的安装部署。

实践环境介绍:

机型 Apple M1 Pro
操作系统 macOS Sequoia version 15.5
  1. 打开终端,执行以下命令安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 重启终端后,查看 uv 版本,验证 uv 已成功安装;
uv --version
uv 0.7.12 (dc3fd4647 2025-06-06)
  1. 初始化一个名为weather的MCP server项目,该项目包含两个服务:获取美国某州的气象预警 & 获取指定经纬度的天气预报;
# 第一次初始化uv项目环境的话,需要使用--no-workspace(否则会报错),用于忽略父目录的 pyproject.toml,直接在 weather 目录下初始化环境
uv init --no-workspace weather
# 进入到执行上一步命令生成的项目目录
cd weather
# 创建 Python 虚拟环境(会在当前目录下生成 .venv 文件夹)
# 需要注意一点,如果你和我一样是使用miniconda进行多python环境的管理,请确保在Python3.10或更高版本的环境下执行以下命令
uv venv
# 激活虚拟环境
source .venv/bin/activate
# 安装 mcp(带 cli 工具)和 httpx 依赖包到当前虚拟环境
uv add "mcp[cli]" httpx
# 创建一个空的 weather.py 文件(用于编写你的 FastMCP 服务器代码)
touch weather.py
  1. 编辑 weather.py 文件,写入拷贝自 MCP 官方 github repo 的如下完整代码(为了方便大家更快熟悉代码,我请github copilot GPT-4.1给关键代码行加上了中文注释);
from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP# 初始化 FastMCP 服务器,服务名为 weather
mcp = FastMCP("weather")# 常量:NWS API 基础地址和 User-Agent
NWS_API_BASE = "https://api.weather.gov"
USER_AGENT = "weather-app/1.0"# 异步请求 NWS API,带异常处理,返回字典或 None
async def make_nws_request(url: str) -> dict[str, Any] | None:"""向 NWS API 发起请求,异常时返回 None。"""headers = {"User-Agent": USER_AGENT,"Accept": "application/geo+json"}async with httpx.AsyncClient() as client:try:response = await client.get(url, headers=headers, timeout=30.0)response.raise_for_status()return response.json()except Exception:return None# 格式化单条气象预警信息为可读字符串
def format_alert(feature: dict) -> str:"""将单条预警 feature 格式化为可读字符串。"""props = feature["properties"]return f"""
Event: {props.get('event', 'Unknown')}
Area: {props.get('areaDesc', 'Unknown')}
Severity: {props.get('severity', 'Unknown')}
Description: {props.get('description', 'No description available')}
Instructions: {props.get('instruction', 'No specific instructions provided')}
"""# 工具函数:获取指定州的气象预警
@mcp.tool()
async def get_alerts(state: str) -> str:"""获取美国某州的气象预警。参数:state - 两位州代码(如 CA, NY)"""url = f"{NWS_API_BASE}/alerts/active/area/{state}"data = await make_nws_request(url)if not data or "features" not in data:return "无法获取预警或无预警信息。"if not data["features"]:return "该州暂无有效预警。"alerts = [format_alert(feature) for feature in data["features"]]return "\n---\n".join(alerts)# 工具函数:获取指定经纬度的天气预报
@mcp.tool()
async def get_forecast(latitude: float, longitude: float) -> str:"""获取指定位置的天气预报。参数:latitude - 纬度,longitude - 经度"""# 先获取该点的 forecast 网格接口points_url = f"{NWS_API_BASE}/points/{latitude},{longitude}"points_data = await make_nws_request(points_url)if not points_data:return "无法获取该位置的预报数据。"# 从 points 响应中获取 forecast 详细预报 URLforecast_url = points_data["properties"]["forecast"]forecast_data = await make_nws_request(forecast_url)if not forecast_data:return "无法获取详细预报信息。"# 格式化前 5 个时段的预报信息periods = forecast_data["properties"]["periods"]forecasts = []for period in periods[:5]:  # 只显示最近 5 个时段forecast = f"""
{period['name']}:
Temperature: {period['temperature']}°{period['temperatureUnit']}
Wind: {period['windSpeed']} {period['windDirection']}
Forecast: {period['detailedForecast']}
"""forecasts.append(forecast)return "\n---\n".join(forecasts)if __name__ == "__main__":# 启动 FastMCP 服务器,使用 stdio 作为通信方式mcp.run(transport='stdio')
  1. 在第3步创建的虚拟Python环境下运行 weather.py 代码,若无异常输出,则可进行到下一步;
  2. 打开下载的 Claude Desktop 应用,点击 settings -> Developer -> 点击左下方的 “Edit Config” 按钮;

在这里插入图片描述

  1. 编辑选中的 claude_desktop_config.json 文件,写入以下内容(注意,“command” 字段的值是 uv 的路径,可通过 which uv 获取;);
{"mcpServers": {"weather": {"command": "/Users/xxx/.local/bin/uv","args": ["--directory","/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather","run","weather.py"]}}
}
  1. 写入保存后,重启 Claude Desktop 应用,在对话栏的左下角点击 “Search and tools” 图标,就可以看到识别成功的名为weather的MCP服务;
    在这里插入图片描述
    再点入进去就可以看到服务里包含的两个具体工具,get_alerts() 用于获取美国某州的气象预警 & get_forecast()获取指定经纬度的天气预报;
    在这里插入图片描述

  2. 我们来提问看看实际效果。
    10.1 询问天气:How is the weather in Sacramento?
    在这里插入图片描述
    10.2 获取加利福尼亚州的天气预警:What are the current weather warnings for the state of California?
    在这里插入图片描述

总体效果还是很不错的!
MCP servers对于实力强劲的LLM底座简直是如虎添翼,从此LLM有了标准化的手脚,可以做更多实际又落地、对各行各业有意义和价值的事!

话不多说,一起来探索吧~

MCP相关资源:

  1. 官方文档教程:https://modelcontextprotocol.io/introduction
  2. MCP 官方 servers repo: https://github.com/modelcontextprotocol/servers
  3. MCP官方文档之支持MCP集成的应用列表(MCP Clients):https://modelcontextprotocol.io/clients
  4. MCP Hub: https://github.com/ravitemer/mcp-hub
  5. Awesome MCP Clients
http://www.yayakq.cn/news/316932/

相关文章:

  • 阿里巴巴网站是用什么技术做的软件开发服务器
  • 佛山网站建设招标wordpress自定义内容插件
  • 网站建设模板购买舆情管理
  • 手机建立网站多少钱汕头网站设计多少钱
  • 12306网站做的好丑wordpress 漏洞
  • 建筑网图兰州网站优化哪家好
  • 专业足球网站开发宁波seo推广优化哪家强
  • 建设银行手机网站首页甘肃网络推广技巧
  • 电商企业网站建设情况wordpress建站 客户端
  • 做机票在线预订网站企业微信app下载安装官网电脑版
  • 建设局网站管理办法建立网站根目录下
  • 网站建设与管理 教材贵州网站开发哪家便宜
  • 电商网站类型qq浏览器在线
  • dede网站模板免费下载郑州企业网站建设费用
  • 个人做商机网站如何盈利平面设计基础学什么
  • 购物网站怎么建设在线定制t恤
  • 美丽说网站代码与蘑菇街网站代码是用什么网站语言做的wordpress 安装 白屏
  • 大连 做 企业网站阿里巴巴网站网络营销的影响
  • 需要网站建设的人多吗网站维护升级访问中
  • 学做招投标的网站软件开发流程书籍
  • 查公司的国家网站有哪些网络营销最好的方法
  • 做外贸生意最好的网站wordpress 知识库
  • 卖房网站排名dokan wordpress
  • 桂林论坛网站有哪些网站推广seo优化
  • 品牌网站设计制作公司手工制作飞机
  • 如何网站建设全包用户体验设计原则
  • 仿网站教程做网站的数据库的步骤
  • 百度网站地图模板android下载软件
  • 海口网站建设价格郑州河北建设工程信息网站
  • 网站网站怎么做文军seo