Skip to main content
Glama

AP Score Distributions MCP

Official College Board AP score distributions for AI assistants: the May 2026, 2025 and 2024 results for every AP exam, with percentiles, pass rate rankings and practice exam score estimates.

Hosted MCP URL (no sign-in, no token): https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp

AP score calculators on the web: examscorecalc.com

Tools

Tool

What it does

get_ap_score_distribution

Percent of students scoring 5, 4, 3, 2 and 1, and 3 or higher, for an exam and year. Counts, mean and standard deviation for 2024 and 2025. History across all three years.

estimate_ap_percentile

Percent of test takers below, at and above a score, and the midpoint percentile rank.

compare_ap_exams

Ranks exams by pass rate (3 or higher), share of 5s, mean score or test takers, for a list of exams or all 40.

list_ap_exams

Exams and years with data, the source of each year, and which exams have a composite estimator.

estimate_ap_score_from_composite

Weighted composite and estimated AP score from multiple-choice and free-response points, using the scoring worksheet College Board printed in its practice exams. Only 7 exams.

Every result has structured JSON, a one-paragraph summary, an as_of date, a source URL on collegeboard.org and a more link to the matching examscorecalc.com page.

Related MCP server: Anteater MCP

What it knows that your model does not

  • The May 2026 results. College Board posted the 2026 AP Score Distributions after the 2026 exams, which is newer than most model training data. For example, 46% of AP Calculus BC students scored a 5 in 2026, and AP Biology's pass rate was 71%.

  • Exact 2024 and 2025 counts. 287,232 students took AP Biology in May 2025 and 70.4% scored 3 or higher, with a mean of 3.24. All 49 rows per year (40 exams, 3 subscores, 6 Standard Group language rows) pass a check that counts add to the printed total and 5 + 4 + 3 equals the printed 3 or higher count.

  • Which cut charts exist. College Board does not publish cut scores for live exams. The estimator uses only the 7 conversion charts College Board printed in its practice exams (Calculus AB 2012, Biology 2013, Statistics 2012, World History 2013, Psychology 2012, Macroeconomics 2012, Microeconomics 2012) and refuses every other exam rather than invent a cut.

Install

Claude.ai custom connector, ChatGPT developer mode

Paste this URL as a custom connector. No token or sign-in.

https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp

Claude Code

claude mcp add --transport http ap-scores https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp

Or run it locally over stdio:

claude mcp add ap-scores -- npx -y github:theluckystrike/ap-score-distributions-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ap-scores": {
      "command": "npx",
      "args": ["-y", "github:theluckystrike/ap-score-distributions-mcp"]
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ap-scores": { "url": "https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp" }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "ap-scores": { "type": "http", "url": "https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp" }
  }
}

Test with curl

curl -s -X POST https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_ap_score_distribution","arguments":{"exam":"APUSH","year":2026}}}'

Example prompts

  • "What percent of students got a 5 on AP Calculus BC in 2026?"

  • "I got a 4 on AP Biology. What percentile is that?"

  • "Which AP exams had the lowest pass rates in 2026?"

  • "Compare the pass rates of Calc AB, Calc BC, Statistics and Precalculus."

  • "On the 2012 Calculus AB practice exam I got 30 multiple choice right and 5 points on each free response. What score is that?"

How it works

  • Exam names accept common short forms: APUSH, Lang, Lit, Calc AB, Calc BC, Stats, Psych, APES, HUG, Euro, Gov, CSA, CSP, Physics 1, Physics C E&M and others.

  • Percentiles use exact counts for 2024 and 2025. For 2026 they use the whole-number percents College Board posted, so they can be off by about 1 point.

  • The composite estimator multiplies each section by the worksheet weights, adds them without rounding the parts, rounds the composite to a whole number and reads the band from that practice exam's conversion chart, as the worksheet instructs.

15 test fixtures check values transcribed from the College Board files and arithmetic worked by hand. The expected values come from scripts/expected.py, not from the server code.

Data sources

See DATA_SOURCES.md for every URL, its HTTP status, sha256 and fetch date (2026-11-02).

