GermanExam.pro
Grades German C1 exam writing (TestDaF, DSH, Goethe C1, telc C1) against the official rubrics.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"germanexam": {
"url": "https://www.germanexam.pro/api/mcp"
}
}
}远程端点
https://www.germanexam.pro/api/mcpstreamable-http它能做什么
工具清单
工具(3)
🟢pruefungsraster_nachschlagen(exam)
Use this when the user wants to know how the writing section of a German C1 exam is assessed: the criteria with their weights, the level or grade scale, the passing rule and the expected text length for TestDaF, DSH, Goethe-Zertifikat C1 or telc Deutsch C1 Hochschule. Read-only reference data from the published exam rubrics; no sign-in needed. Not for evaluating a text (use text_bewerten) and not for other languages or exams.
输入模式
{
"type": "object",
"properties": {
"exam": {
"type": "string",
"enum": [
"testdaf",
"dsh",
"goethe_c1",
"telc_c1"
],
"description": "Which exam: testdaf, dsh, goethe_c1 or telc_c1 (telc Deutsch C1 Hochschule)."
}
},
"required": [
"exam"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"reference": {
"type": "object",
"properties": {
"exam": {
"type": "string",
"enum": [
"testdaf",
"dsh",
"goethe_c1",
"telc_c1"
]
},
"name": {
"type": "string"
},
"skill": {
"type": "string"
},
"scoreLabel": {
"type": "string"
},
"writingMinutes": {
"type": "number"
},
"formats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"weightPercent": {
"type": "number"
},
"description": {
"type": "string"
}
},
"required": [
"name",
"weightPercent",
"description"
],
"additionalProperties": false
}
},
"criteriaOrigin": {
"type": "string",
"enum": [
"official",
"internal"
]
},
"originNote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"recommendedMinWords": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"lengthNote": {
"type": "string"
},
"lengthRules": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"label",
"criteria",
"criteriaOrigin",
"originNote",
"recommendedMinWords",
"lengthNote",
"lengthRules"
],
"additionalProperties": false
}
},
"levels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"fromPercent": {
"type": "number"
},
"cefrEstimate": {
"type": "string"
}
},
"required": [
"label",
"fromPercent",
"cefrEstimate"
],
"additionalProperties": false
}
},
"cefrNote": {
"type": "string"
},
"passRule": {
"type": "string"
},
"passRuleEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"disclaimer": {
"type": "string"
}
},
"required": [
"exam",
"name",
"skill",
"scoreLabel",
"writingMinutes",
"formats",
"levels",
"cefrNote",
"passRule",
"passRuleEn",
"disclaimer"
],
"additionalProperties": false
}
},
"required": [
"reference"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡text_bewerten(text, exam, task, part, feedback_language, ...)
Use this when the user wants a German text they wrote themselves (about 50 to 900 words) evaluated the way an examiner would, for the writing section of TestDaF, DSH, Goethe-Zertifikat C1 or telc Deutsch C1 Hochschule: level or grade, level per criterion, marked passages and improvements. Requires the user to be signed in. Starts the evaluation and returns a job_id immediately; the verdict is collected with bewertung_abholen. Send only the user's own text. Not for: translations, grammar questions, exam tasks, phrase lists, texts the user did not write, or other languages.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 9000,
"description": "The German text exactly as the user wrote it (their own writing, at least about 50 words). Only the text itself — no chat history, no instructions."
},
"exam": {
"type": "string",
"enum": [
"testdaf",
"dsh",
"goethe_c1",
"telc_c1"
],
"description": "The exam the text is for: testdaf, dsh, goethe_c1 or telc_c1. Ask the user if unclear."
},
"task": {
"description": "Optional: the exam task the text answers, verbatim, if the user has it.",
"type": "string",
"maxLength": 1000
},
"part": {
"description": "Only for goethe_c1: 1 = discussion post for an internet forum, 2 = (semi-)formal e-mail.",
"type": "string",
"enum": [
"1",
"2"
]
},
"feedback_language": {
"description": "Language of the feedback: the language the user is writing to you in (de, en, ar, tr, ru, zh, fa). Default de.",
"type": "string",
"enum": [
"de",
"en",
"ar",
"tr",
"ru",
"zh",
"fa"
]
},
"is_revision": {
"description": "true if this is a revised version of a text the user already had evaluated; false or omitted for a new text.",
"type": "boolean"
}
},
"required": [
"text",
"exam"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"running",
"done",
"not_in_plan",
"not_a_submission",
"no_verdict",
"invalid_input",
"limit",
"busy",
"unavailable",
"not_found",
"sign_in_required"
]
},
"message": {
"type": "string"
},
"jobId": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
},
"infoUrl": {
"type": "string"
},
"infoLabel": {
"type": "string"
},
"verdict": {
"type": "object",
"properties": {
"exam": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"enum": [
"testdaf",
"dsh",
"goethe_c1",
"telc_c1"
]
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
},
"tier": {
"type": "string",
"enum": [
"account",
"pass"
]
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"ar",
"tr",
"ru",
"zh",
"fa"
]
},
"wordCount": {
"type": "number"
},
"headline": {
"type": "object",
"properties": {
"level": {
"type": "string"
},
"levelLabel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scoreLabel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verdictText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cefrEstimate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"points": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"value",
"max"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"level",
"levelLabel",
"scoreLabel",
"verdictText",
"cefrEstimate",
"points"
],
"additionalProperties": false
},
"summary": {
"type": "string"
},
"criteriaOrigin": {
"type": "string",
"enum": [
"official",
"internal"
]
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"mark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"weightPercent": {
"type": "number"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"strengths": {
"type": "array",
"items": {
"type": "string"
}
},
"weaknesses": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"mark",
"weightPercent",
"reason",
"strengths",
"weaknesses"
],
"additionalProperties": false
}
},
"notMeasurable": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"name",
"reason"
],
"additionalProperties": false
}
},
"passRule": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"marks": {
"type": "array",
"items": {
"type": "string"
}
},
"improvements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"original": {
"type": "string"
},
"improved": {
"type": "string"
},
"why": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"original",
"improved",
"why"
],
"additionalProperties": false
}
},
"quickWins": {
"type": "array",
"items": {
"type": "string"
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
},
"nativeHints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hint": {
"type": "string"
}
},
"required": [
"label",
"hint"
],
"additionalProperties": false
}
},
"ownWork": {
"type": "boolean"
}
},
"required": [
"exam",
"tier",
"language",
"wordCount",
"headline",
"summary",
"criteriaOrigin",
"criteria",
"notMeasurable",
"passRule",
"marks",
"improvements",
"quickWins",
"recommendations",
"nativeHints",
"ownWork"
],
"additionalProperties": false
},
"labels": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"status",
"message"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢bewertung_abholen(job_id)
Use this to collect the result of an evaluation that was started with text_bewerten, using its job_id. Returns status "running" (not finished yet), "done" (with the verdict, shown as a card) or an error status. Requires the user to be signed in; only the user's own evaluations can be collected.
输入模式
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 8,
"maxLength": 64,
"description": "The job_id returned by text_bewerten."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"running",
"done",
"not_in_plan",
"not_a_submission",
"no_verdict",
"invalid_input",
"limit",
"busy",
"unavailable",
"not_found",
"sign_in_required"
]
},
"message": {
"type": "string"
},
"jobId": {
"type": "string"
},
"retryAfterSeconds": {
"type": "number"
},
"infoUrl": {
"type": "string"
},
"infoLabel": {
"type": "string"
},
"verdict": {
"type": "object",
"properties": {
"exam": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"enum": [
"testdaf",
"dsh",
"goethe_c1",
"telc_c1"
]
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
},
"tier": {
"type": "string",
"enum": [
"account",
"pass"
]
},
"language": {
"type": "string",
"enum": [
"de",
"en",
"ar",
"tr",
"ru",
"zh",
"fa"
]
},
"wordCount": {
"type": "number"
},
"headline": {
"type": "object",
"properties": {
"level": {
"type": "string"
},
"levelLabel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scoreLabel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verdictText": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cefrEstimate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"points": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"value",
"max"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"level",
"levelLabel",
"scoreLabel",
"verdictText",
"cefrEstimate",
"points"
],
"additionalProperties": false
},
"summary": {
"type": "string"
},
"criteriaOrigin": {
"type": "string",
"enum": [
"official",
"internal"
]
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"mark": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"weightPercent": {
"type": "number"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"strengths": {
"type": "array",
"items": {
"type": "string"
}
},
"weaknesses": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"mark",
"weightPercent",
"reason",
"strengths",
"weaknesses"
],
"additionalProperties": false
}
},
"notMeasurable": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"name",
"reason"
],
"additionalProperties": false
}
},
"passRule": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"marks": {
"type": "array",
"items": {
"type": "string"
}
},
"improvements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"original": {
"type": "string"
},
"improved": {
"type": "string"
},
"why": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"original",
"improved",
"why"
],
"additionalProperties": false
}
},
"quickWins": {
"type": "array",
"items": {
"type": "string"
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
},
"nativeHints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"hint": {
"type": "string"
}
},
"required": [
"label",
"hint"
],
"additionalProperties": false
}
},
"ownWork": {
"type": "boolean"
}
},
"required": [
"exam",
"tier",
"language",
"wordCount",
"headline",
"summary",
"criteriaOrigin",
"criteria",
"notMeasurable",
"passRule",
"marks",
"improvements",
"quickWins",
"recommendations",
"nativeHints",
"ownWork"
],
"additionalProperties": false
},
"labels": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"status",
"message"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据