不过ai 直接调用mcp方法 ClientSession, StdioServerParameters

代码cline写的

MCP客户端示例 ================================================== 可用的MCP服务器: - blender-tool: Blender 工具服务器 - ue-tool: Unreal Engine工具服务器 - browser-tool: 浏览器工具服务器 - computer-tool: 计算机 控制工具服务器 - ocr-tool: OCR工具服务 器 - likefavarite-tools: 点赞收藏检测工具服务器 示例1:列出Blender工具 Blender工具服务器 (blender-tool) 可用工具: - activate_blender_window: 激活Blender窗口(精 确匹配窗口标题),如果没有运行则启动Blender - fix_model: 执行 Fix Model 操作 - import_pmx_file: 导入PMX文件 - delete_all_objects: 删除所有对象和集合 - parent_object_to_armature: 将选中的对象设置为骨骼绑定父级 - set_blender_scale_settings: 设置Blender场景的单 位比例和当前对象的缩放 - delete_objects_by_name: 删除名称包含指定模式的物体 Args: name_pattern (str): 要匹配的名称模式 - clear_parent_keep_transform: 清除选中对象的父级关系,但保持变换(位置、旋转、缩放) - apply_armature_pose: 切换到姿态模式并应用选中的骨架 - scale_objects_to_match_height: 将所有不包含"ObjectName"的物体缩放到与ObjectName物体相同的高度(三轴等比例缩放) - import_psk_file: 导入PSK文件(外部选择文件路径) - parent_object_to_bone: 将选中的对象设置为骨骼父级 - add_data_transfer_modifier: 添加数据传输修改器并配置顶点组权重传输 示例2:调用Blender的activate_blender_window工具 调用 blender-tool 的 activate_blender_window 工 具结果: false 示例3:调用computer工具 的click_mouse工具(示例 坐标) 调用 computer-tool 的 click_mouse 工具结果: 点击成功: (100, 100), 类型: left, 次数: 1 示例4:调用OCR工具的find_text_coordinates工具 调用 ocr-tool 的 find_text_coordinates 工具结果 : { "text": "'示例文本", "target_text": "示例文本", "center_x": 429, "center_y": 694 } 演示完成。
#!/usr/bin/env python3 """ MCP客户端示例脚本 - 调用MCP服务器中的工具 此脚本演示如何使用mcp库连接到已配置的MCP服务器并调用其工具。 支持的服务器包括:blender-tool, ue-tool, browser-tool, computer-tool, ocr-tool, likefavarite-tools """ import asyncio import sys import os # 导入mcp客户端相关模块 from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client class MCPClient: """MCP客户端类,用于连接和调用MCP服务器工具""" def __init__(self): self.servers = { 'blender-tool': { 'command': sys.executable, 'args': [os.path.join('my_python_server', 'blender_cline', 'blender_api_tool.py')], 'description': 'Blender工具服务器' }, 'ue-tool': { 'command': sys.executable, 'args': [os.path.join('my_python_server', 'ue_cline', 'ue_api_tool.py')], 'description': 'Unreal Engine工具服务器' }, 'browser-tool': { 'command': sys.executable, 'args': [os.path.join('my_python_server', 'browser_cline', 'browser_api_tool.py')], 'description': '浏览器工具服务器' }, 'computer-tool': { 'command': sys.executable, 'args': [os.path.join('my_python_server', 'computer_cline', 'computer_api_tool.py')], 'description': '计算机控制工具服务器' }, 'ocr-tool': { 'command': sys.executable, 'args': [os.path.join('my_python_server', 'ocr', 'ocr.py')], 'description': 'OCR工具服务器' }, 'likefavarite-tools': { 'command': sys.executable, 'args': [os.path.join('my_python_server', 'yolo', 'detect_like_favorite.py')], 'description': '点赞收藏检测工具服务器' } } async def list_tools(self, server_name): """列出指定服务器的所有可用工具""" if server_name not in self.servers: print(f"错误:未知的服务器 '{server_name}'") return [] server_config = self.servers[server_name] server_params = StdioServerParameters( command=server_config['command'], args=server_config['args'], env=None ) try: async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: # 初始化会话 await session.initialize() # 获取可用工具 tools_result = await session.list_tools() tools = tools_result.tools print(f"\n{server_config['description']} ({server_name}) 可用工具:") for tool in tools: print(f"- {tool.name}: {tool.description}") return tools except Exception as e: print(f"连接到 {server_name} 时出错: {e}") return [] async def call_tool(self, server_name, tool_name, arguments=None): """调用指定服务器的指定工具""" if server_name not in self.servers: print(f"错误:未知的服务器 '{server_name}'") return None if arguments is None: arguments = {} server_config = self.servers[server_name] server_params = StdioServerParameters( command=server_config['command'], args=server_config['args'], env=None ) try: async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: # 初始化会话 await session.initialize() # 调用工具 result = await session.call_tool(tool_name, arguments) print(f"\n调用 {server_name} 的 {tool_name} 工具结果:") for content in result.content: if hasattr(content, 'text'): print(content.text) elif hasattr(content, 'type'): print(f"[{content.type}]: {content}") return result except Exception as e: print(f"调用 {server_name} 的 {tool_name} 时出错: {e}") return None async def main(): """主函数,演示如何使用MCP客户端""" client = MCPClient() print("MCP客户端示例") print("=" * 50) # 选择要使用的服务器 print("\n可用的MCP服务器:") for name, config in client.servers.items(): print(f"- {name}: {config['description']}") # 示例1:列出Blender工具 print("\n示例1:列出Blender工具") await client.list_tools('blender-tool') # 示例2:调用一个简单的工具(如果可用) print("\n示例2:调用Blender的activate_blender_window工具") await client.call_tool('blender-tool', 'activate_blender_window') # 示例3:调用computer工具的click_mouse(需要坐标参数) print("\n示例3:调用computer工具的click_mouse工具(示例坐标)") await client.call_tool('computer-tool', 'click_mouse', { 'x': '100', 'y': '100', 'click_type': 'left', 'clicks': '1' }) # 示例4:调用OCR工具 print("\n示例4:调用OCR工具的find_text_coordinates工具") await client.call_tool('ocr-tool', 'find_text_coordinates', { 'text_to_find': '示例文本' }) print("\n演示完成。") if __name__ == "__main__": # 运行异步主函数 asyncio.run(main())

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

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

相关文章

2026年 柔性压电传感器/柔性压力传感器厂家推荐榜单:高灵敏与高柔性兼备的智能传感解决方案 - 企业推荐官【官方】

2026年柔性压电传感器/柔性压力传感器厂家推荐榜单:高灵敏与高柔性兼备的智能传感解决方案 随着物联网、智能穿戴、医疗电子及先进机器人产业的飞速发展,对传感器的要求已不再局限于单一功能与刚性结构。柔性压电传感…

数据库DATABSE

什么是数据库?是按照特定的数据结构来组织、存储和管理数据的集合,它的核心作用是高效地存储大量数据,并支持快速的查询、修改、删除等操作,同时保证数据的安全性、完整性和一致性。简单来说,数据库就像一个电子化的智…

2026年高压安全阀厂家最新推荐:止回阀/燃气安全阀/美标安全阀/蒸汽安全阀/蝶阀/高压安全阀/不锈钢安全阀/先导式安全阀/选择指南 - 优质品牌商家

2026年高压安全阀十大品牌及石油行业应用推荐石油行业的高压设备,比如油气井、输油管道、炼化装置,工作压力常达几十MPa,一旦压力失控,可能引发泄漏、爆炸等重大事故。很多企业曾因安全阀选型不当、响应不及时,导…

【开源-RAG排序】Rank4Gen 优化排序结果 提高答案生成质量

论文《Rank4Gen: RAG-Preference-Aligned Document Set Selection and Ranking》,利用qwen等开源模型,对召回内容进行排序,并针对后续生成器的特点调整排序顺序,提升问答效果。 先用SFT学会排序,再用DPO学会如何针对生…

2026靠谱厂房机电安装工程服务商盘点,品质施工有保障 - 品牌2025

在工业生产体系中,厂房机电安装工程是保障企业稳定运营、提升生产效率的核心基础,其施工品质直接关系到后续生产安全、能耗控制与产能释放。随着制造业升级与厂房建设需求的持续增长,市场上机电安装服务商良莠不齐,…

F12控制台查看之前的接口

比如登录接口,可能登录后就自动清除了,勾选这两个选项Preserve log和Diasble cache可以保留之前的记录。

武汉研究生留学机构如何选?top10排名中稳定可靠的选择解析 - 留学机构评审官

武汉研究生留学机构如何选?top10排名中稳定可靠的选择解析一、武汉研究生留学机构如何选?可靠中介的筛选逻辑作为一名在国际教育规划领域从业超过十年的顾问,我常被武汉地区的高校学生及家长问及:“面对众多留学中…

全行业适配!在线活动报名与信息收集系统源码深度解析

