Skip to main content
Glama
Unfold-it

Unfold It MCP Server

Official
by Unfold-it

generate_skill_assessment

Generate AI-powered skill assessment multiple-choice questions. Supply skill, proficiency level, and work context to obtain structurally validated questions with a signed assessment token.

Instructions

Generate a skill-proficiency assessment (MCQs) for a learner.

You provide a skill, target proficiency, number of questions, and the work item the learner is preparing for. Unfold returns the questions with multiple-choice options, a signed assessment_token, and a proficiency band map. The learner answers in your UI; then call score_skill_assessment with the token and answers.

Questions are AI-generated and validated (structural + semantic) before being returned. The assessment_token is HMAC-signed and tamper-proof; it contains the answer key AND per-question facet labels (since v0.7.0) so scoring is stateless and deterministic, and score returns per-facet aggregation without you doing any client-side joins.

CHAINING:

  • work_item_context is the strongest grounding signal: questions get anchored to it instead of being generic textbook items. Pass title + description whenever you have them.

  • The same work_item_context flows through to score_skill_assessment's suggested_goal_seed, then into create_goal. Keep it consistent across the chain.

TYPED ERRORS (branch on error_code):

  • "models_not_configured" / "provider_unauthorized" / "provider_quota_exceeded" / "provider_unavailable" / "provider_request_invalid": LLM provider issues. Some include settings_url and switch_to_unfold_ai CTA.

  • "validation_failed": generation produced output the validator rejected after retry budget. Retry with a different request_id, or reduce num_questions.

  • "idempotency_conflict": same request_id was used with a different request body; pick a new request_id.

Requires the "assessment:generate" scope on your org API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skillYesSkill to assess (e.g. 'Python', 'SQL', 'Project Management')
languageNoISO language code (default 'en')
request_idYesClient-supplied idempotency key. Same request_id returns the same assessment.
num_questionsYesNumber of MCQs to generate (3-20)
difficulty_mixNoDifficulty distribution as {easy, medium, hard} floats summing to 1.0. Defaults to {easy: 0.2, medium: 0.5, hard: 0.3}
band_thresholdsNoCustom proficiency band ranges. Defaults: beginner [0,10], low [11,50], medium [51,85], high [86,100]
work_item_contextYesThe work item context to anchor question relevance. Flows through scoring into create_goal; keep it consistent across the chain.
target_proficiencyYesProficiency band the learner should reach
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses that questions are AI-generated and validated, the token is HMAC-signed and tamper-proof, scoring is stateless, and typed errors are returned. This is comprehensive for a mutation tool.

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

Conciseness4/5

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

The description is well-structured with clear sections: purpose, output details, chaining, errors, and scope. It is front-loaded with the core purpose. While somewhat lengthy, each section earns its place and the overall clarity justifies the length.

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 tool's complexity (8 parameters, nested objects, chaining, error types, scope requirements) and no output schema, the description covers all necessary aspects: input, output format, validation, error handling, chaining with score_skill_assessment, and security requirements. An AI agent has sufficient information 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?

Schema coverage is 100%, so baseline is 3. The description adds meaningful extra context for parameters like work_item_context (chaining role, strong grounding), difficulty_mix (defaults), band_thresholds (defaults), and typed errors. It does not add much for simple fields like skill, but overall adds value.

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 tool generates a skill-proficiency assessment (MCQs) for a learner, specifying the output and chaining to score_skill_assessment. It distinguishes itself from siblings by naming the downstream tool and emphasizing its role in the assessment pipeline.

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 provides explicit context for when to use the tool (generating an assessment) and includes chaining guidance, error handling, and scope requirements. However, it does not explicitly state when not to use it or describe alternatives among siblings like get_assessment_capabilities.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Unfold-it/unfoldit-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server