Limitations

  • 2026 has percents only. College Board has not published 2026 student counts, means or standard deviations, so mean and test_takers ranking work for 2024 and 2025 only. The 2026 page says it is updated on a rolling basis.

  • 2026 covers the 40 Total Group exams. Subscores and Standard Group rows are in 2024 and 2025 only.

  • The composite charts belong to the 2012 and 2013 practice exam formats. Current exam formats may differ (not checked against the current Course and Exam Descriptions), and cut points move every year. Treat any estimate as a rough guide and check the current Course and Exam Description.

  • A pass rate reflects who takes an exam, not only how hard it is.

  • Not affiliated with College Board. AP is a registered trademark of College Board.

Development

npm install
npm run build
npm test
npx wrangler deploy

src/core.ts holds the pure logic and src/data.ts the generated table from data/ap.json. src/stdio.ts and src/worker.ts are thin entries over the same tool registry in src/tools.ts.

License

MIT

Part of the Zovo MCP collection: https://mcp.zovo.one

More data servers from the same author

Each one is free, needs no API key and has a hosted URL you can paste into Claude or ChatGPT.

server

tools

hosted URL

cups-to-grams-mcp

convert_ingredient, search_ingredients, scale_recipe, convert_oven_temperature

https://cups-to-grams-mcp.lipmichal.workers.dev/mcp

dscr-loan-calculator-mcp

calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summary

https://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp

gold-price-per-gram-mcp

get_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_units

https://gold-price-per-gram-mcp.lipmichal.workers.dev/mcp

lake-level-mcp

search_lakes, get_lake_level, get_lake_history, compare_lakes

https://lake-level-mcp.lipmichal.workers.dev/mcp

minimum-wage-mcp

get_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wage

https://minimum-wage-mcp.lipmichal.workers.dev/mcp

no-tax-on-overtime-mcp

calculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibility

https://no-tax-on-overtime-mcp.lipmichal.workers.dev/mcp

paycheck-calculator-mcp

calculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_brackets

https://paycheck-calculator-mcp.lipmichal.workers.dev/mcp

uk-income-tax-salary-mcp

calculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_income

https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp

us-federal-holidays-business-days-mcp

list_federal_holidays, is_business_day, add_business_days, count_business_days, invoice_due_date

https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp

ab-test-sample-size-calculator-mcp

calculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_risk

https://ab-test-sample-size-calculator-mcp.lipmichal.workers.dev/mcp

aca-premium-tax-credit-calculator-mcp

get_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_cap

https://aca-premium-tax-credit-calculator-mcp.lipmichal.workers.dev/mcp

car-loan-interest-deduction-calculator-mcp

calculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credit

https://car-loan-interest-deduction-calculator-mcp.lipmichal.workers.dev/mcp

estate-gift-tax-exemption-calculator-mcp

get_exemption_amounts, calculate_estate_tax, check_gift, compare_years

https://estate-gift-tax-exemption-calculator-mcp.lipmichal.workers.dev/mcp

recipe-nutrition-calculator-mcp

lookup_ingredient_nutrition, calculate_recipe_nutrition, round_nutrition_label, scale_recipe_nutrition

https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp

retirement-contribution-limits-2027-mcp

get_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_years

https://retirement-contribution-limits-2027-mcp.lipmichal.workers.dev/mcp

section-179-deduction-calculator-mcp

calculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_payment

https://section-179-deduction-calculator-mcp.lipmichal.workers.dev/mcp

student-loan-repayment-assistance-plan-calculator-mcp

calculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dates

https://student-loan-repayment-assistance-plan-calculator-mcp.lipmichal.workers.dev/mcp

subdomain-finder-mcp

find_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surface

https://subdomain-finder-mcp.lipmichal.workers.dev/mcp

uk-statutory-sick-pay-maternity-pay-calculator-mcp

calculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibility

https://uk-statutory-sick-pay-maternity-pay-calculator-mcp.lipmichal.workers.dev/mcp

The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one

Available Tools

5 tools
compare_ap_examsCompare AP exams by pass rate or share of 5sA
Read-onlyIdempotent
Inspect

