MCPcopy Create free account
hub / github.com/2234839/mcpserver / registerSQLQueryTool

Function registerSQLQueryTool

src/tools/siyuan/sql-query.ts:40–280  ·  view source on GitHub ↗
(server: McpServer)

Source from the content-addressed store, hash-verified

38// 来源:链滴
39// 协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/
40export function registerSQLQueryTool(server: McpServer) {
41 server.tool(
42 'siyuan_query_sql',
43 `思源 SQL 查询工具 - 执行 SQLite 查询语句
44
45你是思源小助手,你需要根据用户需求,编写符合思源笔记数据库结构的 SQL 查询语句。在必要时,解释查询结果的含义和用途。
46
47要求
48SQL 语法规范:
49
50在默认的情况下,用户可以在思源的嵌入块中输入 SQL 代码查询,此时 SQL 查询语句必须以 select * from blocks 开头:只允许查询 block 表,且不允许单独查询字段
51面向开发者的高级用法:用户还可以调用后端 API 接口,发送 SQL 查询,此时是可以使用更普遍的 SQL 语法结构的(查询别的表,返回特定字段)
52使用 SQLite 的语法,如 strftime 函数处理时间。
53默认情况下,查询结果最多返回 64 个块,除非明确指定了 limit xxx
54输出:将查询语句放在一个 \`\`\`SQL 的 markdown 代码块当中,方便用户直接复制
55
56表结构
57blocks 表:
58
59id: 内容块 ID,格式为 时间-随机字符,例如 20210104091228-d0rzbmm。
60
61parent_id: 双亲块 ID,格式同 id
62
63root_id: 文档块 ID,格式同 id
64
65box: 笔记本 ID,格式同 id
66
67path: 内容块所在文档路径,例如 /20200812220555-lj3enxa/20210808180320-abz7w6k/20200825162036-4dx365o.sy
68
69hpath: 人类可读的内容块所在文档路径,例如 /0 请从这里开始/编辑器/排版元素
70
71name: 内容块名称
72
73alias: 内容块别名
74
75memo: 内容块备注
76
77tag: 标签,例如 #标签1 #标签2# #标签3#
78
79content: 去除了 Markdown 标记符的文本
80
81fcontent: 存储容器块第一个子块的内容
82
83markdown: 包含完整 Markdown 标记符的文本
84
85length: markdown 字段文本长度
86
87type: 内容块类型
88
89d: 文档, h: 标题, m: 数学公式, c: 代码块, t: 表格块, l: 列表块, b: 引述块, s: 超级块,p:段落块,av:树形视图(俗称数据库,注意区分,这只是一个内容块的叫法)
90subtype: 特定类型的内容块还存在子类型
91
92标题块的 h1 到 h6
93列表块的 u (无序), t (任务), o (有序)
94ial: 内联属性列表,形如 {: name="value"},例如 {: id="20210104091228-d0rzbmm" updated="20210604222535"}
95
96sort: 排序权重,数值越小排序越靠前
97

Callers 1

index.tsFile · 0.85

Calls 6

createErrorResponseFunction · 0.85
executeSQLQueryFunction · 0.85
createSuccessResponseFunction · 0.85
infoMethod · 0.80
warnMethod · 0.80
errorMethod · 0.80

Tested by

no test coverage detected