Directory / Agents, IDEs & developer tools
Jev Agent
Hosted Jev AI MCP: judge_yes_no, judge_choice, judge_score, compare_versions and graders with calibrated probabilities; same key also calls Decision API and eight classify rulesets. Endpoint: https://jev-agent.com/api/mcp. Independent; not affiliated with TypeSafe AI.
Live Answered an MCP handshake without credentials and listed 7 tools.
- Category
- Agents, IDEs & developer tools
- Transport
http- Source
- https://jev-agent.com/docs
- Endpoint
https://jev-agent.com/api/mcp- Reports itself as
- jagent 1.0.0
- Protocol
- 2025-06-18
- Tools
- 7
- Context cost
- about 1,439 tokens for the tool definitions (estimated at four characters per token)
- Tool definitions last changed
- no change seen since first check
- Handshake time
- 135 ms
- Last checked
- 2026-11-03 10:54:41 UTC
- Listed since
- 2026-10-17
Health and compatibility
| Endpoint reachable | Verified | Responded in 135 ms |
|---|---|---|
| MCP handshake (initialize) | Verified | Completed without credentials |
| Tool discovery (tools/list) | Verified | 7 tools listed |
| Authentication | Verified | None needed to connect |
| Protocol version | Verified | 2025-06-18 |
| Transport | Verified | Streamable HTTP |
| Capabilities declared | Verified | tools |
Last checked . Verified means the check saw it happen; it says nothing about whether the server is safe.
Recent history
100% of the last 13 daily checks reachable; median response 219 ms. Green answered, violet asked for auth, red did not answer.
Set up in your client
Claude Code
Run this in a terminal:
claude mcp add --transport http jev-agent https://jev-agent.com/api/mcpClaude Desktop
Open Settings → Connectors → Add custom connector and paste this URL:
https://jev-agent.com/api/mcpOr bridge it through mcp-remote in claude_desktop_config.json (needs Node.js):
{
"mcpServers": {
"jev-agent": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://jev-agent.com/api/mcp"
]
}
}
}Cursor
Or add it to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"jev-agent": {
"url": "https://jev-agent.com/api/mcp"
}
}
}VS Code
Or add it to .vscode/mcp.json:
{
"servers": {
"jev-agent": {
"type": "http",
"url": "https://jev-agent.com/api/mcp"
}
}
}Or from a terminal:
code --add-mcp '{"name": "jev-agent", "type": "http", "url": "https://jev-agent.com/api/mcp"}'Windsurf
Add it to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"jev-agent": {
"serverUrl": "https://jev-agent.com/api/mcp"
}
}
}Other clients
Most clients accept this shape. The endpoint is:
https://jev-agent.com/api/mcp{
"mcpServers": {
"jev-agent": {
"type": "http",
"url": "https://jev-agent.com/api/mcp"
}
}
}If it does not connect
- Restart the client after editing a config file, and keep keys out of files you commit.
- If the tools do not appear, open the client's MCP log: a 401 means the credentials were not accepted, and a timeout means the server did not answer.
Tools 7
Names, descriptions and input schemas exactly as the server returned them on 2026-11-03. This is the server author's own text. Nothing is run from this page. Labels such as read-only are declared by the server and are not verified. Raw JSON
check_resumeread-onlyexternal accessScore a resume, optionally against a job posting: a 0-100 match score, the posting's keywords found and …
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.
| Parameter | Type | Description | |
|---|---|---|---|
resume | string | required | The resume as plain text. |
job_description | string | optional | The job posting to match against. Omit for a general resume check. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "check_resume",
"arguments": {
"resume": "..."
}
}
}compare_versionsread-onlyexternal accessWhich of two versions is stronger for a stated purpose. Asked twice with the order swapped and averaged, …
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.
| Parameter | Type | Description | |
|---|---|---|---|
question | string | required | e.g. 'Which opening line would an admissions reader find more compelling?' |
version_a | string | required | |
version_b | string | required | |
context | string | optional | The surrounding text, such as the whole essay or the job posting. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "compare_versions",
"arguments": {
"question": "...",
"version_a": "...",
"version_b": "..."
}
}
}grade_essayread-onlyexternal accessGrade one essay against a built-in rubric. kind "essay": six criteria and a letter grade, for class essays at …
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).
| Parameter | Type | Description | |
|---|---|---|---|
essay | string | required | The essay text. |
kind | string | optional | One of: essay, common-app, sat |
level | string | optional | kind "essay" only. Default high school. One of: middle school, high school, college |
assignment | string | optional | kind "essay": the assignment prompt. |
prompt | integer | optional | kind "common-app": which of the seven prompts. Default 7, topic of your choice. |
passage | string | optional | kind "sat": the source passage. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "grade_essay",
"arguments": {
"essay": "..."
}
}
}grade_with_rubricread-onlyexternal accessGrade one or more submissions (up to 30, in parallel) against a rubric you supply: each criterion scored on a …
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.
| Parameter | Type | Description | |
|---|---|---|---|
criteria | object[] | required | Rubric rows, e.g. { "name": "Evidence", "description": "Supports the claim with specific evidence" }. |
points | integer | optional | |
submissions | object[] | required | |
assignment | string | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "grade_with_rubric",
"arguments": {
"criteria": [],
"submissions": []
}
}
}judge_choiceread-onlyexternal accessPick the option that best fits a text, with a probability for every option and a confidence. Options map an …
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.
| Parameter | Type | Description | |
|---|---|---|---|
text | string | required | |
question | string | required | |
options | object | required | e.g. { "billing": "Payments, refunds, invoices", "technical": "Bugs and errors" } |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "judge_choice",
"arguments": {
"text": "...",
"question": "...",
"options": {}
}
}
}judge_scoreread-onlyexternal accessPlace a text on an ordered scale you define (lowest level first) and get the nearest level, the exact …
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.
| Parameter | Type | Description | |
|---|---|---|---|
text | string | required | |
question | string | required | |
levels | string[] | required | Lowest first, e.g. ["Off-topic", "Partly relevant", "Fully relevant"]. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "judge_score",
"arguments": {
"text": "...",
"question": "...",
"levels": []
}
}
}judge_yes_noread-onlyexternal accessAsk any yes/no question about a text and get the probability that the answer is yes. Use for checks and …
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?'.
| Parameter | Type | Description | |
|---|---|---|---|
text | string | required | The text to judge. |
question | string | required | |
yes_means | string | optional | What a yes looks like, if it helps to spell out. |
no_means | string | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "judge_yes_no",
"arguments": {
"text": "...",
"question": "..."
}
}
}Badge
Maintain this server? Put its live status in your README:
[](https://mcp.aianytime.net/s/jev-agent/)Edit this entry · Report a problem
More in Agents, IDEs & developer tools
Checks record what a server answered, not whether it is safe. A listing is not a security audit; read a server's source and permissions before you connect it. Add a server · JSON · llms.txt · llms-full.txt
Browse: Agents, IDEs & developer tools · Search & discovery · Knowledge, memory & context · Media & generation · Security · Finance & markets · Marketing, content & social · Cloud, ops & data · Commerce, travel & logistics · Work & productivity · No account needed · Local servers