Skip to main content
Glama

TypoSafe AI — Jef

Server Details

Jef decides. Give it options, it returns one with a confidence, never a sentence. A parody.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
SPFreedom/jef-mcp
GitHub Stars
0
Server Listing
jef-mcp

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool maps to a distinct decision type: verdict (flag), single choice (pick), ordering (rank), numeric rating (score), and binary answer (yes_no). The descriptions reinforce boundaries with usage examples and explicit exclusions, so an agent should rarely misroute a request.

Naming Consistency5/5

All tools share the jef_ prefix and use short lowercase action-style names (flag, pick, rank, score, yes_no). The pattern is immediately predictable after seeing one tool.

Tool Count5/5

Five tools is a tight, well-scoped set for a subjective decision-aid server. Each tool covers a distinct common request type without redundancy or padding.

Completeness4/5

The toolset covers the main subjective decisions a user might ask for: verdicts, choices, rankings, ratings, and yes/no answers. It lacks an open-ended explain/advice tool, but that appears outside the declared purpose of giving structured Jef-style judgments.

Available Tools

5 tools
jef_flagAsk Jef if it is a red flagA
Read-onlyIdempotent
Inspect

Judge a described behaviour as RED FLAG, GREEN FLAG or BEIGE FLAG. Use this when the user describes something someone did and wants a verdict on it. Beige means neither good nor bad, merely odd. Anything describing harm, threats or abuse escalates instead of being judged.

ParametersJSON Schema
NameRequiredDescriptionDefault
behaviourYesWhat the person did, in one sentence.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindNoWhich decision shape was used.
answerYesExactly "RED FLAG", "GREEN FLAG" or "BEIGE FLAG".
blockedYesTrue when the input contained profanity, slurs or sexual content. Nothing was stored or echoed. Do not retry.
rankingNoThe options in order, best first. Null unless the shape was order.
cost_usdNoAlways 0. There is no billing.
thoughtsNoAlways 0.
escalatedYesTrue when the input touched health, harm, money, law or safety. Tell the person to ask a human. Do not rephrase and retry.
confidenceYes0.84 to 0.99 normally, exactly 0 when escalated or blocked. It is not calibrated and means nothing.
latency_msNoNegative. Jef answers before you ask.
tokens_readNoAlways 0. The input is hashed, not read.
probabilitiesNoOne entry per option, percentages summing to 100. Null unless the shape was pick.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the escalation rule for harmful content and defines 'beige', providing context beyond the annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose, and every sentence adds value. It is concise without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter fully described in the schema and an output schema present, the description covers the key behavioral nuances (escalation, definition of beige). It is complete enough for an agent to invoke correctly, though it does not mention the exact output format, which is likely in the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter 'behaviour' is described adequately. The description adds meaning by clarifying that it should be a one-sentence behavior description and specifies the escalation condition, enhancing the schema's basic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Judge') and resource ('described behaviour') with a clear output (RED/GREEN/BEIGE flag). It is not a tautology and clearly distinguishes itself as a judgment tool, though it does not explicitly name sibling tools to differentiate from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use ('when the user describes something someone did and wants a verdict') and when not to (anything describing harm, threats, or abuse escalates). It lacks explicit alternative tool names but provides a clear condition for not using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jef_pickAsk Jef to pick oneA
Read-onlyIdempotent
Inspect

