langchian 使用外部MCP工具创建自己的MCP服务

普通智能体接入高德MCP

mcp协议官网:https://modelcontextprotocol.info/zh-cn/
关于什么是mcp建议大家看一下MCP官网就可以,首页的描述就非常贴切
“AI应用的USB-C接口” 接口通用,功能强大

接入流程

官网示例:https://docs.langchain.com/oss/python/langchain/mcp

  1. 添加 langchain-mcp-adapters 包来将 MCP 服务中的工具适配成 agent 使用的工具
  2. getTools 方法是异步的

接入代码实现

""" 【简单创建智能体,并将MCP服务工具,注入给智能体】 可参考官方文档地址:https://docs.langchain.com/oss/python/langchain/mcp """importasyncioimportosfromdotenvimportload_dotenvfromlangchain_core.messagesimportHumanMessagefromlangchain_core.toolsimporttoolfrompydanticimportBaseModel,Fieldfromlangchain_mcp_adapters.clientimportMultiServerMCPClientfromlangchain_openaiimportChatOpenAIfromlangchain.agentsimportcreate_agent load_dotenv()# 1. 创建本地工具classAddInputArgs(BaseModel):a:float=Field(description="第一个数字",example=1)b:float=Field(description="第二个数字",example=2)@tool(description="对输入的两个数字执行加法运算",args_schema=AddInputArgs,return_direct=False)defadd(a,b)->float:returna+b# 2. 获取 MCP 工具asyncdefget_mcp_tools():"""异步获取 MCP 工具,这里get_tools是异步的"""mcp_client=MultiServerMCPClient({"amap-maps-streamableHTTP":{"url":"https://mcp.amap.com/mcp?key="+os.getenv("AMAP_KEY"),"transport":"http"},})returnawaitmcp_client.get_tools()# 3. 主异步函数asyncdefmain():# 获取 MCP 工具print("正在获取 MCP 工具...")mcp_tools=awaitget_mcp_tools()# 汇总工具列表total_tools=[add]+mcp_toolsprint(f"✅ 所有工具列表(共{len(total_tools)}个):")fori,toolinenumerate(total_tools,1):print(f"{i}.{tool.name}")# 4. 初始化大模型llm=ChatOpenAI(model="qwen-max-latest",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",api_key=os.getenv("DASHSCOPE_API_KEY"),streaming=True,)# 5. 创建智能体agent=create_agent(model=llm,tools=total_tools,system_prompt="你是一个智能助手,可以调用高德 MCP 工具来帮助用户完成日常的一些需求")# 6. 调用智能体(使用异步调用!)print("\n🚀 开始调用智能体...")# ✅ 关键修改:使用 ainvoke() 而不是 invoke()result=awaitagent.ainvoke(input={"messages":[HumanMessage(content="我现在在上海市闵行区正矩科技大厦,我的车牌是‘浙AFQ5247’,我想开车导航去人民广场,请你给我规划下路线和时间。因为有禁行时间段!")]})# 7. 完成调用后打印,如果需要实时流式输出,则需要创建 create_react_agent 这里的普通智能体,只能事后打印消息记录print("\n"+"="*60)print("💬 对话记录:")print("="*60)formsginresult['messages']:t=type(msg).__name__ift=='HumanMessage':print(f"👤{msg.content}")elift=='AIMessage':ifhasattr(msg,'tool_calls')andmsg.tool_calls:fortool_callinmsg.tool_calls:args_str=', '.join(f'{k}={v}'fork,vintool_call['args'].items())print(f"🤖 调用{tool_call['name']}({args_str})")elifmsg.content:print(f"🤖{msg.content}")elift=='ToolMessage':print(f"🔧{msg.name}{msg.content[:100]}...")# 只显示前100字符print("="*60)returnresult# 8. 运行主函数if__name__=="__main__":# 使用 asyncio.run() 启动异步主函数asyncio.run(main())

创建自己的MCP服务

