Martin MCP Toolbox
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GLM_API_KEY | Yes | 智谱GLM API密钥,从智谱AI开放平台获取 | |
| GLM_IMAGE_MODEL | No | GLM图片分析模型,默认glm-4.5v(可选) | |
| GLM_VIDEO_MODEL | No | GLM视频分析模型,默认glm-4.5v(可选) | |
| SIYUAN_API_BASE | No | 思源笔记API基础URL,默认http://127.0.0.1:6806(可选) | |
| SIYUAN_API_TOKEN | No | 思源笔记API令牌(可选) | |
| PERPLEXITY_API_KEY | Yes | Perplexity AI API密钥,用于网络搜索工具 | |
| GLM_GENERATION_MODEL | No | GLM图片生成模型,默认cogview-3-flash(可选) | |
| WEB_SEARCH_CACHE_TTL | No | 网络搜索缓存有效期,默认30秒(可选) | |
| WEB_SEARCH_RATE_LIMIT | No | 网络搜索速率限制,默认5次(可选) | |
| WEB_SEARCH_TIMEOUT_MS | No | 搜索超时,默认10000毫秒(可选) | |
| WEB_SEARCH_RATE_WINDOW_MS | No | 速率限制窗口,默认60000毫秒(可选) | |
| WEB_SEARCH_RETRY_AFTER_MS | No | 重试间隔,默认1000毫秒(可选) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_imageC | Analyze an image using GLM-4.5V model |
| analyze_videoC | Analyze a video using GLM-4.5V model |
| generate_imageC | Generate an image from text prompt using CogView-4 model |
| pollinations_generate_imageC | Generate an image using Pollinations.AI API |
| pollinations_generate_textC | Generate text using Pollinations.AI API |
| pollinations_generate_audioA | Generate speech audio from text using Pollinations.AI API |
| pollinations_analyze_imageC | Analyze an image using Pollinations.AI Vision API |
| get_block_kramdownA | Get kramdown source code of one or multiple SiYuan note blocks |
| update_blockB | Update a SiYuan note block with new content while preserving IAL metadata |
| siyuan_query_sqlA | 思源 SQL 查询工具 - 执行 SQLite 查询语句 你是思源小助手,你需要根据用户需求,编写符合思源笔记数据库结构的 SQL 查询语句。在必要时,解释查询结果的含义和用途。 要求 SQL 语法规范: 在默认的情况下,用户可以在思源的嵌入块中输入 SQL 代码查询,此时 SQL 查询语句必须以 select * from blocks 开头:只允许查询 block 表,且不允许单独查询字段 面向开发者的高级用法:用户还可以调用后端 API 接口,发送 SQL 查询,此时是可以使用更普遍的 SQL 语法结构的(查询别的表,返回特定字段) 使用 SQLite 的语法,如 strftime 函数处理时间。 默认情况下,查询结果最多返回 64 个块,除非明确指定了 limit xxx 输出:将查询语句放在一个 ```SQL 的 markdown 代码块当中,方便用户直接复制 表结构 blocks 表: id: 内容块 ID,格式为 时间-随机字符,例如 20210104091228-d0rzbmm。 parent_id: 双亲块 ID,格式同 id root_id: 文档块 ID,格式同 id box: 笔记本 ID,格式同 id path: 内容块所在文档路径,例如 /20200812220555-lj3enxa/20210808180320-abz7w6k/20200825162036-4dx365o.sy hpath: 人类可读的内容块所在文档路径,例如 /0 请从这里开始/编辑器/排版元素 name: 内容块名称 alias: 内容块别名 memo: 内容块备注 tag: 标签,例如 #标签1 #标签2# #标签3# content: 去除了 Markdown 标记符的文本 fcontent: 存储容器块第一个子块的内容 markdown: 包含完整 Markdown 标记符的文本 length: markdown 字段文本长度 type: 内容块类型 d: 文档, h: 标题, m: 数学公式, c: 代码块, t: 表格块, l: 列表块, b: 引述块, s: 超级块,p:段落块,av:树形视图(俗称数据库,注意区分,这只是一个内容块的叫法) subtype: 特定类型的内容块还存在子类型 标题块的 h1 到 h6 列表块的 u (无序), t (任务), o (有序) ial: 内联属性列表,形如 {: name="value"},例如 {: id="20210104091228-d0rzbmm" updated="20210604222535"} sort: 排序权重,数值越小排序越靠前 created: 创建时间,格式为 YYYYMMDDHHmmss,例如 20210104091228 updated: 更新时间,格式同 created refs 表: id: 引用 ID,格式为 时间-随机字符,例如 20211127144458-idb32wk def_block_id: 被引用块的块 ID,格式同 id def_block_root_id: 被引用块所在文档的 ID,格式同 id def_block_path: 被引用块所在文档的路径,例如 /20200812220555-lj3enxa/20210808180320-fqgskfj/20200905090211-2vixtlf.sy block_id: 引用所在内容块 ID,格式同 id root_id: 引用所在文档块 ID,格式同 id box: 引用所在笔记本 ID,格式同 id path: 引用所在文档块路径,例如 /20200812220555-lj3enxa/20210808180320-fqgskfj/20200905090211-2vixtlf.sy content: 引用锚文本 attributes 表: id: 属性 ID,格式为 时间-随机字符,例如 20211127144458-h7y55zu name: 属性名称 注意:思源中的用户自定义属性必须加上 custom- 前缀 例如 name 是块的内置属性,但 custom-name 就是用户的自定义属性了 value: 属性值 type: 类型,例如 b block_id: 块 ID,格式同 id root_id: 文档 ID,格式同 id box: 笔记本 ID,格式同 id path: 文档文件路径,例如 /20200812220555-lj3enxa.sy。 查询要点提示 所有 SQL 查询语句如果没有明确指定 limit,则会被思源查询引擎默认设置 limit 64 块属性格式相关 块 ID 格式统一为 时间-随机字符, 例如 20210104091228-d0rzbmm 块的时间属性,如 created updated 的格式为 YYYYMMDDHHmmss 例如 20210104091228 块之间的关系 层级关系:块大致可以分为 内容块(叶子块):仅包含内容的块,例如段落 p,公式块 m,代码块 c,标题块 h,表格块 t 等 内容块的 content 和 markdown 字段为块的内容 容器块:包含其他内容块或者容器块的块,例如 列表块 l,列表项块 i,引述块/引用块 b,超级块 s 每个块的 parent_id 指向他直接上层的容器块 容器块的 content 和 markdown 字段为容器内所有块的内容 文档块:包含同一文档中所有内容块和容器块的块,d 每个块的 root_id 指向他所在的文档 容器块的 content 字段为文档的标题 引用关系:当一个块引用了另一个块的时候,会在 refs 表中建立联系 如果有多个块引用了同一个块,那么对这个被引用的块而言,这些引用它的块构成了它的反向链接(反链) 所有引用关系被存放在 ref 表当中;使用的时候将 blocks 表和 ref 表搭配进行查询 Daily Note:又称日记,每日笔记,是一种特殊的文档块 daily note 文档有特殊属性:custom-dailynote-=;被标识了这个属性的文档块(type='d'),会被视为是对应日期的 daily note 文档 例如 custom-dailynote-20240101=20240101 的文档,被视为 2024-01-01 这天的 daily note 文档 请注意! daily note (日记)是一个文档块!如果要查询日记内部的内容,请使用 root_id 字段来关联日记文档和内部的块的关系 书签:含有属性 bookmark=<书签名> 的块会被加入对应的书签 SQL 示例 查询所有文档块 select * from blocks where type='d' 查询所有二级标题块 select * from blocks where subtype = 'h2' 查询某个文档的子文裆 select * from blocks where path like '%/<当前文档id>/%' and type='d' 随机漫游某个文档内所有标题块 SELECT * FROM blocks WHERE root_id LIKE '<文档 id>' AND type = 'h' ORDER BY random() LIMIT 1 查询含有关键词「唯物主义」的段落块 select * from blocks where markdown like '%唯物主义%' and type ='p' ORDER BY updated desc 查询过去 7 天内没有完成的任务(任务列表项) 注:思源中,任务列表项的 markdown 为 * [ ] Task text 如果是已经完成的任务,则是 * [x] Task Text SELECT * from blocks WHERE type = 'l' AND subtype = 't' AND created > strftime('%Y%m%d%H%M%S', datetime('now', '-7 day')) AND markdown like'* [ ] %' AND parent_id not in ( select id from blocks where subtype = 't' ) 查询某个块所有的反链块(引用了这个块的所有块) select * from blocks where id in ( select block_id from refs where def_block_id = '<被引用的块ID>' ) limit 999 查询某个时间段内的 daily note(日记) 注意由于没有指定 limit,最大只能查询 64 个 select distinct B.* from blocks as B join attributes as A on B.id = A.block_id where A.name like 'custom-dailynote-%' and B.type='d' and A.value >= '20231010' and A.value <= '20231013' order by A.value desc; 查询某个笔记本下没有被引用过的文档,限制 128 个 select * from blocks as B where B.type='d' and box='<笔记本 BoxID>' and B.id not in ( select distinct R.def_block_id from refs as R ) order by updated desc limit 128 |
| siyuan_search_blocksB | Search for blocks in SiYuan notes using full-text search |
| siyuan_database_queryA | 思源数据库查询工具 - 执行 SQLite 查询语句来查询思源笔记的数据库(树形视图/属性视图) 功能说明此工具允许您查询思源笔记中的数据库(也称为树形视图或属性视图)。您可以使用标准的 SQLite 语法来查询数据库中的数据。 支持的表
数据库表结构blocks 表
attributes 表
refs 表
使用示例
安全注意事项
|
| web_searchB | 快速检索并返回原始搜索结果(不做自动成文)。 |
| advanced_web_searchB | 在 web_search 的基础上,支持更复杂检索参数与结果整形;并可选启用 Sonar 直答(需要时才开)。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/2234839/mcpserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server