Penline Handwriting Sheets
Tracing sheets & lined paper
我该使用它吗
质量与安全性
发现(1)
- LOW在 generate_lined_paper 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"handwriting-sheets": {
"url": "https://handwriting-sheets.zovo.one/mcp"
}
}
}远程端点
https://handwriting-sheets.zovo.one/mcpstreamable-http它能做什么
工具清单
工具(3)
🟢generate_handwriting_sheet(text, line_size, paper, orientation, title, ...)
Use this when the user wants handwriting worksheets, tracing worksheets, letter tracing or handwriting practice sheets as a printable vector PDF. Supports up to 600 characters and word wrapping. Repeats text to fill each tracing row when repetitions are omitted, or uses an explicit one to four copies, followed by a blank copy row. Does not support cursive. Print letters only. Latin, Greek and Cyrillic supported. Oversized words produce a clear error.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Letters, words or sentences to trace, up to 600 characters. Example: The cat sat."
},
"line_size": {
"description": "Capital-to-baseline body height in inches: 0.5, 0.625, 0.75 or 1.0. Example: 0.5. Default 0.5.",
"type": "number"
},
"paper": {
"description": "Paper: Letter or A4. Example: Letter. Default Letter.",
"type": "string"
},
"orientation": {
"description": "Page direction: portrait or landscape. Example: portrait. Default portrait.",
"type": "string"
},
"title": {
"description": "Optional page title, up to 80 supported characters. Example: Letter practice.",
"type": "string"
},
"trace_style": {
"description": "Tracing style: dotted, light_grey or outline. Example: dotted. Default dotted.",
"type": "string"
},
"name_date": {
"description": "Print a blank name and date line. Example: true. Default false.",
"type": "boolean"
},
"repetitions": {
"description": "Whole-number repetitions per tracing row, 1 to 4; each row is followed by a blank copy row. Example: 2. Omit to repeat as many copies as fit, with one body-height gap.",
"type": "number"
}
},
"required": [
"text"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"page_count": {
"type": "number"
},
"paper": {
"type": "string"
},
"orientation": {
"type": "string"
},
"line_size": {
"type": "number"
},
"body_height_pt": {
"type": "number"
},
"margin_pt": {
"type": "number"
},
"total_rows": {
"type": "number"
},
"trace_rows": {
"type": "number"
},
"copy_rows": {
"type": "number"
},
"repetitions": {
"type": "number"
},
"repetition_counts": {
"type": "array",
"items": {
"type": "number"
}
},
"rows_per_page": {
"type": "number"
},
"page_size_pt": {
"type": "array",
"items": {
"type": "number"
}
},
"guide_positions_pt": {
"type": "array",
"items": {
"type": "object",
"properties": {
"top": {
"type": "number"
},
"midline": {
"type": [
"number",
"null"
]
},
"baseline": {
"type": "number"
},
"descender_bottom": {
"type": "number"
}
},
"required": [
"top",
"midline",
"baseline",
"descender_bottom"
],
"additionalProperties": false
}
},
"trace_style": {
"type": "string"
},
"midline": {
"type": "boolean"
},
"downloads": {
"type": "object",
"properties": {
"pdf": {
"type": "string"
}
},
"required": [
"pdf"
],
"additionalProperties": false
}
},
"required": [
"kind",
"page_count",
"paper",
"orientation",
"line_size",
"body_height_pt",
"margin_pt",
"total_rows",
"trace_rows",
"copy_rows",
"repetitions",
"repetition_counts",
"rows_per_page",
"page_size_pt",
"guide_positions_pt",
"trace_style",
"midline",
"downloads"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢generate_name_tracing_sheet(name, lines, line_size, paper, orientation, ...)
Use this when the user wants name tracing worksheets or a custom tracing worksheet as a printable PDF. Supports a name up to 40 characters and 1 to 30 total writing rows, alternating trace and blank rows starting with trace. Does not support cursive. Print letters only. Latin, Greek and Cyrillic supported. A name must fit one row at the chosen size.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name to trace, up to 40 characters. Example: Emma."
},
"lines": {
"description": "Total writing rows, alternating trace and blank; 1 to 30. Example: 6. Default 6.",
"type": "number"
},
"line_size": {
"description": "Capital-to-baseline body height in inches: 0.5, 0.625, 0.75 or 1.0. Example: 0.5. Default 0.5.",
"type": "number"
},
"paper": {
"description": "Paper: Letter or A4. Example: Letter. Default Letter.",
"type": "string"
},
"orientation": {
"description": "Page direction: portrait or landscape. Example: portrait. Default portrait.",
"type": "string"
},
"title": {
"description": "Optional page title, up to 80 supported characters. Example: Letter practice.",
"type": "string"
},
"trace_style": {
"description": "Tracing style: dotted, light_grey or outline. Example: dotted. Default dotted.",
"type": "string"
},
"name_date": {
"description": "Print a blank name and date line. Example: true. Default false.",
"type": "boolean"
},
"repetitions": {
"description": "Optional whole-number copies per tracing row, 1 to 4. Example: 2. Omit to fill the row with a body-height gap between copies.",
"type": "number"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"page_count": {
"type": "number"
},
"paper": {
"type": "string"
},
"orientation": {
"type": "string"
},
"line_size": {
"type": "number"
},
"body_height_pt": {
"type": "number"
},
"margin_pt": {
"type": "number"
},
"total_rows": {
"type": "number"
},
"trace_rows": {
"type": "number"
},
"copy_rows": {
"type": "number"
},
"repetitions": {
"type": "number"
},
"repetition_counts": {
"type": "array",
"items": {
"type": "number"
}
},
"rows_per_page": {
"type": "number"
},
"page_size_pt": {
"type": "array",
"items": {
"type": "number"
}
},
"guide_positions_pt": {
"type": "array",
"items": {
"type": "object",
"properties": {
"top": {
"type": "number"
},
"midline": {
"type": [
"number",
"null"
]
},
"baseline": {
"type": "number"
},
"descender_bottom": {
"type": "number"
}
},
"required": [
"top",
"midline",
"baseline",
"descender_bottom"
],
"additionalProperties": false
}
},
"trace_style": {
"type": "string"
},
"midline": {
"type": "boolean"
},
"downloads": {
"type": "object",
"properties": {
"pdf": {
"type": "string"
}
},
"required": [
"pdf"
],
"additionalProperties": false
}
},
"required": [
"kind",
"page_count",
"paper",
"orientation",
"line_size",
"body_height_pt",
"margin_pt",
"total_rows",
"trace_rows",
"copy_rows",
"repetitions",
"repetition_counts",
"rows_per_page",
"page_size_pt",
"guide_positions_pt",
"trace_style",
"midline",
"downloads"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢generate_lined_paper(line_size, paper, orientation, title, pages, ...)
Use this when the user wants printable lined paper or kindergarten writing paper as a vector PDF. Produces 1 to 20 pages with solid top and baseline guides, descender space and an optional dashed midline. Four body heights, Letter or A4, portrait or landscape. Does not produce cursive examples.
输入模式
{
"type": "object",
"properties": {
"line_size": {
"description": "Capital-to-baseline body height in inches: 0.5, 0.625, 0.75 or 1.0. Example: 0.5. Default 0.5.",
"type": "number"
},
"paper": {
"description": "Paper: Letter or A4. Example: Letter. Default Letter.",
"type": "string"
},
"orientation": {
"description": "Page direction: portrait or landscape. Example: portrait. Default portrait.",
"type": "string"
},
"title": {
"description": "Optional page title, up to 80 supported characters. Example: Letter practice.",
"type": "string"
},
"pages": {
"description": "Number of blank practice pages, whole number 1 to 20. Example: 2. Default 1.",
"type": "number"
},
"midline": {
"description": "Include the dashed guide halfway between top and baseline. Example: true. Default true.",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"page_count": {
"type": "number"
},
"paper": {
"type": "string"
},
"orientation": {
"type": "string"
},
"line_size": {
"type": "number"
},
"body_height_pt": {
"type": "number"
},
"margin_pt": {
"type": "number"
},
"total_rows": {
"type": "number"
},
"trace_rows": {
"type": "number"
},
"copy_rows": {
"type": "number"
},
"repetitions": {
"type": "number"
},
"repetition_counts": {
"type": "array",
"items": {
"type": "number"
}
},
"rows_per_page": {
"type": "number"
},
"page_size_pt": {
"type": "array",
"items": {
"type": "number"
}
},
"guide_positions_pt": {
"type": "array",
"items": {
"type": "object",
"properties": {
"top": {
"type": "number"
},
"midline": {
"type": [
"number",
"null"
]
},
"baseline": {
"type": "number"
},
"descender_bottom": {
"type": "number"
}
},
"required": [
"top",
"midline",
"baseline",
"descender_bottom"
],
"additionalProperties": false
}
},
"trace_style": {
"type": "string"
},
"midline": {
"type": "boolean"
},
"downloads": {
"type": "object",
"properties": {
"pdf": {
"type": "string"
}
},
"required": [
"pdf"
],
"additionalProperties": false
}
},
"required": [
"kind",
"page_count",
"paper",
"orientation",
"line_size",
"body_height_pt",
"margin_pt",
"total_rows",
"trace_rows",
"copy_rows",
"repetitions",
"repetition_counts",
"rows_per_page",
"page_size_pt",
"guide_positions_pt",
"trace_style",
"midline",
"downloads"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}社区
证据