通过 FastMCP 创建

官网链接:https://docs.langchain.com/oss/python/langchain/mcp#custom-servers

""" 【自定义MCP】 官网:https://docs.langchain.com/oss/python/langchain/mcp#custom-servers """fromfastmcpimportFastMCP mcp=FastMCP("Math")@mcp.tool()defadd(a:int,b:int)->int:"""Add two numbers"""returna+b@mcp.tool()defmultiply(a:int,b:int)->int:"""Multiply two numbers"""returna*bif__name__=="__main__":mcp.run(transport="streamable-http")

使用mcp时的配置 JSON

{"mcpServers":{"fastmcp":{"url":"http://127.0.0.1:8000/mcp"}}}

本地AI编辑器TARE中配置MCP工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1159406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开题答辩全过程】以 基于Java的大学生兼职信息系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

2026年强推新兴GEO服务商-微盟星启:抢占AI搜索心智打造品牌增长

一、AI搜索重构增长逻辑,品牌亟需“标准答案”破局当生成式AI成为搜索领域的核心变革力量,互联网用户的信息获取方式正发生根本性转变。不同于传统关键词搜索的“信息罗列”,AI搜索更倾向于输出“整合式、结论性”的答案,这直接重…

Spring 中 Servlet 容器和 Python FastAPI 对比

一、核心架构对比:Java Servlet vs. Python ASGI 下表清晰地展示了两个生态在对应层级上的核心组件与关系:架构层级核心职责Java / Servlet 生态Python / ASGI 生态1. 网络与协议层处理原始HTTP请求/响应、连接管理、线程/进程调度。Tomcat, Jetty, Unde…

虎贲等考 AI:重构学术创作新范式,一站式智能论文写作解决方案

