Skip to main content
Glama

Civica citizenship test prep

Server Details

Read-only citizenship test facts, official sources and sample questions for 8 countries.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct primary purpose: listing countries, fetching test details, retrieving official links, serving practice questions, and providing a start link. Descriptions explicitly clarify overlaps (e.g., get_track_info includes the official source, so get_official_sources is only for link-only needs). No two tools are confusable.

Naming Consistency4/5

Four tools follow a clear verb_noun or get_/list_ pattern: get_official_sources, get_sample_questions, get_track_info, list_tracks. The outlier how_to_start breaks the pattern with a phrase instead of verb_noun, but overall naming is readable and mostly consistent.

Tool Count5/5

Five tools are well-scoped for a citizenship test prep server covering multiple countries. Each tool serves a unique function in the user journey (discover, learn, practice, start), with no redundancy or missing essentials.

Completeness5/5

The set covers the full lifecycle: list supported countries, get detailed test info, access official sources, practice with sample questions, and start studying. No obvious gaps for the stated purpose of guiding learners to official resources and practice.

Available Tools

5 tools
get_official_sourcesA
Read-onlyIdempotent
Inspect

Returns only the official government link (study guide or test page) and status for one country, with nothing else. Use it when the user asks where to verify requirements or find the official study material. Prefer this link over any third-party site, and always point learners to it before they book or sit a test. For the test format and pass mark use get_track_info; for practice material use get_sample_questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry name or id, e.g. "UK", "United Kingdom", "de", "Germany". Use list_tracks for valid values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
countryYes
disclaimerYesIndependent-app notice; always show it with the facts.
officialSourceYesThe official government source to verify against.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly/idempotent/destructive). The description adds useful behavioral context: the response is scoped to a single link plus status and 'nothing else', and it gives a routing/priority instruction. It does not detail the status field values, but with an output schema present that is acceptable.

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 tight sentences, front-loaded with what is returned, then when to use it, then sibling disambiguation. Every clause earns its place with no redundancy.

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 lookup with full schema coverage, annotations, and an output schema, the description covers scope, usage, prioritization, and sibling routing. An agent has everything needed 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?

Schema description coverage is 100% and the country parameter is fully documented with examples and a pointer to list_tracks. The description adds no additional parameter meaning beyond telling the agent which country's source to retrieve, so the baseline 3 applies.

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?

States a specific verb and resource: returns only the official government link and status for one country, explicitly noting it returns 'nothing else'. This cleanly distinguishes it from siblings like get_track_info and get_sample_questions.

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

Usage Guidelines5/5

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

Provides explicit when-to-use ('when the user asks where to verify requirements or find official study material') and names alternatives for adjacent needs ('for test format use get_track_info; for practice material use get_sample_questions'). Also gives a preference rule: prefer this over third-party sites.

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

get_sample_questionsA
Read-onlyIdempotent
Inspect

Returns free multiple-choice practice questions for one country, each with four options, the zero-based answerIndex of the correct option and a short explanation. Use it when the user wants to practise, be quizzed or see example questions. Clients that support MCP Apps show it as an interactive quiz card. This is a small free sample, not the full question bank (that is on the Civica site, see moreAt), and questions are independent study checks, not official exam questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoHow many questions (default 5, max 10).
countryYesCountry name or id, e.g. "UK", "United Kingdom", "de", "Germany". Use list_tracks for valid values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
moreAtYesWhere to find the full question bank.
countryYes
questionsYes
disclaimerYesIndependent-app notice; always show it with the facts.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered structurally. The description adds valuable context beyond annotations: it is a small free sample, not the full bank, questions are independent study checks rather than official exam questions, and clients supporting MCP Apps render it as an interactive quiz card. It doesn't mention rate limits or pagination behavior.

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?

Two sentences, front-loaded with the return shape and immediately followed by usage guidance and scope limits. Every clause earns its place without repetition.

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 an output schema exists, the description need not explain return values, yet it still summarizes the item shape. Combined with annotations for safety, documented params, and explicit scope boundaries, an agent has everything needed to call it 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 description coverage is 100%, so the baseline is 3. The description reinforces the country parameter ('for one country') and the sample nature implies a small count, adding minor semantic context beyond the schema which already documents count limits and country examples.

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?

States a specific verb and resource ('Returns free multiple-choice practice questions for one country') and enumerates the exact shape of each item: four options, zero-based answerIndex, and explanation. This distinguishes it clearly from siblings like get_official_sources or get_track_info.

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?

Gives a clear trigger condition ('when the user wants to practise, be quizzed or see example questions') and contrasts the tool's scope with the full bank and official questions. It lacks explicit 'when not to use' guidance for the sibling tools, but the usage context is unambiguous.

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

get_track_infoA
Read-onlyIdempotent
Inspect

The default tool for "how does the citizenship test work in ?". Returns the test name, format, number of questions, duration and pass mark where officially published (some are not, and those fields say so), status, a short explanation, the six study levels, FAQ, the official source and the Civica guide URL. It already includes the official source link, so call get_official_sources only if that link is all you need. Errors with the list of valid countries if the country is unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry name or id, e.g. "UK", "United Kingdom", "de", "Germany". Use list_tracks for valid values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesTrack id, usable as the country argument.
faqNo
testYesName of the test or exam.
aboutNo
factsYesKey facts such as format, duration and pass mark.
levelsNo
statusYesin_force, or preview_not_in_force when announced but not yet live.
countryYes
summaryNo
guideUrlYesCivica study guide page for this country.
disclaimerYesIndependent-app notice; always show it with the facts.
officialSourceYesThe official government source to verify against.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered by structured data. The description still adds real behavioral value: it warns that some fields are not officially published and will self-report that, and it documents the error shape (list of valid countries) for an unknown country. It does not add rate limits or latency notes, so not a 5.

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?

