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

【AI】MCP,弥补Agent的缺陷

文章目录

  • Aegnt
    • 工作流
  • MCP
    • 工作流
  • 实战MCP Server
  • 出现的问题
  • 运行

Aegnt

  • 由于LLM的知识库截止于某个时间点,无法获得最新的数据。
  • 于是产生了Agent(智能体/代理)
  • LLM通过调用Agent的tool(函数)来获取最新的数据

在这里插入图片描述

工作流

在这里插入图片描述

  • 1、User问LLM:“今天天气怎么样”
  • 2、LLM看看有没有对应的Tool,调用Tool查询
  • 3、Tool查询到后把结果告诉LLM
  • 4、LLM再最终把结果告诉给用户

这就是一个Agent,但这就会造成另一个问题:Tool的建造和维护(语言不通无法复用)
于是诞生了MCP !!!

MCP

MCP(Model Context Protocol模型上下文协议)是claude提出的规范,它包括Tool、Resource、Prompt

在这里插入图片描述

工作流

在这里插入图片描述

  • 1、User问MCP Client:今天天气怎么样?
  • 2、MCP Client把Query、MCP Server和Tools形成一个新的Prompt给LLM
  • 3、LLM调用指令
  • 4、MCP Client接收指令后去MCP Server里调用对应的Tool

实战MCP Server

UV是一个极速的Python包和项目管理工具,使用Rust编写,速度比pip快10-100倍!它不仅能替代pip,还能替代pip-tools、pipx、poetry、pyenv和virtualenv等多个工具。

1、install uv

pip install uv

2、初始化项目

uv init bilibili-mcp-server

在这里插入图片描述
3、安装bilibili-api-python和mcp

uv add bilibili-api-python "mcp[cli]"

4、写server

import os
from typing import Any, Optional, Dict, Listfrom bilibili_api import search, sync
from mcp.server.fastmcp import FastMCP# 定义server
mcp = FastMCP("Bilibili mcp server")# 定义tool
@mcp.tool()
def general_search(keyword: str) -> dict[Any, Any]:"""Search Bilibili API with the given keyword.Args:keyword: Search term to look for on BilibiliReturns:Dictionary containing the search results from Bilibili"""return sync(search.search(keyword))if __name__ == "__main__":mcp.run(transport='stdio') # 本地连接

5、vscode安装Cline插件
在这里插入图片描述
6、配置MCP Server
在这里插入图片描述
绿色就表示加载成功了

出现的问题

在这里插入图片描述

配置了MCP Server,状态没有变成绿色(报错:spawn uv ENOENT spawn uv ENOENT)
这样就需要调整一下配置(改成用cmd运行):

{"mcpServers": {"bilibili": {"timeout": 60,"command": "cmd","args": ["/c","uv","--directory","D:/Desktop/Study/AI/DeepSeek/MCP/bilibili-mcp-server","run","bilibili.py"]}}
}

在这里插入图片描述

运行

1.
在这里插入图片描述

2.
在这里插入图片描述

http://www.xdnf.cn/news/109405.html

相关文章:

  • 一个关于相对速度的假想的故事-7
  • “该虚拟机似乎正在使用中“
  • HCIP实验二(OSPF网络配置与优化)
  • 智能指针(weak_ptr )之三
  • MySQL 8.4企业版 安装和配置审计插件
  • 大模型Agent
  • 第十七讲、Isaaclab中使用操作空间控制器
  • Vue3:watch(监听事件)
  • 【阿里云大模型高级工程师ACP习题集】2.3 优化提示词改善答疑机器人回答质量
  • 基于javaweb的SpringBoot扶农助农平台管理系统设计与实现(源码+文档+部署讲解)
  • 【OceanBase相关】01-OceanBase数据库部署实践
  • java面试题及答案2020,java最新面试题(四十四)
  • 民宿管理系统4
  • 基于ESP32 - S3的MD5校验算法的C语言例程
  • 动态显微镜数据分析及AI拓展
  • 字典树(前缀树)的实现(5)0423
  • Linux: 进程的调度
  • spring-session-data-redis使用
  • # 深度学习中的学习率调度:以 PyTorch 图像分类为例
  • 扣子空间试用:生成五一骑行规划+notion文章编写
  • 青少年编程与数学 02-018 C++数据结构与算法 06课题、树
  • 2022 年 9 月青少年软编等考 C 语言七级真题解析
  • 文献分享:广谱性谷蛋白肽-HLA-DQ2.5复合物中和抗体的表征
  • Qt多线程学习初级指南
  • lerobot[act解析]
  • 【浙江大学DeepSeek公开课】走向数字社会:从DeepSeek到群体智慧
  • JDK(Ubuntu 18.04.6 LTS)安装笔记
  • OrbStack 全面介绍:功能、安装与使用指南
  • Java 拦截器完全指南:原理、实战与最佳实践
  • 【Flutter高效开发】GetX指南:一文学会状态管理、路由与依赖注入