在学术研究与论文写作的赛道上,研究者与学子们往往面临选题迷茫、文献繁杂、实证低效、合规棘手等多重困境。虎贲等考 AI 智能写作平台(官网:https://www.aihbdk.com/)应势而生,作为一款基于前沿人工智能技术打造的专业…

揭秘Emmi AI每月人均千欧的远程团队协作模式

Emmi AI是一家奥地利深度科技公司,致力于构建人工智能驱动的物理仿真技术,以加速流体动力学、多物理场和固体力学等领域的工程流程。 对于从事此类工作的公司而言,人员协作方式与技术本身同等重要。该公司采用了一种混合、远程优先的模式&…

拒稿率暴跌 90%!虎贲等考 AI 期刊论文功能:从初稿到录用的 “学术加速器”

《自然》期刊统计显示,全球 78% 的学术论文因写作问题被拒稿,其中结构性缺陷占 53%,学术规范失误占 32%。对于科研人来说,撰写期刊论文不仅要攻克研究难题,还要面对文献梳理、格式规范、查重降重等一系列 “附加关卡”…

langchain 常见提示词模板使用案例

大模型对象创建&调用 """ 大模型共用定义""" import os from dotenv import load_dotenv from langchain_openai import ChatOpenAI load_dotenv()# 创建大模型对象 llm ChatOpenAI(model"qwen-max-latest",base_url"https…

langchain的工具调用

Tools 就是给大模型安装的"手和脚",让大模型能够调用外部函数/API来获取实时信息或执行具体操作。Tools 的工作流程 完整流程 用户问题 → 大模型思考 → 调用Tool → 执行Tool → 结果返回 → 大模型重新组织 → 最终回答 # 1. 用户提问 user_question …

告别熬夜做 PPT!虎贲等考 AI PPT:学术汇报的 “一键焕新” 神器

学术汇报的终极痛点是什么?不是论文写得不够好,而是熬了三个通宵做的 PPT,被导师批 “逻辑混乱、排版杂乱、重点不明”。从开题汇报、中期答辩到最终答辩,每一次 PPT 制作都像一场耗时耗力的 “硬仗”—— 既要提炼论文核心观点&a…

销售要少夸赞自己实力强,多问问客户害怕什么

制造业的销售常常会犯一个致命的错误:一和客户见面就急着向对方证明“我们技术领先同行”“设备精度非常高”“服务响应速度快”……但客户内心里想的却是:“你说得再好,万一出现问题,这个责任还是得我来承担,”在责任…

GetX 从 0 开始:理解 Flutter 的“对象级响应式系统”

很多人听说 GetX,是因为它“什么都能干”:状态管理、路由、依赖注入。 但如果一上来就学 API,很容易学成“工具集合”。 这篇文章只做一件事: 👉 从 0 建立对 GetX 的正确认知:它到底解决什么问题&#xff…

极致感知与定位:基于电鱼智能 RK3588 的 AMR 机器人高精度 vSLAM 导航方案

为什么 AMR 机器人首选 RK3588 进行 vSLAM?1. 多核异构算力匹配 vSLAM 任务链vSLAM 算法包含高度复杂的流水线,RK3588 的异构架构可以实现完美的分工:Cortex-A76 高大核:负责前端视觉里程计(VO)的特征点提取…

Java酒店管理系统(简易版)_java简易酒店管理系统

1.需求: 实现一个简单的酒店客房管理系统,它具备5个功能,分别为【1:查看所有房间功能;2:订房功能;3:退房功能;4:修改价格功能;5:退出本系统功能】…

电鱼智能 RK3576 实现商用清洁机器人的视觉避障与路径规划

什么是 电鱼智能 RK3576?电鱼智能 RK3576 是一款专为 AIoT 场景设计的中高端 SoC。它搭载 4 核 Cortex-A72 4 核 Cortex-A53 处理器,最大的亮点在于集成了 6TOPS 的独立 NPU(算力甚至接近旗舰级 RK3588 的单核 NPU 性能)。配合支…

揭秘!这位吴忠羽球教练凭什么带出锦标赛亚军?答案藏在3大教学绝招里

吴忠羽球教练韩宁波能带出锦标赛亚军,主要得益于以下三大教学绝招:科技赋能,精准训练肌电传感器揭秘力量传导链:韩宁波引入医疗级肌电传感器,开发出“肌肉激活顺序训练法”。学员佩戴8通道传感器进行专项训练&#xff…

基于DCT变换图像去噪算法的终极优化(1920*1080灰度图单核约22ms)

相关文章: 优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码)。 SSE图像算法优化系列二十一:基于DCT变换图像去噪算法的进一步优化(100W像素30ms)。 这个算法2015年优化过一版,2018年又优化过一版,2016年初又来回访一…

韩宁波的羽球哲学:用竞技场的热血浇灌,让每个学员都成为自己的冠军

韩宁波的羽球哲学以“突破极限、科技赋能、跨界融合”为核心,通过竞技场的热血实践,让每个学员在技术、体能与心理层面实现自我超越,成为自己人生的冠军。以下从三大维度解析其哲学内涵与实践路径:一、突破极限:从“经…

python基于vue的流浪动物救助志愿者管理系统django flask pycharm

目录基于Python与Vue的流浪动物救助志愿者管理系统开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!基于Python与Vue的流浪动物救助志愿者管理系统 该系统采用前后端分离架构,后端…

2026 毕业季硬核攻略:8 款 AI 毕业论文工具实测,paperzz 领衔解锁学术创作新姿势

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 毕业季的论文攻坚战,早已不是单打独斗的苦役。当 AI 技术深度融入学术场景,一批高效…

基于 电鱼智能 RK3568 打造工业协作机械臂的一体化关节控制器

什么是 电鱼智能 RK3568?电鱼智能 RK3568 是一款高性能、低功耗的国产化工业核心平台。它搭载四核 64 位 Cortex-A55 处理器,主频 2.0GHz,内置 1TOPS NPU。对于机器人应用,其杀手锏在于支持 ECC 内存(数据安全&#xf…