百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

带你搭建MCP走进Manus的大门

liuian 2025-05-26 17:20 33 浏览

最近一段时间,相信大家对于MCP的大名如雷贯耳,说的直白些,就是一个AI Agent工具服务器,本文就带您搭建简化版Manus走进AI Agent的大门。

笔者用过Claude等工具,为了方便大家快速入门,本文以VS Code来和大家分享MCP的搭建和使用。

一、 下载工具

请先下载VS Code工具,下载链接:
https://code.visualstudio.com/download

如果是Windows系统,则下载Windows版本:

还需要下载Python环境,大家可以下载Anaconda工具来安装Python,下载链接:

https://www.anaconda.com/download

完成了VS Code和Anaconda Python环境的安装,就可以开始进入正轨了。

二、 VSCode安装cline

打开VSCode工具:

选择左侧的扩展图标:

如果发现电脑操作系统版本不支持VSCode,还需要安装相关插件,可以按照提示安装相关VC++环境依赖。

在Extensions输入cline搜索:

安装即可。

三、 VSCode配置cline

安装完成在左侧菜单会出现cline的图标。

我已经安装过,正常出现点击Get Started for Free进行登录授权。

要求使用账号登录:

建议使用GitHub,打开后会提示输入GitHub邮箱账号密码,没有可以就地注册GitHub。

输入GitHub账号后,会给你发一封邮件,找到校验码:

填入验证校验码,完成GitHub账号认证,并进行授权:

授权后可以看到Cline中支持MCP Servers的配置。

接着点击右上侧设置按钮:

在API Provider选择模型,选择DeepSeek:

APIKEY需要去DeepSeek开放平台申请:

打开DeepSeek开放平台:

https://platform.deepseek.com/usage

创建APIKEY并复制

将APIKEY复制的值填入

具体模型建议选择deepseek-ressoner,推理能力更强:

注意:开通DeepSeek KEY需要先充值,必须充值后才可用:

填写好你的指令角色,作为使用的角色:

然后保存:

四、 搭建MCP服务端

打开电脑CMD窗口:

输入命令:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

开始安装uv:

安装完成后重启一下VS Code,保证uv环境生效。

用VS Code打开一个空白文件夹:

在空白文件夹下打开Terminal终端:

使用uv init weather来初始化一个名为 weather 的项目。

在终端进入weather项目:

cd weather

创建虚拟环境:

uv venv

使用uv add "mcp[cli]" httpx安装MCP依赖:

uv add "mcp[cli]" httpx

五、 启动MCP服务

首先使用Python安装MCP依赖:

pip install fastmcp

在CMD终端安装依赖:

打开VS Code,在weather项目下新建selectInfo.py文件:

将以下代码拷入selectInfo.py文件:

from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP
 
# Initialize FastMCP server
mcp = FastMCP("weather")
 
# Constants
NWS_API_BASE = "https://api.weather.gov"
USER_AGENT = "weather-app/1.0"
 
