Jagent
Grade essays, check resumes, and ask typed yes/no, choice and rubric questions, powered by Jev.
我该使用它吗
质量与安全性
发现(1)
- LOW在 judge_choice 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"jagent": {
"url": "https://jev-agent.com/api/mcp"
}
}
}远程端点
https://jev-agent.com/api/mcpstreamable-http它能做什么
工具清单
工具(7)
🟢check_resume(resume, job_description)
Score a resume, optionally against a job posting: a 0-100 match score, the posting's keywords found and missing (matched literally, as an ATS search would), ATS format checks, the level fit, and the probability a recruiter would move it to interview.
输入模式
{
"type": "object",
"properties": {
"resume": {
"type": "string",
"minLength": 150,
"maxLength": 12000,
"description": "The resume as plain text."
},
"job_description": {
"description": "The job posting to match against. Omit for a general resume check.",
"type": "string",
"maxLength": 8000
}
},
"required": [
"resume"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢grade_essay(essay, kind, level, assignment, prompt, ...)
Grade one essay against a built-in rubric. kind "essay": six criteria and a letter grade, for class essays at middle school, high school or college level. kind "common-app": a Common App personal statement (pass the prompt number, 1-7). kind "sat": an SAT School Day essay, Reading/Analysis/Writing each 1-4 (pass the source passage to check quotations).
输入模式
{
"type": "object",
"properties": {
"essay": {
"type": "string",
"minLength": 100,
"maxLength": 20000,
"description": "The essay text."
},
"kind": {
"default": "essay",
"type": "string",
"enum": [
"essay",
"common-app",
"sat"
]
},
"level": {
"description": "kind \"essay\" only. Default high school.",
"type": "string",
"enum": [
"middle school",
"high school",
"college"
]
},
"assignment": {
"description": "kind \"essay\": the assignment prompt.",
"type": "string",
"maxLength": 2000
},
"prompt": {
"description": "kind \"common-app\": which of the seven prompts. Default 7, topic of your choice.",
"type": "integer",
"minimum": 1,
"maximum": 7
},
"passage": {
"description": "kind \"sat\": the source passage.",
"type": "string",
"maxLength": 8000
}
},
"required": [
"essay"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢grade_with_rubric(criteria, points, submissions, assignment)
Grade one or more submissions (up to 30, in parallel) against a rubric you supply: each criterion scored on a 3- to 6-point scale, summed per submission. Each submission is graded in its own call, so its score never depends on the others.
输入模式
{
"type": "object",
"properties": {
"criteria": {
"minItems": 1,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"description": {
"type": "string",
"maxLength": 300
}
},
"required": [
"name"
]
},
"description": "Rubric rows, e.g. { \"name\": \"Evidence\", \"description\": \"Supports the claim with specific evidence\" }."
},
"points": {
"default": 4,
"type": "integer",
"minimum": 3,
"maximum": 6
},
"submissions": {
"minItems": 1,
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"text": {
"type": "string",
"minLength": 100,
"maxLength": 20000
}
},
"required": [
"text"
]
}
},
"assignment": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"criteria",
"submissions"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢judge_yes_no(text, question, yes_means, no_means)
Ask any yes/no question about a text and get the probability that the answer is yes. Use for checks and gates, e.g. 'Does this reply answer the customer's question?'.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 60000,
"description": "The text to judge."
},
"question": {
"type": "string",
"minLength": 3,
"maxLength": 1000
},
"yes_means": {
"description": "What a yes looks like, if it helps to spell out.",
"type": "string",
"maxLength": 300
},
"no_means": {
"type": "string",
"maxLength": 300
}
},
"required": [
"text",
"question"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢judge_choice(text, question, options)
Pick the option that best fits a text, with a probability for every option and a confidence. Options map an id to a description of when it applies.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 60000
},
"question": {
"type": "string",
"minLength": 3,
"maxLength": 1000
},
"options": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"additionalProperties": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"description": "e.g. { \"billing\": \"Payments, refunds, invoices\", \"technical\": \"Bugs and errors\" }"
}
},
"required": [
"text",
"question",
"options"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢judge_score(text, question, levels)
Place a text on an ordered scale you define (lowest level first) and get the nearest level, the exact position and a probability for each level.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 60000
},
"question": {
"type": "string",
"minLength": 3,
"maxLength": 1000
},
"levels": {
"minItems": 2,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"description": "Lowest first, e.g. [\"Off-topic\", \"Partly relevant\", \"Fully relevant\"]."
}
},
"required": [
"text",
"question",
"levels"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢compare_versions(question, version_a, version_b, context)
Which of two versions is stronger for a stated purpose. Asked twice with the order swapped and averaged, because the model favors the second option on close calls; if the two orders disagree the result is a tie.
输入模式
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 3,
"maxLength": 1000,
"description": "e.g. 'Which opening line would an admissions reader find more compelling?'"
},
"version_a": {
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"version_b": {
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"context": {
"description": "The surrounding text, such as the whole essay or the job posting.",
"type": "string",
"maxLength": 60000
}
},
"required": [
"question",
"version_a",
"version_b"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据