Grade essays, check resumes, and ask typed yes/no, choice and rubric questions, powered by Jev.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer followed by your Jagent API key (jv_live_...), from https://jev-agent.com/api-access. Listing tools needs no key.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
The resume as plain text.
The job posting to match against. Omit for a general resume check.
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.
| Argument | Type | Description |
|---|---|---|
| resume* | string | The resume as plain text. |
| job_description | string | The job posting to match against. Omit for a general resume check. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"resume"
],
"properties": {
"resume": {
"type": "string",
"maxLength": 12000,
"minLength": 150,
"description": "The resume as plain text."
},
"job_description": {
"type": "string",
"maxLength": 8000,
"description": "The job posting to match against. Omit for a general resume check."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| context | string | The surrounding text, such as the whole essay or the job posting. |
| question* | string | e.g. 'Which opening line would an admissions reader find more compelling?' |
| version_a* | string | |
| version_b* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"question",
"version_a",
"version_b"
],
"properties": {
"context": {
"type": "string",
"maxLength": 60000,
"description": "The surrounding text, such as the whole essay or the job posting."
},
"question": {
"type": "string",
"maxLength": 1000,
"minLength": 3,
"description": "e.g. 'Which opening line would an admissions reader find more compelling?'"
},
"version_a": {
"type": "string",
"maxLength": 5000,
"minLength": 1
},
"version_b": {
"type": "string",
"maxLength": 5000,
"minLength": 1
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| essay* | string | The essay text. |
| level | string | kind "essay" only. Default high school. |
| prompt | integer | kind "common-app": which of the seven prompts. Default 7, topic of your choice. |
| passage | string | kind "sat": the source passage. |
| assignment | string | kind "essay": the assignment prompt. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"essay"
],
"properties": {
"kind": {
"enum": [
"essay",
"common-app",
"sat"
],
"type": "string",
"default": "essay"
},
"essay": {
"type": "string",
"maxLength": 20000,
"minLength": 100,
"description": "The essay text."
},
"level": {
"enum": [
"middle school",
"high school",
"college"
],
"type": "string",
"description": "kind \"essay\" only. Default high school."
},
"prompt": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "kind \"common-app\": which of the seven prompts. Default 7, topic of your choice."
},
"passage": {
"type": "string",
"maxLength": 8000,
"description": "kind \"sat\": the source passage."
},
"assignment": {
"type": "string",
"maxLength": 2000,
"description": "kind \"essay\": the assignment prompt."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| points | integer | |
| criteria* | array | Rubric rows, e.g. { "name": "Evidence", "description": "Supports the claim with specific evidence" }. |
| assignment | string | |
| submissions* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"criteria",
"submissions"
],
"properties": {
"points": {
"type": "integer",
"default": 4,
"maximum": 6,
"minimum": 3
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 300
}
}
},
"maxItems": 8,
"minItems": 1,
"description": "Rubric rows, e.g. { \"name\": \"Evidence\", \"description\": \"Supports the claim with specific evidence\" }."
},
"assignment": {
"type": "string",
"maxLength": 2000
},
"submissions": {
"type": "array",
"items": {
"type": "object",
"required": [
"text"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"text": {
"type": "string",
"maxLength": 20000,
"minLength": 100
}
}
},
"maxItems": 30,
"minItems": 1
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| options* | object | e.g. { "billing": "Payments, refunds, invoices", "technical": "Bugs and errors" } |
| question* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text",
"question",
"options"
],
"properties": {
"text": {
"type": "string",
"maxLength": 60000,
"minLength": 1
},
"options": {
"type": "object",
"description": "e.g. { \"billing\": \"Payments, refunds, invoices\", \"technical\": \"Bugs and errors\" }",
"propertyNames": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"additionalProperties": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
},
"question": {
"type": "string",
"maxLength": 1000,
"minLength": 3
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| levels* | array | Lowest first, e.g. ["Off-topic", "Partly relevant", "Fully relevant"]. |
| question* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text",
"question",
"levels"
],
"properties": {
"text": {
"type": "string",
"maxLength": 60000,
"minLength": 1
},
"levels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"maxItems": 10,
"minItems": 2,
"description": "Lowest first, e.g. [\"Off-topic\", \"Partly relevant\", \"Fully relevant\"]."
},
"question": {
"type": "string",
"maxLength": 1000,
"minLength": 3
}
}
}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?'.
| Argument | Type | Description |
|---|---|---|
| text* | string | The text to judge. |
| no_means | string | |
| question* | string | |
| yes_means | string | What a yes looks like, if it helps to spell out. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text",
"question"
],
"properties": {
"text": {
"type": "string",
"maxLength": 60000,
"minLength": 1,
"description": "The text to judge."
},
"no_means": {
"type": "string",
"maxLength": 300
},
"question": {
"type": "string",
"maxLength": 1000,
"minLength": 3
},
"yes_means": {
"type": "string",
"maxLength": 300,
"description": "What a yes looks like, if it helps to spell out."
}
}
}