Ranks AP exams for one year by pass rate (share scoring 3 or higher), share of 5s, mean score or number of test takers (mean and test takers for 2024 and 2025 only), using the official College Board distributions. Give a list of exams to compare a few, or leave it empty to rank all of them.

NameRequiredDescriptionDefault
yearNoExam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release.
examsNoExams to compare, e.g. ["Calc AB", "Calc BC", "Statistics"]. Empty means all exams.
limitNoMaximum rows. Default 50.
orderNodesc = highest first (default), asc = lowest first.
sort_byNoRanking key. Default pass_rate (3 or higher).

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, so the bar is lower; the description still adds real context by naming the data source (official College Board distributions) and flagging that two of the four ranking metrics are only available for 2024 and 2025. It stops short of saying what happens if mean/test_takers is requested for 2026 or what the returned rows contain.

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?

Two sentences, front-loaded with the ranking operation and its metrics, then the invocation rule. The dense parenthetical about metric availability is slightly awkward and would read better as its own clause, but there is no filler.

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?

For a 5-param, all-optional ranking tool with no output schema, the description covers metrics, data source, defaults implied by schema, and the exam-list-vs-all behavior. Minor gaps remain: the row shape returned and handling of unrecognized exam names are unstated.

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 the baseline is 3, but the description adds meaning the schema lacks: it defines pass_rate as 'share scoring 3 or higher', explains the exams list purpose, and discloses the 2024/2025-only restriction on mean and test_takers, which is absent from the sort_by enum description.

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 (ranks) and resource (AP exams for one year) plus the exact ranking keys: pass rate, share of 5s, mean score, test takers. This is clearly a cross-exam ranking operation, distinguishable from siblings like get_ap_score_distribution (single exam distribution) and list_ap_exams (enumeration only).

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?

"Give a list of exams to compare a few, or leave it empty to rank all of them" gives explicit invocation guidance for the main parameter, plus a data-availability caveat (mean and test takers only for 2024/2025). It does not, however, name when to prefer a sibling tool such as get_ap_score_distribution for a single exam.

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

estimate_ap_percentileEstimate the percentile of an AP scoreA
Read-onlyIdempotent
Inspect

For an AP exam, year and score from 1 to 5, returns the percent of test takers who scored lower, the same and higher, and the midpoint percentile rank, from the official College Board distribution. Uses exact counts for 2024 and 2025 and the published whole percents for 2026.

NameRequiredDescriptionDefault
examYesAP exam name or common short name, e.g. "AP Biology", "APUSH", "Calc BC", "Lang", "Physics 1", "APES".
yearNoExam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release.
scoreYesAP score, 1 to 5.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, closed-world), so the description's added value is the provenance and precision disclosure: exact counts for 2024/2025 but whole published percents for 2026, which tells the agent the 2026 figures are coarser. That is genuine behavioral context a caller needs in order to interpret results correctly.

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, no filler: the first gives inputs and outputs, the second gives year-specific data provenance. Front-loaded with the resource and return values, so the agent gets the essentials first.

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?

There is no output schema, and the description compensates by enumerating the returned fields and their meaning. Combined with annotations, an agent has what it needs; only failure behavior for an unrecognized exam name is left unaddressed.

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%, so the field descriptions already document exam aliases, the year range with its default of 2026, and the 1-5 score bound. The description mostly restates those bounds ('score from 1 to 5') rather than adding new syntax or edge-case meaning, so the baseline 3 applies.

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?

States a specific verb (estimate) plus the resource (percentile of an AP score) and enumerates exactly what comes back: percent lower/same/higher and midpoint percentile rank. It is clear enough to separate from list_ap_exams and compare_ap_exams, though it never explicitly contrasts itself with the closest sibling, get_ap_score_distribution.

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

Usage Guidelines3/5

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

The framing 'For an AP exam, year and score from 1 to 5' implies the usage context, and the year note signals which years are valid. But there is no explicit when-to-use guidance and no naming of the alternative (get_ap_score_distribution) for callers who want raw counts rather than rankings.

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

estimate_ap_score_from_compositeEstimate an AP score from practice exam raw pointsA
Read-onlyIdempotent
Inspect

