Ace Achievers MCP Server
This MCP server provides tools to search and retrieve information from the Ace Achievers course catalog and question bank, enabling MCP-compatible AI clients to answer queries about courses, practice questions, and pricing.
Search Courses – Filter the 26-course catalog by subject (
maths,science,computer-science), year level (5–12), and course type (e.g.foundation,advanced,mock,bundle,acceleration).Get Course Details – Retrieve full details for a specific course by ID, including structure, target band, and free-tier info.
Search Questions – Search the practice question bank by topic (e.g.
geometry,algebra,number-theory) and/or difficulty (easy,medium,hard); returns question stems only, never solutions.Get Question with Tiered Hints – Fetch a specific question with controlled hint reveal: level 0 (question only), level 1 (nudge), level 2 (approach), level 3 (full solution), enforcing pedagogical guardrails server-side.
Get Question Bank Statistics – Overview of the question corpus with counts by subject, difficulty, and topic.
Get Pricing Info – Returns a redirect to the live pricing source rather than stored prices, ensuring up-to-date information.
The server can use a bundled sample question set or be configured to load larger private question banks via environment variables, and integrates with MCP-capable clients like Claude Desktop.
Click on "Install 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., "@Ace Achievers MCP ServerFind a hard geometry question and give me a nudge hint"
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.
Ace Achievers MCP Server
An MCP (Model Context Protocol) server exposing the Ace Achievers course catalog and question-bank tools to any MCP client — Claude Desktop, Claude Code, or your own agent.
What this is
MCP is the open standard that lets an LLM agent call typed tools over a common wire protocol (JSON-RPC over stdio or HTTP) — write the server once, and any MCP-capable client can use it. This server packages the product-data tools I built for an Australian K-12 competition-learning platform, so an agent can answer "which course fits a Year 7 student new to competition maths?" against live catalog data instead of guessing.
Related MCP server: University Course Catalog MCP Server
Tools
Tool | What it does |
| Filter the 26-course catalog (maths / science / computer-science, Years 5–12) |
| One course in full — structure, target band, free-tier info |
| Search the question bank — returns stems only, never spoilers |
| Tiered reveal: 0 = question, 1 = nudge, 2 = approach, 3 = full solution |
| Corpus overview — data source and counts by subject / difficulty / topic |
| The redirect-volatile pricing contract (see design notes) |
Quick start
git clone https://github.com/Star4future/aceachievers-mcp-server
cd aceachievers-mcp-server
pip install -e ".[dev]"
pytest # 16 tests
aceachievers-mcp # runs the stdio serverClaude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"aceachievers": {
"command": "aceachievers-mcp"
}
}
}Then ask Claude: "Find a hard geometry question and give me a nudge, not the answer."
TypeScript client
The server is Python; the product that would consume it is TypeScript. So the
repo also ships a typed, zod-validated TS/Node client
(clients/ts/) built on the official
@modelcontextprotocol/sdk — the same six tools behind typed methods, every
result validated at runtime (not cast):
cd clients/ts
npm install
npm run test:unit # 5 hermetic tests — green with NO Python installed
npm test # + 4 integration tests against the real server
npm run demo # call every tool through the typed client
npm run report # catalogue contract check (a real consumer, CI-gated)See clients/ts/README.md for the design notes.
Design notes
Redirect-volatile pricing. Prices and enrolment windows change on the live site, so this
server refuses to store them: get_pricing_info returns the live source instead of numbers.
Stable facts (course structure, topics, question content) are served from the bundled snapshot.
This is the same volatile/stable knowledge split that let the platform's production chat
assistant absorb a 3× catalog expansion with zero pricing-logic rewrites — the bot can't go
stale on facts it never stored.
Tiered hint reveal. get_question mirrors the production RAG tutor's pedagogy: a student
who asks for a nudge must not receive the answer, so hints unlock level by level and the
listing view never includes solutions. The guardrail lives server-side — the client can't
accidentally spoil.
Sample data in the repo, real bank via env. The bundled question set is original material
written for this demo in the production bank's format; licensed past-paper content is not
redistributed here. The production deployment points these same tools at the private store
(2,500+ taxonomically classified problems, extracted from PDFs via a Vision-API pipeline) —
implemented via environment variables, with records from both production schemas (AMC maths
and science-olympiad) normalised onto one shape (private_bank.py):
# option 1 — explicit files, ";"-separated
QBANK_PATHS="D:\private\amc_junior.json;D:\private\jso_master.json"
# option 2 — a directory of *.json bank files
QBANK_DIR="D:\private\qbank"No env vars → the bundled sample serves; unknown ids and missing hints degrade gracefully.
Layout
src/aceachievers_mcp/
├── server.py # FastMCP server: 6 tools, pure logic separated for testing
├── private_bank.py # env-configured private bank loading + schema normalisation
└── data/
├── courses.json # 26-course catalog snapshot (no prices — by design)
└── sample_questions.json # 10 original questions with 3-tier hints
scripts/demo_client.py # stdio client that exercises all six tools end-to-end
tests/test_tools.py # 16 unit tests
clients/ts/ # typed, zod-validated TypeScript/Node client (9 tests + CI)License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceTurns any source material into a guided learning experience with learning maps, notes, four-phase study loop, spaced repetition flashcards, and grounded Q\&A.1MIT
- FlicenseNot gradedqualityCmaintenanceProvides intelligent access to a university course catalog with full-text search, prerequisite tracking, instructor lookups, and course comparison prompts.
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to read your Moodle courses, list materials, quizzes, and search content to plan exam preparation through natural language.1
- AlicenseNot gradedqualityBmaintenanceEnables AI-assisted learning through structured courses with Socratic guidance, evaluating user answers against rubrics and managing learning progress locally.Apache 2.0
Related MCP Connectors
The Academy curriculum as an offline MCP library. Hosted course connector adds progress.
20 MCP tools + 17 widgets for SAT/ISEE/SSAT/GRE/GMAT/LSAT prep. Flashcards, quizzes & games. Hosted.
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Star4future/aceachievers-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server