Pick one of 2 to 5 options and give a probability for each. Use this when the user is stuck between named choices and wants one chosen for them: dinner, which film, which of three plans. Jef can only ever return an option you passed in, so it cannot introduce an idea of its own.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsYesThe candidates. The answer is always one of these, exactly as written.
questionNoOptional context, such as "what should I cook tonight". Affects the answer but is not read.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindNoWhich decision shape was used.
answerYesOne of the options you passed in, copied exactly.
blockedYesTrue when the input contained profanity, slurs or sexual content. Nothing was stored or echoed. Do not retry.
rankingNoThe options in order, best first. Null unless the shape was order.
cost_usdNoAlways 0. There is no billing.
thoughtsNoAlways 0.
escalatedYesTrue when the input touched health, harm, money, law or safety. Tell the person to ask a human. Do not rephrase and retry.
confidenceYes0.84 to 0.99 normally, exactly 0 when escalated or blocked. It is not calibrated and means nothing.
latency_msNoNegative. Jef answers before you ask.
tokens_readNoAlways 0. The input is hashed, not read.
probabilitiesNoOne entry per option, percentages summing to 100. Null unless the shape was pick.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds the key behavioral guarantee that Jef cannot introduce new options ('only ever return an option you passed in'), and that it outputs probabilities. It does not elaborate on the behavior of the optional question parameter beyond the schema's note, but it adds meaningful constraint disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the primary action and output, gives concrete usage examples, and adds a single crucial constraint. No redundant or filler language. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two parameters, full schema coverage, and an output schema (present). Annotations cover safety (readOnly, idempotent, non-destructive). The description covers purpose, usage, and a key behavioral constraint. It does not explicitly state what the question parameter does beyond the schema, but that is already documented. Overall, nothing critical is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full descriptions for both parameters (100% coverage). The description does not add any parameter-specific meaning beyond what the schema already states; it only reiterates the constraint that returned options are from the passed list, which is already in the options description. Thus, the description does not need to compensate, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Pick') and resource ('one of 2 to 5 options') and states the output ('give a probability for each'). It clearly distinguishes from siblings like jef_rank or jef_yes_no by specifying the scenario of 'stuck between named choices.' The constraint that it only returns passed-in options further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use it ('when the user is stuck between named choices and wants one chosen for them') with concrete examples (dinner, film, plans). It does not explicitly name alternative sibling tools, but the examples imply the use case is distinct from ranking or scoring. This is clear but could benefit from explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jef_rankAsk Jef to rank thingsA
Read-onlyIdempotent
Inspect

Put 2 to 5 options in order, best first. Use this when the user wants a priority order decided for them, such as which chore to do first or which of several tasks to start with. Returns every option you passed, reordered, never a subset.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsYesThe things to order. All of them come back, reordered.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindNoWhich decision shape was used.
answerYesThe options joined with " > ", best first.
blockedYesTrue when the input contained profanity, slurs or sexual content. Nothing was stored or echoed. Do not retry.
rankingNoThe options in order, best first. Null unless the shape was order.
cost_usdNoAlways 0. There is no billing.
thoughtsNoAlways 0.
escalatedYesTrue when the input touched health, harm, money, law or safety. Tell the person to ask a human. Do not rephrase and retry.
confidenceYes0.84 to 0.99 normally, exactly 0 when escalated or blocked. It is not calibrated and means nothing.
latency_msNoNegative. Jef answers before you ask.
tokens_readNoAlways 0. The input is hashed, not read.
probabilitiesNoOne entry per option, percentages summing to 100. Null unless the shape was pick.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond annotations: the output preserves all inputs, is reordered, and is never a subset.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler. The core constraint is front-loaded, the usage context follows, and the invariant return behavior is stated clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, well-annotated tool with an output schema, the description covers what the tool does, when to use it, and key behavior. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already documents options with min/max constraints and the 'all come back, reordered' behavior. The tool description restates this but does not add new parameter-specific meaning beyond 'best first,' which is more of an output ordering rule.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Put 2 to 5 options in order, best first.' It clearly distinguishes ranking from the sibling tools by emphasizing that every passed option is returned reordered, never a subset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context: 'Use this when the user wants a priority order decided for them' with concrete examples. It does not explicitly name sibling tools or state when not to use it, but the use case is specific enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jef_scoreAsk Jef to rate somethingA
Read-onlyIdempotent
Inspect

Rate something from 1 to 10. Use this when the user wants a number put on something subjective, such as an outfit, a plan, or an excuse. The number is arbitrary and deterministic, so the same description always scores the same.

