厦门关键词seo排名网站房产部门成立网站

张小明 2026/1/3 20:26:01
厦门关键词seo排名网站,房产部门成立网站,网站规划与建设进度,家居网站建设策划开发什么是MCP#xff1f; MCP#xff08;Model Context Protocol#xff09;是一个开放的协议标准#xff0c;用于连接AI助手#xff08;如Claude、GPT等#xff09;与外部工具和数据源。它定义了一套标准化的通信方式#xff0c;让AI助手能够安全、可靠地调用外部服务。 …什么是MCPMCPModel Context Protocol是一个开放的协议标准用于连接AI助手如Claude、GPT等与外部工具和数据源。它定义了一套标准化的通信方式让AI助手能够安全、可靠地调用外部服务。MCP的核心概念1. 客户端-服务器架构客户端AI助手如Claude Desktop、VS Code插件等服务器提供工具和资源的外部服务通信方式通过标准输入输出进行JSON-RPC 2.0协议通信2. 传输协议使用JSON-RPC 2.0作为通信协议通过stdin/stdout进行数据传输每行一个JSON对象以换行符分隔MCP基本语法规范1. 初始化请求initialize{jsonrpc:2.0,id:1,method:initialize,params:{protocolVersion:2024-11-05,capabilities:{tools:{}},clientInfo:{name:Claude Desktop,version:1.0.0}}}2. 工具列表请求tools/list{jsonrpc:2.0,id:2,method:tools/list}3. 工具调用请求tools/call{jsonrpc:2.0,id:3,method:tools/call,params:{name:calculate,arguments:{expression:23*4}}}4. 响应格式{jsonrpc:2.0,id:3,result:{content:[{type:text,text:计算结果14}]}}MCP服务器实现要点1. 必需的方法initialize服务器初始化tools/list返回可用工具列表tools/call执行具体的工具调用2. 工具定义结构{name:工具名称,description:工具描述,inputSchema:{type:object,properties:{参数名:{type:参数类型,description:参数描述}},required:[必需参数列表]}}3. 错误处理{jsonrpc:2.0,id:请求ID,error:{code:错误代码,message:错误描述}}MCP服务器例子#!/usr/bin/env python3 #-*-coding:utf-8-*- 简单的MCP服务器示例 提供基本的计算工具importjsonimportsysfromtypingimportDict,Any,List,OptionalclassSimpleMCPServer:简单的MCP服务器实现def__init__(self):self.tools{calculate:{name:calculate,description:执行简单的数学计算,inputSchema:{type:object,properties:{expression:{type:string,description:要计算的数学表达式如 23*4}},required:[expression]}},}defhandle_request(self,request:Dict[str,Any])-Dict[str,Any]:处理MCP请求methodrequest.get(method)ifmethodinitialize:returnself._handle_initialize(request)elif methodtools/list:returnself._handle_tools_list(request)elif methodtools/call:returnself._handle_tools_call(request)else:return{jsonrpc:2.0,id:self._get_request_id(request),error:{code:-32601,message:f未知方法: {method}}}def_handle_initialize(self,request:Dict[str,Any])-Dict[str,Any]:处理初始化请求return{jsonrpc:2.0,id:self._get_request_id(request),result:{protocolVersion:2024-11-05,capabilities:{tools:{}},serverInfo:{name:SimpleMCPServer,version:1.0.0}}}def_handle_tools_list(self,request:Dict[str,Any])-Dict[str,Any]:处理工具列表请求return{jsonrpc:2.0,id:self._get_request_id(request),result:{tools:list(self.tools.values())}}def_handle_tools_call(self,request:Dict[str,Any])-Dict[str,Any]:处理工具调用请求paramsrequest.get(params,{})tool_nameparams.get(name)argumentsparams.get(arguments,{})try:iftool_namecalculate:resultself._calculate(arguments.get(expression,))else:return{jsonrpc:2.0,id:self._get_request_id(request),error:{code:-32601,message:f未知工具: {tool_name}}}return{jsonrpc:2.0,id:self._get_request_id(request),result:{content:[{type:text,text:json.dumps(result,ensure_asciiFalse,indent2)}]}}except Exceptionase:return{jsonrpc:2.0,id:self._get_request_id(request),error:{code:-32603,message:f工具执行错误: {str(e)}}}def_calculate(self,expression:str)-Dict[str,Any]:执行数学计算try:# 安全的数学表达式计算 allowed_charsset(0123456789-*/.() )ifnotall(cinallowed_charsforcinexpression):raiseValueError(表达式包含不允许的字符)resulteval(expression)return{expression:expression,result:result,type:number}except Exceptionase:raiseValueError(f计算错误: {str(e)})def_get_request_id(self,request:Dict[str,Any])-Any:获取请求ID如果请求中没有ID则返回默认IDifidinrequest:returnrequest[id]else:# 如果请求中没有id返回一个默认的字符串IDreturndefault-iddefrun(self):运行MCP服务器print(Simple MCP Server 启动中...,filesys.stderr)try:forlineinsys.stdin:lineline.strip()ifnot line:continuetry:requestjson.loads(line)responseself.handle_request(request)print(json.dumps(response,ensure_asciiTrue))sys.stdout.flush()except json.JSONDecodeError:error_response{jsonrpc:2.0,id:default-id,error:{code:-32700,message:解析错误}}print(json.dumps(error_response,ensure_asciiFalse))sys.stdout.flush()except KeyboardInterrupt:print(服务器关闭,filesys.stderr)if__name____main__:serverSimpleMCPServer()server.run()简单计算器MCP服务器本项目中的simple_mcp_server.py是一个完整的MCP服务器示例包含数学计算工具执行基本数学表达式文本统计工具分析文本的字符、单词等统计信息系统信息工具获取Python和系统基本信息可以通过以下方式测试# 启动服务器python simple_mcp_server.py# 在另一个终端测试echo{jsonrpc:2.0,id:1,method:tools/list}|python simple_mcp_server.py真实cursor上加配置调用即可{“mcpServers”:{“my-server”:{“command”:“python”,“args”:[“D:/sase-dfx/sase_dfx/9、ai生成/simple_mcp_server.py”],“disabled”:false,“alwaysAllow”:[“calculate”]}}}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站项目设计与制作综合实训校园推广

