惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
V
Vulnerabilities – Threatpost
C
Cisco Blogs
A
Arctic Wolf
L
LINUX DO - 热门话题
P
Proofpoint News Feed
Security Latest
Security Latest
AWS News Blog
AWS News Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cisco Talos Blog
Cisco Talos Blog
L
Lohrmann on Cybersecurity
W
WeLiveSecurity
爱范儿
爱范儿
Last Week in AI
Last Week in AI
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Security Affairs
PCI Perspectives
PCI Perspectives
C
Cybersecurity and Infrastructure Security Agency CISA
Spread Privacy
Spread Privacy
IT之家
IT之家
月光博客
月光博客
云风的 BLOG
云风的 BLOG
宝玉的分享
宝玉的分享
J
Java Code Geeks
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
I
Intezer
博客园_首页
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Palo Alto Networks Blog
NISL@THU
NISL@THU
Recent Commits to openclaw:main
Recent Commits to openclaw:main
有赞技术团队
有赞技术团队
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
量子位
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
N
News and Events Feed by Topic
Webroot Blog
Webroot Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
V
V2EX
Jina AI
Jina AI

二丫讲梵

学习周刊-总第258期-2026年第15周 学习周刊-总第257期-2026年第14周 学习周刊-总第256期-2026年第13周 学习周刊-总第255期-2026年第12周 学习周刊-总第254期-2026年第11周 学习周刊-总第253期-2026年第10周 临时插播一条羊毛,免费领取450元大模型API代金券 学习周刊-总第252期-2026年第09周 学习周刊-总第251期-2026年第08周 学习周刊-总第250期-2026年第07周 学习周刊-总第249期-2026年第06周 诚邀评论,聊聊你所知欲知的我 学习周刊-总第248期-2026年第05周 我的QQ动态之2015年 我的QQ动态之2014年 我的QQ动态之2013年 我的QQ动态之2012年 我的QQ动态-2010-2011年 我的QQ动态-创栏小叙 学习周刊-总第247期-2026年第04周 Nexus社区版权益阉割--一文告诉你有哪些版本可以选择 学习周刊-总第246期-2026年第03周 学习周刊-总第245期-2026年第02周 学习周刊-总第244期-2026年第01周 学习周刊-总第243期-2025年第52周 学习周刊-总第242期-2025年第51周 开源项目ZenOps:带你领略禅意运维 学习周刊-总第241期-2025年第50周 用京东金融,享负债人生 学习周刊-总第240期-2025年第49周 学习周刊-总第239期-2025年第48周 整理我在静态服务透明代理上的极致求索之路,最后一个你绝想不到 学习周刊-总第238期-2025年第47周 我们输了,但收获颇多 太多了,太多了 学习周刊-总第237期-2025年第46周 学习周刊-总第236期-2025年第45周 学习周刊-总第235期-2025年第44周 二五年国庆二三事 学习周刊-总第234期-2025年第43周 学习周刊-总第233期-2025年第42周 学习周刊-总第232期-2025年第41周 学习周刊-总第231期-2025年第40周 学习周刊-总第230期-2025年第39周 西湖毅行 2025年开源世界逸闻三则 学习周刊-总第229期-2025年第38周 手抄《与妻书》 CNB开发与构建基于docker-cache缓存复用的配置实践心得 学习周刊-总第228期-2025年第37周 父亲善行录 学习周刊-总第227期-2025年第36周 带你认识我之看看我的高中同学录(其二) 学习周刊-总第226期-2025年第35周 带你认识我之看看我的高中同学录(其一) 学习周刊-总第225期-2025年第34周 学习周刊-总第224期-2025年第33周 学习周刊-总第223期-2025年第32周 学习周刊-总第222期-2025年第31周 学习周刊-总第221期-2025年第30周 CNB云原生开发环境届的瑞士军刀,详解qifei项目 vuepress-vdoing主题配置自建不蒜子统计 学习周刊-总第220期-2025年第29周 写在博客发表文章1000篇的节点 从claude cli的体验聊聊最大的敌人是我们自己的成见 学习周刊-总第219期-2025年第28周 学习周刊-总第218期-2025年第27周 学习周刊-总第217期-2025年第26周 理论正确,事实错误 学习周刊-总第216期-2025年第25周 学习周刊-总第215期-2025年第24周 学习周刊-总第214期-2025年第23周 学习周刊-总第213期-2025年第22周 学习周刊-总第212期-2025年第21周 从赵心童世锦赛夺冠聊聊我的斯诺克情缘 学习周刊-总第211期-2025年第20周 记录二五年五一之短暂回归家庭 学习周刊-总第210期-2025年第19周 学习周刊-总第209期-2025年第18周 学习周刊-总第208期-2025年第17周 Go开发实践之Gin框架将前端的dist目录embed到二进制 学习周刊-总第207期-2025年第16周 近期关于cobra库的一些实践心得总结 学习周刊-总第206期-2025年第15周 我的嗜好--嗑瓜子 记大宝参加幼儿园组织的清明烈士陵园扫墓活动 学习周刊-总第205期-2025年第14周 学习周刊-总第204期-2025年第13周 前端开发小笔记--在数组中给字段添加值与删除字段的操作 学习周刊-总第203期-2025年第12周 人生实苦,何以自渡 学习周刊-总第202期-2025年第11周 近期发现的一些优秀的工具提名(一) 学习周刊-总第201期-2025年第10周 学习周刊-总第200期-2025年第09周 记一次女友喝醉使我忍术破功 爱情风波--一次分手又复合的经历 学习周刊-总第199期-2025年第08周 整理我的信息源 学习周刊-总第198期-2025年第07周
认识神级MCP工具系列--用anyquery和数据库交互
二丫讲梵 · 2025-08-25 · via 二丫讲梵