Converts multiple-choice correct answers and free-response points into a weighted composite and an estimated AP score, using the scoring worksheet and conversion chart College Board printed in its official practice exams. Only for the 7 exams with such a worksheet: AP Calculus AB (2012), AP Biology (2013), AP Statistics (2012), AP World History (2013), AP Psychology (2012), AP Macroeconomics (2012), AP Microeconomics (2012). Cut scores are never invented; other exams return an error.

NameRequiredDescriptionDefault
examYesAP exam name or common short name, e.g. "AP Biology", "APUSH", "Calc BC", "Lang", "Physics 1", "APES".
free_response_pointsYesPoints earned on each free-response question, in order. The error message lists how many questions and the maximum for each.
multiple_choice_correctYesNumber of multiple-choice questions answered correctly.

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/closed-world, so safety is covered. The description adds real behavioral context beyond them: the data provenance (College Board's printed scoring worksheet and conversion chart), the guarantee that cut scores are never invented, and the error behavior for unsupported exams. It only omits how the error/edge cases look beyond the one mention.

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, front-loaded with the action, then the supported-exam whitelist, then the anti-hallucination guarantee. The exam list is long but each item is load-bearing for correct invocation.

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 no output schema, the description does describe the return values (a weighted composite and an estimated AP score), which is the key gap it needed to fill. Given only 3 parameters and closed-world reads, this is nearly complete, though it could say more about the shape of the returned composite.

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 a baseline of 3 is warranted, but the description adds meaning by explaining that MC and FR inputs are combined into a weighted composite, clarifying what the free-response array is for. It does not clarify per-exam input ranges beyond what the schema already documents.

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 transformation: multiple-choice correct answers and free-response points become a weighted composite and an estimated AP score. This is clearly distinct from the sibling tools (compare_ap_exams, estimate_ap_percentile, get_ap_score_distribution, list_ap_exams), none of which compute a score from raw responses.

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 an unusually explicit when-not clause: only the 7 listed exams are supported and 'other exams return an error', with each supported exam and year enumerated. The missing piece is a pointer to a sibling (e.g. list_ap_exams) as the way to discover supported exams, so it stops just short of naming alternatives.

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

get_ap_score_distributionGet the official AP score distribution for an examA
Read-onlyIdempotent
Inspect

Returns the College Board score distribution (percent of students scoring 5, 4, 3, 2, 1 and 3 or higher) for an AP exam and year, plus student counts, mean and standard deviation where College Board published them (2024 and 2025 PDFs). Includes the May 2026 results from the College Board 2026 AP Score Distributions page, which are newer than most model training data. Shows the 2024/2025/2026 history for the exam.

NameRequiredDescriptionDefault
examYesAP exam name or common short name, e.g. "AP Biology", "APUSH", "Calc BC", "Lang", "Physics 1", "APES".
yearNoExam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release.

TDQS

A3.7/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, closed-world), so the description's real contribution is data provenance and coverage limits: sourced from College Board 2024/2025 PDFs and the 2026 distributions page, with mean/SD only 'where College Board published them'. That gap disclosure is useful behavior an agent cannot get from annotations. Return format details remain implicit.

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 core return statement, then coverage notes. Three sentences, mostly earning their place; the 'newer than most model training data' clause is slightly promotional but conveys a real freshness caveat.

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 no output schema, the description does the work of describing the payload (percentages, student counts, mean, SD) and the year coverage, which is adequate for a simple two-parameter read tool. It stops short of stating what happens for exams/years with no published data, which is the one gap an agent might hit.

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 the short-name examples for 'exam' and the 2024/2025/2026 availability plus default of 2026 for 'year'. The description adds little parameter-level meaning beyond restating that both inputs exist, so the baseline 3 applies.

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?

States a specific verb and resource: 'Returns the College Board score distribution ... for an AP exam and year', and enumerates what is included (5/4/3/2/1 percentages, 3-or-higher, counts, mean, SD). It is clearly a single-exam retrieval tool, but it never names or contrasts the siblings (compare_ap_exams, estimate_ap_percentile), so differentiation must be inferred.

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

Usage Guidelines3/5

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

Usage is only implied: the note that 2026 results are 'newer than most model training data' hints that this is the tool for current-year figures, and the year range is stated. There is no explicit when-to-use/when-not guidance and no pointer to the sibling tools for percentile estimation or exam comparison.

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

