WASSCE and BECE aggregates, KCSE mean grades, JAMB minimums and NSC pass thresholds.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Use this when a pupil or parent in Ghana gives BECE grades and asks for the aggregate used to place them in a senior high school. It adds the four core subjects and the two strongest other subjects, as the school placement guidelines (CSSPS) state. Do not use it to say which school a pupil will get, for WASSCE grades, or to answer exam questions.
BECE grade in English Language, 1 (highest) to 9.
BECE grade in Mathematics.
The grades in the other subjects, for example "2, 3, 1, 4". At least two.
BECE grade in Social Studies.
BECE grade in Integrated Science.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http exam-grades https://kwekuanansi.ai/mcp/exam-grades
Use this when a pupil or parent in Ghana gives BECE grades and asks for the aggregate used to place them in a senior high school. It adds the four core subjects and the two strongest other subjects, as the school placement guidelines (CSSPS) state. Do not use it to say which school a pupil will get, for WASSCE grades, or to answer exam questions.
| Argument | Type | Description |
|---|---|---|
| english* | integer | BECE grade in English Language, 1 (highest) to 9. |
| mathematics* | integer | BECE grade in Mathematics. |
| other_subjects* | string | The grades in the other subjects, for example "2, 3, 1, 4". At least two. |
| social_studies* | integer | BECE grade in Social Studies. |
| integrated_science* | integer | BECE grade in Integrated Science. |
{
"type": "object",
"required": [
"english",
"mathematics",
"integrated_science",
"social_studies",
"other_subjects"
],
"properties": {
"english": {
"type": "integer",
"maximum": 9,
"minimum": 1,
"description": "BECE grade in English Language, 1 (highest) to 9."
},
"mathematics": {
"type": "integer",
"maximum": 9,
"minimum": 1,
"description": "BECE grade in Mathematics."
},
"other_subjects": {
"type": "string",
"maxLength": 200,
"description": "The grades in the other subjects, for example \"2, 3, 1, 4\". At least two."
},
"social_studies": {
"type": "integer",
"maximum": 9,
"minimum": 1,
"description": "BECE grade in Social Studies."
},
"integrated_science": {
"type": "integer",
"maximum": 9,
"minimum": 1,
"description": "BECE grade in Integrated Science."
}
},
"additionalProperties": false
}Use this when a student in Ghana gives their WASSCE grades and asks for their aggregate, or whether the grades meet a university's general entry requirement (for example "I have English B3, Core Maths C4, Science B2, Social A1 and electives B2, B3, C5: what is my aggregate?"). It counts the core subjects each route uses and the three strongest electives, and checks the credits and the aggregate of 24 that the University of Ghana and KNUST publish. Do not use it to predict a programme's cut-off, for grades from another examination, or to answer exam questions.
| Argument | Type | Description |
|---|---|---|
| english* | string | Grade in English Language. |
| electives* | string | The grades in elective subjects, with or without the subject names, for example "Physics B3, Chemistry C4, Biology B2, Elective Maths C6". At least three. |
| social_studies | string | Grade in Social Studies. Leave out if not known. |
| core_mathematics* | string | Grade in Core Mathematics. |
| integrated_science | string | Grade in Integrated Science. Leave out if not known. |
{
"type": "object",
"required": [
"english",
"core_mathematics",
"electives"
],
"properties": {
"english": {
"enum": [
"A1",
"B2",
"B3",
"C4",
"C5",
"C6",
"D7",
"E8",
"F9"
],
"type": "string",
"description": "Grade in English Language."
},
"electives": {
"type": "string",
"maxLength": 300,
"description": "The grades in elective subjects, with or without the subject names, for example \"Physics B3, Chemistry C4, Biology B2, Elective Maths C6\". At least three."
},
"social_studies": {
"enum": [
"A1",
"B2",
"B3",
"C4",
"C5",
"C6",
"D7",
"E8",
"F9"
],
"type": "string",
"description": "Grade in Social Studies. Leave out if not known."
},
"core_mathematics": {
"enum": [
"A1",
"B2",
"B3",
"C4",
"C5",
"C6",
"D7",
"E8",
"F9"
],
"type": "string",
"description": "Grade in Core Mathematics."
},
"integrated_science": {
"enum": [
"A1",
"B2",
"B3",
"C4",
"C5",
"C6",
"D7",
"E8",
"F9"
],
"type": "string",
"description": "Grade in Integrated Science. Leave out if not known."
}
},
"additionalProperties": false
}Use this when someone asks what a grade or level means, or for the whole grading scale, in WASSCE, Ghana's BECE, Kenya's KCSE or South Africa's NSC (for example "is C6 a credit?" or "what is level 4 in matric?"). Do not use it to work out an aggregate or mean grade: use the examination's own tool.
| Argument | Type | Description |
|---|---|---|
| exam* | string | The examination. |
| grade | string | One grade or level to explain, for example "C6", "B-" or "4". Leave out for the whole scale. |
{
"type": "object",
"required": [
"exam"
],
"properties": {
"exam": {
"enum": [
"wassce",
"bece",
"kcse",
"nsc"
],
"type": "string",
"description": "The examination."
},
"grade": {
"type": "string",
"maxLength": 10,
"description": "One grade or level to explain, for example \"C6\", \"B-\" or \"4\". Leave out for the whole scale."
}
},
"additionalProperties": false
}Use this when a student in Kenya gives their KCSE subject grades and asks for their mean grade, total points, or whether they reach the minimum for a degree, diploma or certificate through KUCCPS. It counts Mathematics, the better of English and Kiswahili, and the five strongest others, as KNEC's regulations state. Do not use it for a programme's cluster points or cut-off, for grades from another examination, or to answer exam questions.
| Argument | Type | Description |
|---|---|---|
| english* | string | Grade in English. |
| kiswahili* | string | Grade in Kiswahili (or Kenyan Sign Language). |
| mathematics* | string | Grade in Mathematics. |
| other_subjects* | string | The grades in the other subjects, separated by commas, for example "B+, A-, C+, B, C". At least four. |
{
"type": "object",
"required": [
"mathematics",
"english",
"kiswahili",
"other_subjects"
],
"properties": {
"english": {
"enum": [
"A",
"A-",
"B+",
"B",
"B-",
"C+",
"C",
"C-",
"D+",
"D",
"D-",
"E"
],
"type": "string",
"description": "Grade in English."
},
"kiswahili": {
"enum": [
"A",
"A-",
"B+",
"B",
"B-",
"C+",
"C",
"C-",
"D+",
"D",
"D-",
"E"
],
"type": "string",
"description": "Grade in Kiswahili (or Kenyan Sign Language)."
},
"mathematics": {
"enum": [
"A",
"A-",
"B+",
"B",
"B-",
"C+",
"C",
"C-",
"D+",
"D",
"D-",
"E"
],
"type": "string",
"description": "Grade in Mathematics."
},
"other_subjects": {
"type": "string",
"maxLength": 200,
"description": "The grades in the other subjects, separated by commas, for example \"B+, A-, C+, B, C\". At least four."
}
},
"additionalProperties": false
}Use this when a candidate in Nigeria gives a UTME score, O'level (WAEC or NECO) grades, or both, and asks whether they reach JAMB's national minimum for a university, polytechnic or college, or whether they have the O'level credits needed. Do not use it to give a university's or programme's own cut-off or post-UTME score, for another country's examinations, or to answer exam questions.
| Argument | Type | Description |
|---|---|---|
| english | string | O'level grade in English Language. Leave out if only a UTME score is being checked. |
| utme_score | integer | The UTME score. Leave out if only O'level grades are being checked. |
| institution | string | The kind of institution. Leave out for university. |
| mathematics | string | O'level grade in Mathematics. |
| other_grades | string | O'level grades in the other subjects, with or without names, for example "Biology B3, Chemistry C5, Physics C6". |
| admission_year | integer | The year of admission. Leave out for 2026. |
{
"type": "object",
"properties": {
"english": {
"enum": [
"A1",
"B2",
"B3",
"C4",
"C5",
"C6",
"D7",
"E8",
"F9"
],
"type": "string",
"description": "O'level grade in English Language. Leave out if only a UTME score is being checked."
},
"utme_score": {
"type": "integer",
"maximum": 400,
"minimum": 0,
"description": "The UTME score. Leave out if only O'level grades are being checked."
},
"institution": {
"enum": [
"university",
"college_of_nursing",
"polytechnic",
"monotechnic",
"college_of_agriculture",
"college_of_education",
"innovation_enterprise_institution"
],
"type": "string",
"description": "The kind of institution. Leave out for university."
},
"mathematics": {
"enum": [
"A1",
"B2",
"B3",
"C4",
"C5",
"C6",
"D7",
"E8",
"F9"
],
"type": "string",
"description": "O'level grade in Mathematics."
},
"other_grades": {
"type": "string",
"maxLength": 300,
"description": "O'level grades in the other subjects, with or without names, for example \"Biology B3, Chemistry C5, Physics C6\"."
},
"admission_year": {
"enum": [
2026,
2025
],
"type": "integer",
"description": "The year of admission. Leave out for 2026."
}
},
"additionalProperties": false
}Use this when a learner in South Africa gives their matric (NSC) percentages and asks what achievement levels they are, whether the marks meet the thresholds for a Bachelor's, Diploma or Higher Certificate pass, or for an APS. It checks the published mark thresholds; it cannot see the subject choices the full rules also depend on, and says so. Do not use it for IEB or another examination, for a university's own admission score other than the one it names, or to answer exam questions.
| Argument | Type | Description |
|---|---|---|
| home_language* | number | The percentage in the home language. |
| other_subjects* | string | The percentages in the other subjects, leaving out the home language and Life Orientation, for example "55, 62, 48, 71, 50". Usually five. |
| life_orientation | number | The percentage in Life Orientation, shown for its level only. Leave out if not known. |
| language_of_teaching | number | The percentage in the language a university teaches in (English or Afrikaans) when that is not the home language. Leave out when it is the home language. |
{
"type": "object",
"required": [
"home_language",
"other_subjects"
],
"properties": {
"home_language": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "The percentage in the home language."
},
"other_subjects": {
"type": "string",
"maxLength": 200,
"description": "The percentages in the other subjects, leaving out the home language and Life Orientation, for example \"55, 62, 48, 71, 50\". Usually five."
},
"life_orientation": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "The percentage in Life Orientation, shown for its level only. Leave out if not known."
},
"language_of_teaching": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "The percentage in the language a university teaches in (English or Afrikaans) when that is not the home language. Leave out when it is the home language."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 10, 2026.