# 附言前置

写完如下内容之后,我心里盘算着测试一下 MySQL 的交互能力,结果发现这个工具和 MySQL 的交互并不是很理想,至少我个人测试一个简单的查询都要花将近两分钟的时间(详见 60 (opens new window)),因此这并不是一个很适合全场景的数据库交互 mcp 工具(虽然 sqlite 交互上没有问题),请读者注意。

后续我还会探索其他更为合适数据库交互场景的 mcp 工具。文章已经写了,并且花费了我不少时间,虽然工具不算特别完美,但实践过程和思路,也还算有一些了解和学习的价值。

# 前言

我对 MCP 的了解很浅,这个系列也只是个人基于日常一些开发场景中的探索,如有错漏,还望见谅。

MCP 的概念我就不在过多赘述,相信点进此文的你,应该早已有所耳闻,其中概念虽算不上复杂,但是单独看一些架构图或者概念,也并不容易理解它存在的意义是什么,莫不如直接基于场景,利用工具,来了解 MCP 的概念。

# 介绍

背景:我们在与大模型对话或者通过 Claude Code 编程的时候,有一个特别明显的感受是,直接把数据给到模型,和让模型依靠经验猜数据而进行的编码,两者差异巨大,模型拿到的数据越具体,进行的编码就越准确。于是,如何解决让模型方便地拿到数据就成了开发过程中重要的一个环节。

今天要介绍的工具,就是为了解决这个场景应运而生的,官网的介绍,号称可以通过 SQL 的语法查询一切,除了支持 MySQL,Sqlite,PG,ClickHouse 等数据库之外,还支持 GitHub,Notion 等各种三方数据,同时还支持基于插件扩展的任何三方数据源。

一些信息:

单听介绍,不可谓不强大,但是官方文档写的比较难读,今天我来通过一些实际例子来带你感受一下这个工具的魅力。

# 安装

anyquery 基于 go 语言编写,因此安装从来不会是困难的事情,并且官方提供了各个平台轻松安装的方案,实在不想用,也可以在 release (opens new window) 页面下载二进制运行。

这里简单介绍几种常见的安装场景。