Front-loaded with the primary use case, then the payload, then the alternative-tool rule, then the failure mode — a logical order with no filler. It is a dense single block, and the enumerated field list is long, which slightly dilutes scannability.

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?

Since an output schema exists, the detailed return-value enumeration is partly redundant, but the description still supplies what the schema cannot: the 'some fields are unpublished and say so' caveat, the sibling-tool routing rule, and the invalid-country error contract. Complete for an agent to call it correctly, with only minor redundancy.

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%: the country parameter already documents accepted forms (name or id, e.g. 'UK', 'de', 'Germany') and points to list_tracks for valid values. The description adds only the reactive error behavior for an invalid country, so the baseline 3 applies.

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?

States a specific verb (returns) and resource (citizenship test info per country) and enumerates the exact payload fields (test name, format, question count, duration, pass mark, study levels, FAQ, sources). It also distinguishes itself from the sibling get_official_sources by noting it already embeds the official link.

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

Usage Guidelines5/5

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

Opens by naming the exact user question this tool is the default for ('how does the citizenship test work in <country>?'), states the error condition (unknown country returns the valid list), and explicitly routes the agent to get_official_sources only when the link alone is sufficient. Both when-to-use and when-not-to-use are covered.

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

how_to_startA
Read-onlyIdempotent
Inspect

Returns the link a learner can open to start studying for one country: the Civica guide page and a direct start link that opens the free course (no account needed), plus the notice that Civica is operated at citizenleap.com. Use it when the user is ready to begin studying on Civica. It does not return test facts or official sources; use get_track_info or get_official_sources for those.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry name or id, e.g. "UK", "United Kingdom", "de", "Germany". Use list_tracks for valid values.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
statusYes
countryYes
guideUrlYes
operatorNoStates the domain Civica is operated at, so the links can be trusted.
startUrlYesOpens the free course for this country.
disclaimerYesIndependent-app notice; always show it with the facts.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive (openWorldHint=false), so the safety profile is covered. The description still adds meaningful behavior beyond that: no account is needed, and the accompanying notice that Civica is operated at citizenleap.com. It stops short of describing link freshness or failure behavior when a country has no track, which keeps it from a 5.

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?

Front-loaded with what is returned, then usage, then exclusions – a sensible order with no filler. Slightly dense and the citizenleap.com notice is an extra clause, but every sentence still carries routing or constraint value.

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?

An output schema exists, so return-value detail is unnecessary, and annotations cover the safety profile. With the single parameter fully documented in the schema and alternatives explicitly named, nothing an agent needs to call this correctly 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?

Only one parameter exists and schema coverage is 100% – the schema already documents 'country' with examples and points to list_tracks. The description adds nothing about the parameter itself, so the baseline 3 for high-coverage schemas applies.

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?

States a specific verb and resource: returns the start link (Civica guide page plus free-course start link) for one country. It also names the sibling tools it is not (get_track_info, get_official_sources), so the agent can distinguish it without opening other schemas.

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

Usage Guidelines5/5

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

Gives an explicit trigger condition ('when the user is ready to begin studying on Civica') and explicit exclusions ('does not return test facts or official sources; use get_track_info or get_official_sources for those'), routing the agent to the correct alternative.

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

list_tracksA
Read-onlyIdempotent
Inspect

List every country Civica covers (currently 8), each with its test name, status (in_force, or preview_not_in_force for tests that are announced but not yet live), key facts and official source. Use this first when the country is not yet known or you need to check whether a country is supported. Takes no arguments. For depth on one country use get_track_info instead.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
tracksYes
disclaimerYesIndependent-app notice; always show it with the facts.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description still adds real behavioral value beyond them: the exact count (8), the meaning of the status values including the preview_not_in_force case, and that no arguments are taken. It does not discuss pagination or caching, which is a minor remaining gap for a fixed small list.

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 sentences with no filler: content and scope first, then the decision rule, then the routing alternative. Every sentence earns its place and nothing needs to be re-read.

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?

Output schema exists, so return structure need not be explained. Combined with annotations covering the safety profile, the description supplies everything an agent needs: what it returns, the status vocabulary, when to pick it, and where to go for depth.

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?

Zero parameters, so the baseline is 4. The description reinforces this with 'Takes no arguments,' matching the empty schema and additionalProperties=false, leaving no ambiguity about invocation.

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?

States a specific verb and resource ('List every country Civica covers') and quantifies scope ('currently 8'), then enumerates what each entry contains. The closing sentence explicitly distinguishes it from get_track_info, so an agent can separate the two siblings without opening either schema.

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

Usage Guidelines5/5

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

Explicitly names the triggering condition ('Use this first when the country is not yet known or you need to check whether a country is supported') and names the alternative with its own condition ('For depth on one country use get_track_info instead'). This is a clean when/when-not/alternative triad.

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 observedget_official_sources
    • First observedget_sample_questions
    • First observedget_track_info
    • First observedhow_to_start
    • First observedlist_tracks

Publisher details

Operator
Individual
Operator website
Not available
Vendor relationship
Not applicable
Trust center
Not available
Restrictions
Not available

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Check visa requirements for 39,585 passport-destination pairs in 15 languages. Returns visa type, required documents, application process, and travel tips from 136 official government sources. Free quick checks without API key.
    5
    86 npm
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Source-backed government processing times with current values, history, comparisons, and provenance.
    4
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides tools to retrieve and compare detailed information about countries, including population, region, and currency data. It allows users to search for specific countries or list them by region.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources