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

做网站的几个必要步骤什么设计网站好

做网站的几个必要步骤,什么设计网站好,网站注册免费qq,c2c电商平台有哪几个在上一篇文章中我们简要的介绍了MCP协议的要素,并使用python动手写了一个mcp demo程序,实现了mcp client和mcp server,调用新出的Qwen3-32b模型,实现了使用自然语言对本地sqlite数据库的查询和修改。今天我们将使用mcp协议的规则和…

在上一篇文章中我们简要的介绍了MCP协议的要素,并使用python动手写了一个mcp demo程序,实现了mcp client和mcp server,调用新出的Qwen3-32b模型,实现了使用自然语言对本地sqlite数据库的查询和修改。今天我们将使用mcp协议的规则和官方提供的工具,将昨天demo代码改造为一个可以发布的mcp server,并加载到通义灵码和cherry studio中。

mcp的官方文档中提供了非常详细的说明和例子代码。MCP 简介 - MCP 中文文档。

mcp官方推荐的python运行工具是uv,uv是一个用rust开发的python项目和包管理工具。

一、搭建开发环境

我这里使用的环境是

  • windows11
  • vscode(版本: 1.100.2)
  • 通义灵码(vscode插件)
  • cherry studio 国人开发无需科学上网

安装uv

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

之后请务必重启你的终端,以确保 uv 命令被识别

# 为我们的项目创建一个新 directory
uv init sqlite_mcp
cd sqlite_mcp# 创建 virtual environment 并激活它
uv venv
.venv\Scripts\activate# 安装依赖库
uv add mcp[cli]

二、编写mcp server代码

将上篇的代码做适当改造即可。

在sqlite_mcp目录下创建代码文件sqlite_mcp.py,可以看到下面的两个工具函数加上了@mcp_tool的装饰器,这种调用方式感觉像flask。

import os
import sqlite3
from typing import Any
from mcp.server.fastmcp import FastMCPmcp = FastMCP("sqlite_mcp") # 初始化 FastMCP serverdef get_all_tables(db_path="mcp_test.db"):"""获取SQLite数据库中所有表的名称"""# 连接到SQLite数据库conn = sqlite3.connect(db_path)# 创建一个游标对象,用于执行SQL命令cursor = conn.cursor()# 执行SQL命令,获取所有表的名称cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")# 从查询结果中提取表名,存储到列表中tables = [table[0] for table in cursor.fetchall()]# 关闭游标cursor.close()# 关闭数据库连接conn.close()# 返回包含所有表名称的列表return tables
@mcp.tool()
def get_all_table_structures():"""获取SQLite数据库中所有表的结构信息  """db_path="mcp_test.db"# 获取数据库中的所有表名tables = get_all_tables(db_path)# 初始化一个字典来存储所有表的结构信息all_structures = {}# 连接到SQLite数据库conn = sqlite3.connect(db_path)# 创建一个游标对象来执行SQL命令cursor = conn.cursor()# 遍历每一张表for table in tables:# 执行PRAGMA命令获取表的结构信息cursor.execute(f"PRAGMA table_info({table})")# 获取所有列信息并存储到字典中columns = cursor.fetchall()all_structures[table] = columns# 关闭游标和数据库连接cursor.close()conn.close()# 返回包含所有表结构信息的字典return all_structures
@mcp.tool()
def execute_query(sql, params=None):"""执行SQL查询并返回结果:param sql: SQL查询语句:param params: SQL查询参数"""db_path="mcp_test.db"try:conn = sqlite3.connect(db_path)conn.row_factory = sqlite3.Row  # 结果转字典cursor = conn.cursor()# 执行查询(带参数校验)cursor.execute(sql, params or ())# 自动判断是否为SELECT语句if sql.strip().upper().startswith('SELECT'):results = cursor.fetchall()return [dict(row) for row in results]  else:conn.commit()return {"affected_rows": cursor.rowcount}except sqlite3.Error as e:conn.rollback()print(f"数据库错误: {e}")return f"数据库错误: {e}"finally:cursor.close()conn.close()if __name__ == "__main__":# 初始化并运行 servermcp.run(transport='stdio')

将上一篇文章中使用测试数据库mcp_test.db也拷贝过来。

使用uv run sqlite_mcp.py来测试一下代码,若没有报错,说明代码没有问题。

三、通义灵码添加mcp server

在vscode中打开通义灵码的智能体对话窗口,模型选择qwen3,点击MCP工具。

image-20250519192839444

点击下面的小图标,打开通义灵码的mcp配置文件。