Silverlight中XML数据处理与应用 在Silverlight开发中,处理网络请求和不同类型的数据是常见任务。有时候需要将调用封送到前台线程,可使用 Dispatcher.BeginInvoke() 方法,示例代码如下: // Update the display. Dispatcher.BeginInvoke(delegate(){lblResult.Text = …

张小明 2026/1/1 22:27:25 网站建设

电脑做网站wordpress数据库容量

发明专利和实用新型专利的根本区别 发明专利法所称发明,是指对产品、方法或者其改进所提出的新的技术方案。 (1)发明是一项新的技术方案 技术方案是指运用自然规律解决人类生产、生活中某一特定技术问题的具体构思,是利用自然规律、自然力使之产生一定效…

张小明 2026/1/1 22:27:22 网站建设

建网站 服务器wordpress 更新服务

大数据领域Kafka的监控与报警系统搭建关键词:大数据、Kafka、监控系统、报警系统、搭建摘要:本文聚焦于大数据领域中Kafka的监控与报警系统搭建。首先介绍了搭建此系统的背景,包括目的、预期读者、文档结构和相关术语。接着阐述了Kafka监控与…

张小明 2026/1/1 22:27:20 网站建设

建设银行网站的目的是什么如何让一个网站排名掉

1,绪论 1.1 研究目的 在进入21世纪以后,互联网得到了蓬勃的发展,电子问卷调查也开始逐渐流行起来。传统纸质问卷和电子问卷相比较后,传统问卷还存在很多弊端: 问卷分发起来比较困难,并且分发试卷耗费大量…

张小明 2026/1/2 8:17:32 网站建设

如何设计网站域名建设个网站多少钱

RePKG开源工具:Wallpaper Engine资源处理专家的技术解析与实战指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的开源数据包处…

张小明 2026/1/2 8:17:29 网站建设

网页设计与网站建设课后习题答案兰溪高端网站建设公司

FaceFusion自动关键帧提取提升处理效率在如今深度伪造与人脸编辑技术快速普及的背景下,FaceFusion 类系统已广泛应用于视频换脸、虚拟主播生成乃至影视后期制作。然而,面对高帧率、长时长的视频内容,传统“逐帧处理”的模式逐渐暴露出严重瓶颈…

张小明 2026/1/2 8:17:25 网站建设