list_ap_examsList AP exams and years with dataA
Read-onlyIdempotent
Inspect

Lists every AP exam with College Board score distributions in this server, the years available for each, the source of each year, and which exams have a College Board scoring worksheet for composite score estimates.

NameRequiredDescriptionDefault
yearNoExam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is fully covered. The description adds genuine value by disclosing data provenance (source of each year) and the presence of composite-score worksheets, but says nothing about result size, ordering, or how the year parameter scopes the listing.

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?

A single sentence with the main idea ('Lists every AP exam') front-loaded, followed by the fields it reports. Every clause carries information, though the trailing enumeration is dense enough that it reads as a run-on list of attributes.

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 no output schema, the description usefully spells out the returned fields (exams, years, per-year source, worksheet availability), which is the right compensation. The remaining gap is the interaction between the optional `year` filter and the 'years available for each' content, which an agent must guess.

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 lone `year` parameter is thoroughly documented there, including the allowed 2024-2026 range and the 2026 default. The description contributes nothing about the parameter and does not clarify whether passing a year narrows the list or the listing always enumerates every available year.

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 uses a specific verb ('Lists') and a precisely scoped resource ('every AP exam with College Board score distributions in this server'), and even enumerates what each entry contains — years, per-year source, and worksheet availability. This reads clearly as a catalog/discovery tool, but it never names a sibling to contrast with, e.g. that per-exam detail lives in get_ap_score_distribution.

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

Usage Guidelines3/5

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

Usage is only implied: by describing a complete enumeration of exams and years, an agent can infer this is the discovery step before calling get_ap_score_distribution or estimate_ap_score_from_composite. There is no explicit 'use this when you need to know which exams/years exist' or any exclusion pointing at the estimation or comparison siblings.

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 updatesv1.0.0
    • First observedcompare_ap_exams
    • First observedestimate_ap_percentile
    • First observedestimate_ap_score_from_composite
    • First observedget_ap_score_distribution
    • First observedlist_ap_exams

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a clearly stated, distinct purpose: listing exams, fetching a raw distribution, computing a percentile rank, comparing exams, and converting a composite score. The only mild overlap is between estimate_ap_percentile and get_ap_score_distribution, since percentile information is derivable from the distribution, but the descriptions make the boundary (tail percentages vs. full percent-by-score breakdown) explicit.

Naming Consistency5/5

All five tools are snake_case with a consistent verb_noun shape (list_ap_exams, get_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, estimate_ap_score_from_composite). The 'ap' domain prefix and verb-first ordering are uniform, so the pattern is immediately predictable.

Tool Count5/5

Five tools is well-scoped for a narrow data-lookup domain: discovery, retrieval, analysis, comparison, and one specialized estimator. Nothing appears redundant or speculative, and each tool maps to a distinct user question.

Completeness4/5

The surface covers the full workflow for this domain: exam/year discovery, raw distributions, percentile estimation, cross-exam ranking, and composite-to-score conversion. Minor gaps remain, such as no bulk percentile lookup across all scores or explicit multi-year trend/aggregation tooling beyond the history embedded in get_ap_score_distribution, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables natural language queries about grades, GPA, attendance, and schedules by connecting Claude to StudentVue school dashboards. Includes analytical tools for grade simulation, what-if scenarios, and academic performance tracking based on live school data.
    19
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables Claude and ChatGPT to help users pick UC Irvine classes by searching live course sections, comparing grade distributions by instructor, checking prerequisites and AP credit, and detecting schedule conflicts, all through tools, guided prompts, and reference resources.
    16
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to query French middle and high school exam results, always paired with social intake and value-added context, including tools to search, compare, and explore schools by area or similarity.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables students to ask by voice whether a specific topic is examinable on their exam — the digital SAT and PSAT, ACT, 24 AP courses, Alberta Diploma, and Singapore-Cambridge A-Level — returning the official syllabus's own wording, objective codes, and quoted exclusions rather than a guess. It also remembers which exams a student is taking and when, quizzes them on objectives, and reports weakest topics and days remaining for revision.
    MIT