async def make_nws_request(url: str) -> dict[str, Any] | None:
    """Make a request to the NWS API with proper error handling."""
    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:
    """Format an alert feature into a readable string."""
    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:
    """Get weather alerts for a US state.
 
    Args:
        state: Two-letter US state code (e.g. 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 "Unable to fetch alerts or no alerts found."
 
    if not data["features"]:
        return "No active alerts for this state."
 
    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:
    """Get weather forecast for a location.
 
    Args:
        latitude: Latitude of the location
        longitude: Longitude of the location
    """
    # First get the forecast grid endpoint
    points_url = f"{NWS_API_BASE}/points/{latitude},{longitude}"
    points_data = await make_nws_request(points_url)
 
    if not points_data:
        return "Unable to fetch forecast data for this location."
 
    # Get the forecast URL from the points response
    forecast_url = points_data["properties"]["forecast"]
    forecast_data = await make_nws_request(forecast_url)
 
    if not forecast_data:
        return "Unable to fetch detailed forecast."
 
    # Format the periods into a readable forecast
    periods = forecast_data["properties"]["periods"]
    forecasts = []
    for period in periods[:5]:  # Only show next 5 periods
        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__":
    # Initialize and run the server
    mcp.run(transport='stdio')

其中运行MCP服务器的命令:mcp.run(transport='stdio')

打开VS Code终端,在weather项目下执行:

uv run selectInfo.py

六、 在cline中配置MCP Server

在VSCode左侧打开Cline,点击MCP Server进行配置。

点击配置MCP Servers:

在右侧的路径中根据你的真实目录改一下,我的是:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
          "--directory",
          "E:\\代码前端分支Git\\consult\\weather",
          "run",
          "selectInfo.py"
      ]
    }
  }
}

连接成功后绿色表示成功:

七、 使用MCP

前面配置好了MCP Server,并提供了查询天气的服务,现在可以尝试使用了。

在VS Code左侧打开Cline:

可以开始你的任务:

在思考:

因为当前采用的是国际天气函数,我们试试换一个任务:

选择任务后,提示我们修改代码:

Save,修改后再度查询:

提示申请新APIKEY指南,按照步骤查看申请指南:

一步步得按照我们的操作进行:

提示信息:

具体信息都给出了:

按照步骤AI Agent就能一步步去完成,具体信息大家可以自己去操作,本文只完成分享,帮你构建一个自己的Manus。

相关推荐

电脑显卡天梯图2025(笔记本电脑显卡天梯图2025)

2024年奥运会排名预测,第一名美国,第二名中国。结合21年东京奥运会成绩和今年各奥运项目比赛成绩,美国在田径游泳金牌大项目是收获大量奖牌,中国会在跳水,乒乓球,羽毛球等强行收获满满,预测第一美国,第...

固态硬盘的作用是什么(固态硬盘有什么功能)

固态硬盘作用 固态硬盘最大的作用就是快防震抗摔性:传统硬盘都是磁碟型的,数据储存在磁碟扇区里。而固态硬盘是使用闪存颗粒(即mp3、U盘等存储介质)制固态硬盘作而成,所以SSD固态硬盘内部不存在任何机械...

笔记本电脑蓝屏进不去系统怎么办

当笔记本电脑开机出现蓝屏时,可以尝试以下步骤来恢复系统:1.重启电脑:按住电源按钮长按几秒钟,让电脑完全关机,然后再按下电源按钮重新启动电脑。有时候蓝屏问题可能只是暂时的,重启电脑后可能会解决问题。...

windows7开机无法启动怎么办

电脑windows7无法启动解决方法如下1、进不了系统,首先关闭电源,开机之后立刻按F8键,进入系统模式选择界面;2、在这里有几种模式需要大家注意,安全模式、最后一次正确配置和正常启动模式,当然其他模...

无线路由器登录入口官网(lte无线路由器登录入口)

路由器最为常用的登录地址是192.168.1.1,有很多的网友把192.168.1.1称之为路由器登录官网跟路由器官网登录入口,这个叫法并不准确;因为不同品牌型号的路由器,它的登录地址可能是不一样的。...

怎么设置电脑自动关机win10(如何设置电脑自动关机win10)

windows10自动关机设置方法如下1、打开电脑管家主界面,点击右下角的“工具箱”;2、在工具箱的其他分类中选择打开“健康小助手”;3、健康小助手中有三项功能,护眼配色、定时休息和定时关机,点击定时...

如何在macbook上安装windows

1、网上自行下载需要安装的Windows系统,假设安装win10系统,那么你就把win10原版镜像直接下载到苹果电脑就可以了2、依次点击打开苹果电脑端的“应用程序/其他/bootcamp助理”3、然...

无法访问此网页怎么解决(无法访问该网页怎么办)
  • 无法访问此网页怎么解决(无法访问该网页怎么办)
  • 无法访问此网页怎么解决(无法访问该网页怎么办)
  • 无法访问此网页怎么解决(无法访问该网页怎么办)
  • 无法访问此网页怎么解决(无法访问该网页怎么办)
百度下载正版下载安装(百度下载并安装最新版官方下载)

下载方法:1.打开百度产品:桌面百度,点击立即下载2.下载成功后,打开安装包,选择安装路径后,点击立即安装3.等待安装成功后,回到桌面,查看左下角搜索框,输入你想要搜索的内容进行测试,点击右侧搜索即可...

win11家庭版产品密钥(win11家庭版永久激活码)

1,首先在win11桌面此电脑上右键属性, 2,然后点击更改产品密钥或升级windows, 3,之后在进入后点击更改产品密钥,4,输然后在入激活密钥:8G7XN-V7YWC-W8R...

笔记本电脑开机后黑屏(笔记本电脑开机后黑屏不显示桌面)
笔记本电脑开机后黑屏(笔记本电脑开机后黑屏不显示桌面)

步骤/方式1笔记本送到电脑维修店步骤/方式2然后师傅给你拆开检查一下硬件问题步骤/方式3就修好了,开机正常...

2026-01-08 16:05 liuian

airpods序列号查真伪官网(苹果耳机正品查询入口)

1.可以凭借airpods序号去苹果官网查询耳机真伪。2.打开苹果官网,点击技术支持,下拉页面,选择查看保障状态。3.在页面中输入airpods序列号,点击查询即可获得当前airpods的相关售后信息...

电脑声音设置一键恢复(电脑声音设置一键恢复在哪里)

1、打开控制面板添加新硬件,待搜寻完毕后,点“否,尚未添加此硬件”,点下一步后。在出现的对话框中,选中“单击完成,关闭无的计算机,重新启动来添加新硬件”。注意这里说的是关机后再启动,而不是重新启动.再...

英伟达声卡驱动(英伟达声卡驱动怎么卸载)
英伟达声卡驱动(英伟达声卡驱动怎么卸载)

  1、首先呢,要确保工作站安装了正确的显卡驱动程序。安装正常的显卡驱动程序后,操作系统里的控制面板里会有NVIDIA控制面板,点击进去会有如下界面。  2、在3D设置里,第一项菜单通过预览调整图像设置,选择使用我的优先选择,侧重于性能,...

2026-01-08 14:55 liuian

win10安装sql2000教程(win10怎样安装sql2000)

1.下载SQLServer2000安装文件你可以在微软官网下载SQLServer2000安装文件。注意选择与你的系统版本相符合的文件。2.安装SQLServer2000在Win10系统...