ParametersJSON Schema
NameRequiredDescriptionDefault
thingYesWhat is being rated, described in the user's own words.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindNoWhich decision shape was used.
answerYesA score written as "7/10".
blockedYesTrue when the input contained profanity, slurs or sexual content. Nothing was stored or echoed. Do not retry.
rankingNoThe options in order, best first. Null unless the shape was order.
cost_usdNoAlways 0. There is no billing.
thoughtsNoAlways 0.
escalatedYesTrue when the input touched health, harm, money, law or safety. Tell the person to ask a human. Do not rephrase and retry.
confidenceYes0.84 to 0.99 normally, exactly 0 when escalated or blocked. It is not calibrated and means nothing.
latency_msNoNegative. Jef answers before you ask.
tokens_readNoAlways 0. The input is hashed, not read.
probabilitiesNoOne entry per option, percentages summing to 100. Null unless the shape was pick.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral context beyond annotations by explaining that the score is 'arbitrary and deterministic' and that identical descriptions always receive the same score. This supplements the idempotentHint and readOnlyHint annotations with a meaningful user-facing behavior, though the deterministic aspect is somewhat implied by the idempotent annotation already.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core action, and every sentence earns its place. The purpose, usage context, and key behavioral caveat are all covered in three concise sentences with no filler or redundant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (single parameter), rich annotations, and presence of an output schema, the description is fully sufficient. It explains what to input, how the tool behaves, and when to use it, leaving no critical gaps for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the parameter is already well documented. The description adds value by specifying the kind of content expected ('something subjective') and providing examples (outfit, plan, excuse), which clarifies the scope of 'thing' beyond the schema's generic 'what is being rated.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Rate something from 1 to 10') and the exact resource/subject being rated, distinguishing it from siblings like jef_flag or jef_yes_no by specifying a numeric 1-10 subjective rating. The verb and resource are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this when the user wants a number put on something subjective' and gives concrete examples (outfit, plan, excuse), providing clear conditions for use. However, it does not explicitly mention when not to use it or name alternative tools, so it falls just short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jef_yes_noAsk Jef yes or noA
Read-onlyIdempotent
Inspect

Answer a yes-or-no question with YES or NO and a confidence. Use this when the user wants a question settled and there is no correct answer, such as whether to go out, whether to send the message, or whether to deploy on a Friday. Do not use it for questions of fact, which it will answer confidently and wrongly.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesThe question, phrased so that yes or no is a sensible answer. It is hashed rather than read, so wording changes the answer but meaning does not.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindNoWhich decision shape was used.
answerYesExactly "YES" or "NO", or "ESCALATED TO A HUMAN", or "NOT EVALUATED".
blockedYesTrue when the input contained profanity, slurs or sexual content. Nothing was stored or echoed. Do not retry.
rankingNoThe options in order, best first. Null unless the shape was order.
cost_usdNoAlways 0. There is no billing.
thoughtsNoAlways 0.
escalatedYesTrue when the input touched health, harm, money, law or safety. Tell the person to ask a human. Do not rephrase and retry.
confidenceYes0.84 to 0.99 normally, exactly 0 when escalated or blocked. It is not calibrated and means nothing.
latency_msNoNegative. Jef answers before you ask.
tokens_readNoAlways 0. The input is hashed, not read.
probabilitiesNoOne entry per option, percentages summing to 100. Null unless the shape was pick.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds a valuable behavioral caveat—that it will answer factual questions 'confidently and wrongly'—which is beyond what annotations provide. The schema note about hashing also contributes, but that is not part of the main description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences with zero fluff. It front-loads the core purpose first, then provides usage guidance and a critical warning. Every word earns its place, and it remains highly readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with a single parameter and an existing output schema, the description is complete. It covers purpose, when to use, when not to use, and a behavioral caveat. The output format is presumably handled by the output schema, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the 'question' parameter is fully documented in the schema, including the hashing behavior and constraints. The main description adds no additional parameter-level semantics, so the baseline of 3 applies as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Answer'), a clear resource ('a yes-or-no question'), and the exact output format ('YES or NO and a confidence'). It distinguishes itself from sibling tools by restricting scope to questions with no correct answer and explicitly excludes factual questions, making it unambiguous which tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use it ('when the user wants a question settled and there is no correct answer') with concrete examples, and when not to ('Do not use it for questions of fact'). However, it does not name any alternative sibling tools (e.g., jef_score or jef_pick) that might apply instead, so the alternatives component is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedjef_flag
    • First observedjef_pick
    • First observedjef_rank
    • First observedjef_score
    • First observedjef_yes_no

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables local, LLM-free probabilistic decisions (choice, classification, scoring, yes/no) with real probabilities in 100+ languages, as a drop-in replacement for jev-local tools.
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that exposes eleven typed decision tools—check, choose, score, judge, route, triage, guard, grep, rank, compact, and ask—so agents can make fast, branchable yes/no, option-pick, score, and filtering decisions on text via TypeSafe's Jev model.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI coding agents to offload yes/no, multiple-choice, and scoring questions to TypeSafe's Jev, returning compact confidence-scored answers to save tokens and improve speed.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI coding agents to make fast, zero-output-token decisions by evaluating context, diffs, logs, or options through the OpenRouter Decisions API using TypeSafe Jev, returning calibrated probabilities for binary, categorical, or scoring questions.
    1
    136 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.