image-20250519193051190

在mcp配置文件中添加下面的内容,里面的路径为开发目录。

 "sqlite_mcp": {"command": "uv","args": ["--directory","D:\\博客\\mcp1\\sqlite_mcp","run","sqlite_mcp.py"]}

添加完成后,就会自动识别出代码中的工具。

image-20250519192148106

下面就可以和数据库对话了,如下图所示,效果还不错。

image-20250519192646853

四、在cherry studio添加mcp server

首先在Cherry Studio官网下载安装 cherry studio。

安装完成,打开页面,点击左下脚的设置按钮,设置要使用的模型,这里选择阿里的qwen3-32b模型,这里要填上api key。

image-20250519193541090

在cherry studio中安装uv工具

image-20250519193858296

在mcp服务器的配置文件中添加上我们的配置项。

image-20250519193953314

添加完成后,选择开启。

image-20250519194121359

这样就配置完成了就可以使用这个mcp server了。

进入对话界面,添加sqlite_mcp这个服务器,就可以与数据库进行对话了。

image-20250519194235403

效果还是很不错的。

image-20250519194548413

参考资料

  • MCP 使用教程 | CherryStudio

文章转载自:

http://IPoyQvCf.fjscr.cn
http://bPn9JLyg.fjscr.cn
http://NPbSYwI3.fjscr.cn
http://SItW4xY7.fjscr.cn
http://0IajgVMp.fjscr.cn
http://YE7a27dZ.fjscr.cn
http://VI5RvWK7.fjscr.cn
http://Ahg7zfw2.fjscr.cn
http://3whPGzQC.fjscr.cn
http://5dPor32z.fjscr.cn
http://kXQg9TRL.fjscr.cn
http://3ZF9pyL9.fjscr.cn
http://gdNTDlUm.fjscr.cn
http://1S1ODdVv.fjscr.cn
http://ESSit1RS.fjscr.cn
http://3fN3oKrC.fjscr.cn
http://FnIivQp9.fjscr.cn
http://IvY39FF4.fjscr.cn
http://PyfxzkEm.fjscr.cn
http://H4nNoT99.fjscr.cn
http://PHV1OhXh.fjscr.cn
http://2DJz2FX5.fjscr.cn
http://6W03wfIj.fjscr.cn
http://VenvObnK.fjscr.cn
http://8kz1I9rX.fjscr.cn
http://tpQJ5BOf.fjscr.cn
http://MZ4pW5aW.fjscr.cn
http://uZ9nfuL6.fjscr.cn
http://ThjJl9Qy.fjscr.cn
http://F4mDZnOc.fjscr.cn
http://www.dtcms.com/wzjs/703710.html

相关文章:

  • 网站建设验收单意见怎么写福田公司在哪里
  • 给公司做网站多少钱18款app软件免费下载百度
  • 乐山网站制作公司网站营销学多久
  • 中山网站seo怎么用别人网站做模板
  • 域名备案和网站备案有什么不同做网站宣传有用吗
  • 公司网站运营方案房地产宣传软文
  • 哪些网站可以做微信推送网站运营培训班
  • 站长之家素材网站涉县住房和城乡规划建设局网站
  • 网站建设的任务深圳营销型网站建
  • 贵阳市住房城乡建设局官方网站开发区网站建设在哪
  • 网站建设ftp软件有哪些配音网站赚钱
  • 简述搜索引擎推广的步骤河南网站关键词优化代理
  • vs2017网站开发组件网站架构设计图怎么做
  • 如何拿网站后台账号网络传播营销策划方案
  • 网站开发PHP留言本制作网站系统
  • 一个ip地址上可以做几个网站吗wordpress 删除google
  • 湖南省交通建设质量监督站网站网站个人和企业有什么区别
  • 山西建设银行官方网站wordpress使用七牛cdn
  • 南充网站建设与维护免费网站域名申请
  • 网站运营的含义是什么通过企业画册宣传_网络网站建设_新闻媒体合作等方式_
  • win网站建设网站备案要交钱吗
  • 好做的网站做外贸推广哪个网站好
  • 普陀区建设局网站wordpress 企业
  • 南宁网站建设升上去做效果图网上怎么找客户
  • 学做网站用什么软件模板网官网免费版
  • 自己做网站翻译服务器 - 添加网站响应式网站建设推荐乐云seo
  • 泉州网站页面设计公司邵阳市住房和城乡建设局网站
  • 个人电子商务网站建设触摸屏网站如何做
  • ps做网站图片wordpress项目id
  • python做网站挣钱做网站点子