AP Score Distributions MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AP Score Distributions MCPWhat percent got a 5 on AP Calculus BC in 2026?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| 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. |
| Percent of test takers below, at and above a score, and the midpoint percentile rank. |
| Ranks exams by pass rate (3 or higher), share of 5s, mean score or test takers, for a list of exams or all 40. |
| Exams and years with data, the source of each year, and which exams have a composite estimator. |
| 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/mcpClaude Code
claude mcp add --transport http ap-scores https://ap-score-distributions-mcp.lipmichal.workers.dev/mcpOr run it locally over stdio:
claude mcp add ap-scores -- npx -y github:theluckystrike/ap-score-distributions-mcpClaude 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).
2026: https://apstudents.collegeboard.org/about-ap-scores/score-distributions
2025: https://apcentral.collegeboard.org/media/pdf/ap-score-distributions-by-subject-2025.pdf
2024: https://apcentral.collegeboard.org/media/pdf/ap-score-distributions-by-subject-2024.pdf
Scoring worksheets: College Board practice exams under https://secure-media.collegeboard.org/digitalServices/pdf/ap/
Limitations
2026 has percents only. College Board has not published 2026 student counts, means or standard deviations, so
meanandtest_takersranking 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 deploysrc/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 |
convert_ingredient, search_ingredients, scale_recipe, convert_oven_temperature |
| |
calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summary |
| |
get_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_units |
| |
search_lakes, get_lake_level, get_lake_history, compare_lakes |
| |
get_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wage |
| |
calculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibility |
| |
calculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_brackets |
| |
calculate_uk_take_home, get_uk_tax_bands, compare_salaries, marginal_rate_at_income |
| |
list_federal_holidays, is_business_day, add_business_days, count_business_days, invoice_due_date |
| |
calculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_risk |
| |
get_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_cap |
| |
calculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credit |
| |
get_exemption_amounts, calculate_estate_tax, check_gift, compare_years |
| |
lookup_ingredient_nutrition, calculate_recipe_nutrition, round_nutrition_label, scale_recipe_nutrition |
| |
get_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_years |
| |
calculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_payment |
| |
calculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dates |
| |
find_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surface |
| |
calculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibility |
|
The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one
Available Tools
5 toolscompare_ap_examsCompare AP exams by pass rate or share of 5sARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Exam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release. | |
| exams | No | Exams to compare, e.g. ["Calc AB", "Calc BC", "Statistics"]. Empty means all exams. | |
| limit | No | Maximum rows. Default 50. | |
| order | No | desc = highest first (default), asc = lowest first. | |
| sort_by | No | Ranking key. Default pass_rate (3 or higher). |
TDQS
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.
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.
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.
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.
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.
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 scoreARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| exam | Yes | AP exam name or common short name, e.g. "AP Biology", "APUSH", "Calc BC", "Lang", "Physics 1", "APES". | |
| year | No | Exam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release. | |
| score | Yes | AP score, 1 to 5. |
TDQS
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.
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.
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.
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.
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.
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 pointsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| exam | Yes | AP exam name or common short name, e.g. "AP Biology", "APUSH", "Calc BC", "Lang", "Physics 1", "APES". | |
| free_response_points | Yes | Points earned on each free-response question, in order. The error message lists how many questions and the maximum for each. | |
| multiple_choice_correct | Yes | Number of multiple-choice questions answered correctly. |
TDQS
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.
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.
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.
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.
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.
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 examARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| exam | Yes | AP exam name or common short name, e.g. "AP Biology", "APUSH", "Calc BC", "Lang", "Physics 1", "APES". | |
| year | No | Exam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release. |
TDQS
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.
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.
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.
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.
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.
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 dataARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Exam year (May administration). Available: 2024, 2025, 2026. Default 2026, the latest College Board release. |
TDQS
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.
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.
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.
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.
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.
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.
5 tool updates
v1.0.0- First observed
compare_ap_exams - First observed
estimate_ap_percentile - First observed
estimate_ap_score_from_composite - First observed
get_ap_score_distribution - First observed
list_ap_exams
TDQS
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
AP study content, practice, FRQ feedback, progress, plans, and student tools for AI apps.
SAT score percentiles and class of 2026 SAT averages and participation by state (College Board).
AP rubric grading, assignment drafts, question-bank materials, and class insights for teachers.
California school data for AI agents — scores, comparisons, feeder paths, TK ages, applications.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables 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-
- AlicenseAqualityBmaintenanceEnables 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.16AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseNot gradedqualityBmaintenanceEnables 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