# Mac

# APT

echo "deb [trusted=yes] https://apt.julienc.me/ /" | sudo tee /etc/apt/sources.list.d/anyquery.list
sudo apt update
sudo apt install anyquery

1
2
3

# YUM/DNF

echo "[anyquery]
name=Anyquery
baseurl=https://yum.julienc.me/
enabled=1
gpgcheck=0" | sudo tee /etc/yum.repos.d/anyquery.repo
sudo dnf install anyquery

1
2
3
4
5
6

# 使用

# 作为一个查询工具

首先,你可以把 anyquery 理解成一个全能的数据库查询客户端。

接下来仅针对 sqlite 做一下演示,它的功能强项不在这里,因此仅作为一个简单介绍。

比如我有项目基于 sqlite 做存储,文件地址是:/Users/eryajf/code/cnb/xirang/data/xirang.db

# 作为一个 MCP 工具

这里才是这个工具的重头戏,可以作为 MCP 工具,让你在与大模型交互的时候,轻松操作你的数据。

如果要交互的数据库是 sqlite,则可通过如下命令启动 mcp server:

anyquery mcp --database /Users/eryajf/code/cnb/xirang/data/xirang.db --stdio

1

通过如下配置,可以将如上数据库启动为 mcp server 监听:

我这里用 Cherry Studio 来举例,打开 MCP,选择添加服务,上图重要的几个配置项均已标号,其中 3 号和 4 号的配置内容,则是 anyquery 提供的 mcp 能力。

我这里用 gemini 来进行对话演示。

比如可以问有哪些表,模型回答如下:

需要注意:在对话之前,需要在底下工具栏中 MCP 处选上刚刚添加的 mcp 服务。然后直接对话,这个时候模型会自动通过调用 mcp 工具,来查询数据。

接下来再看一个查询具体数据的例子,也是可以直接查询出对应数据的。

我们看到上图中,赵六的邮箱是 zhaoliu@eryajf.net,接下来让模型改一下这条数据试试:

改完之后,我们还是通过模型对话来查一下这条数据:

可以看到,赵六的邮箱已经更改成功了,可见,借助 anyquery 这个工具,我们就可以通过自然语言来对数据库进行增删改查,这个时候你可能会问权限怎么控制,这的确是个好问题,但不在此文讨论范围。

上边是基于 Cherry Studio 做的测试,接下来再来通过 Claude Code 做一下测试,同时也是一个实践,你可以把这个经验,集成到你的项目开发当中。

cc 支持通过命令来配置 mcp,可通过如下命令添加:

claude mcp add xirang-db anyquery --  mcp --database /Users/eryajf/code/cnb/xirang/data/xirang.db --stdio

1

具体详细文档,可见 cc 的官方文档:通过 MCP 将 Claude Code 连接到工具 (opens new window)

有的人可能习惯通过配置文件来管理 cc 的 mcp 配置,你也可以把如下配置添加上去:

"mcpServers": {
	"xirang-db": {
	  "type": "stdio",
	  "command": "anyquery",
	  "args": [
		"mcp",
		"--database",
		"/Users/eryajf/code/cnb/xirang/data/xirang.db",
		"--stdio"
	  ],
	  "env": {}
	}
  }

1
2
3
4
5
6
7
8
9
10
11
12
13

然后启动 claude code cli,启动后键入 /mcp 可以查看到刚刚添加的 mcp:

然后来做一些交互看看:

照例,再来测一下修改数据的场景:

最后,我通过工具查看一下赵六这条数据,可以看到已经被成功修改了:

# 最后

今天,通过两个实际应用案例,真切感受并体会了拥有 MCP 之后的大模型就是插上翅膀的猛虎这句话,包括之前只听到说一句话就让手机点了咖啡这个事儿,但真正背后如何实现的,并不太了解。

但通过这个例子,我感受到了 MCP 的魅力,同时也感受到,AI 编码借助于 MCP,一定会更加高效,并且精准。