温馨提示:文末有资源获取方式 在竞争激烈的市场环境中,高效、灵活的信息收集与活动管理能力已成为企业与组织提升竞争力的关键。一款能够适应多行业需求、操作简单且功能强大的系统工具显得尤为重要。本文将深入解析一款集活动管理、自定义表单与数据智能…

【技术揭秘】一套算法搞定所有图片?错!揭秘 AI 如何通过“混合引擎架构”自动适配 1688 复杂场景

Python 混合架构 场景分类 动态路由 计算机视觉 跨境电商摘要在跨境电商的实际业务中,卖家处理的图片类型千差万别:有干净的白底图、有复杂的实景海报、还有密密麻麻的参数表格。试图用同一个 AI 模型处理所有场景(One Size Fits All&#xf…

新加坡硕士留学机构:被誉为最好的原因,学员满意度高证明其优势 - 留学机构评审官

新加坡硕士留学机构:被誉为最好的原因,学员满意度高证明其优势一、探寻新加坡硕士留学机构,如何破解信息不对称与服务质量参差难题?在规划新加坡硕士留学的道路上,许多同学面临着相似的困惑:市场上机构众多,信息…

2026水泵推荐榜:哪些品牌水泵更受用户青睐?进口MBR平板膜/AmberLite罗门哈斯树脂,水泵企业哪家强 - 品牌推荐师

随着工业升级与环保要求提升,水泵作为水处理、工业循环及建筑供水的核心设备,其性能稳定性、能效比及适配场景成为采购方关注的重点。当前市场品牌林立,但技术参差、服务差异显著,如何筛选“靠谱”产品成为行业痛点…

数据中心锂电化潮起:为什么说霍尔传感器决定了UPS的“生死线”?

时代向前发展,AI已经已经影响各行各业,就电池行业而言,随着数据中心规模不断扩大,电价波动加剧,碳指标收紧以及园区微电网的发展,数据中心正经历一场结构性转变--锂电化。市面常用的铅酸电池因体积大、寿命…

选择泉州最好的研究生留学机构,确保无隐形消费,安心留学 - 留学机构评审官

选择泉州最好的研究生留学机构,确保无隐形消费,安心留学我是一名在泉州地区从事国际教育规划工作超过八年的顾问。在日常工作中,我发现许多计划攻读硕士学位的同学,在选择留学服务机构时,最核心的疑虑通常集中在三…

突发!新增12本期刊被剔除,2026年WOS目录首次更新!

2026年1月19日,科睿唯安本年度第一次更新Web of Science核心期刊目录。与上次更新相比,本期SCIE/SSCI目录共2本期刊发生变动,ESCI/AHCI目录共35本期刊发生变动,详情如下: 图片来源:科睿唯安 常见期刊变动形…

数据驱动创新协作:知识图谱赋能科技成果转化新范式

科易网AI技术转移与科技成果转化研究院 在科技创新日益成为国家核心竞争力的今天,如何打破信息壁垒、优化资源配置、加速成果转化,成为行业面临的关键课题。技术转移领域作为连接科研与产业的桥梁,正经历一场由数据驱动的新变革。传统的成果…

数据驱动创新未来:科创知识图谱助力科技成果转化新范式

科易网AI技术转移与科技成果转化研究院 在全球化竞争与科技革命加速的浪潮中,科技创新已成为经济增长的核心引擎。然而,科技成果转化作为创新链与产业链对接的关键环节,长期面临信息不对称、路径不清晰、协同效率低等痛点。如何打破传统转化…

伺服电缸选购推荐指南:头部品牌厂家盘点与典型应用场景 - 品牌2025

在工业自动化加速向高精度、柔性化、智能化演进的2026年,传统气动执行器已难以满足3C电子、半导体、新能源及汽车制造等领域对微米级定位、克级力控和高速响应的严苛需求。伺服电缸作为新一代电驱执行单元,凭借其高重…

数据驱动的创新生态:知识图谱如何重塑科技成果转化

科易网AI技术转移与科技成果转化研究院 在科技创新日益成为全球竞争核心的今天,如何打破信息孤岛、提升资源配置效率、加速科技成果从实验室走向市场的转化,已成为行业普遍关注的焦点。传统的科技成果转化模式往往受限于有限的信息渠道和低效的匹配机制…

学术研究中,AI辅助的论文引用标注能显著提升文献整理效率

论文引用标注排名:AI工具如何帮你高效管理文献 工具名称 核心功能 效率评分 适用场景 AiBiYe 智能引用格式转换 ★★★★☆ 多格式引用需求 AiCheck 引用查重与合规检测 ★★★★ 避免学术不端 AskPaper 文献内容智能提取 ★★★★ 快速理解文献核心…