Connectry Architect Cert
OfficialA free, open-source MCP server that turns Claude into an adaptive certification tutor for the Claude Certified Architect — Foundations exam.
Study & Practice
Diagnostic Assessment: Complete a 15-question diagnostic (3 per domain) with a lessons-first flow to receive a personalized learning path (Beginner-Friendly or Exam-Weighted)
Adaptive Practice Questions: 390 scenario-based questions across 5 domains, prioritized by spaced repetition (SM-2), weak areas, or new material, with optional domain/difficulty filtering
Deterministic Grading: Sycophancy-free, pure-function grading with full explanations and why-wrong details for incorrect choices
Interactive Follow-ups: After any answer, dive into code examples, concept lessons, handouts, or reference projects before returning to your quiz
Exams & Tracking
Full Practice Exams: 60-question exams simulating real certification weighting, scored 0–1000 (passing: 720), with full history and per-domain breakdowns
Visual Dashboard: Glassmorphism dashboard (in Claude Preview) showing readiness ring, domain mastery grid, exam history chart, and activity timeline
Study Plan & Weak Areas: Personalized recommendations with multi-select domain focus and visual checklist; surfaces task statements below 70% accuracy
Content & Projects
Concept Handouts: 30 handouts (one per task statement) with code examples and common mistakes; exportable as branded PDFs for offline study
Guided Capstone Build: Build a custom project across 18 interleaved steps (quiz, build, walkthrough) covering all 30 task statements
Reference Projects: 6 runnable TypeScript codebases demonstrating each exam domain in practice
Infrastructure
Runs fully locally — no cloud, accounts, or telemetry; progress stored in SQLite
Works with any MCP-compatible client (Claude Desktop, Claude Code, etc.) via 18 tools, 8 prompts, and 3 resource types
What is Architect Cert?
Architect Cert is a free, open-source MCP server that turns Claude into your personal certification tutor for the Claude Certified Architect — Foundations exam. No courses, no slides, no video lectures — just ask Claude and study.
It ships with:
390 scenario-based questions across all 5 exam domains and 30 task statements
Interactive clickable UI — answer questions with A/B/C/D buttons, select follow-ups, pick domains with checkboxes — all inside Claude
Lessons-first assessment — learn each domain's concepts before being tested on them
Guided capstone build — shape your own project, then build it step-by-step while learning every task statement hands-on
30 concept handouts — one per task statement, with code examples and common mistakes
6 reference projects — runnable TypeScript codebases demonstrating each domain in practice
Practice exams — 60-question weighted exams with history tracking and improvement trends
Progress dashboard — glassmorphism visual dashboard with mastery levels, exam history chart, activity timeline
Visual progress tracking — todo checklists track your progress through assessments, exams, and capstone builds in real time
Interactive follow-ups — wrong answer? Click to see code examples, concept lessons, handouts, or reference projects
PDF generation — branded handout PDFs with the Architect Cert logo for offline study
Spaced repetition — SM-2 algorithm schedules reviews at optimal intervals
Deterministic grading — pure function grading, no LLM judgment, zero sycophancy
Everything runs locally. No cloud, no accounts, no telemetry.
Related MCP server: OpenExp
Quick Start
1. Install
npm install -g connectry-architect-mcp2. Configure Your MCP Client
claude mcp add connectry-architect -- connectry-architect-mcpThat's it. Restart Claude Code and the server starts automatically.
Add to .mcp.json in your project or ~/.claude.json globally:
{
"mcpServers": {
"connectry-architect": {
"command": "connectry-architect-mcp"
}
}
}Restart Claude Code. The server starts automatically when Claude loads.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"connectry-architect": {
"command": "connectry-architect-mcp"
}
}
}Tip: If you use
nvm, you may need to specify the full path to the binary:"command": "/Users/yourname/.nvm/versions/node/v22.20.0/bin/connectry-architect-mcp"
Restart Claude Desktop. You'll see the MCP tools icon appear in the chat input.
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"connectry-architect": {
"command": "connectry-architect-mcp"
}
}
}Restart Claude Desktop. You'll see the MCP tools icon appear in the chat input.
Architect Cert works with any client that supports the Model Context Protocol. Configure it as a stdio server:
Command:
connectry-architect-mcpArguments: none
Transport: stdio
The server exposes 18 tools, 8 prompts, and 3 resource types.
3. Start Studying
Restart your MCP client and start chatting:
What you want | What to ask Claude |
Start from scratch | "Start an assessment to figure out where I stand" |
Practice questions | "Give me a practice question" |
Focus on a domain | "Give me a question about agentic architecture" |
Learn a concept first | "Teach me about task 2.3 — tool provisioning" |
Build your own capstone | "I want to start a guided capstone build" |
Take a practice exam | "I want to take a practice exam" |
Check your progress | "Show my study progress" |
Show the dashboard | "Show my dashboard" |
Get a study plan | "What should I study next?" |
Explore a reference project | "Show me a reference project for domain 1" |
Generate PDF handouts | Run |
Reset and start over | "Reset my progress" |
Learning Path
Architect Cert is designed to follow a natural progression. Here's the recommended order:
1. Assessment → Baseline your knowledge across all 5 domains
↓
2. Learn concepts → Read handouts for weak domains before practicing
↓
3. Adaptive practice → Questions prioritized by weakness, reviews, new material
↓
4. Follow-ups → Dive into code examples, concept lessons, reference projects
↓
5. Capstone build → Build your own project covering all 30 task statements
↓
6. Practice exams → Simulate the real exam (60 questions, scored out of 1000)
↓
7. Review & repeat → Dashboard tracks mastery, spaced repetition handles schedulingYou can jump to any stage at any time — the system adapts. But the path above gives you the most structured experience.
Interactive Experience
Architect Cert uses Claude's built-in interactive UI to make studying feel natural. No typing answer letters — just click.
Clickable Answer Selection
Every question presents clickable A/B/C/D buttons directly in Claude. You tap your answer instead of typing it. If the question includes code in the scenario, a code preview appears alongside each option so you can reference it while deciding.
Follow-Up Actions
After every answer, clickable follow-up buttons appear:
After a wrong answer:
Got it, next question
Explain with a code example
Show me the concept lesson
Show me the handout
Show me in the reference project
After a correct answer:
Next question
Explain why the others are wrong
Multi-Select Domain Picker
When requesting a study plan, you can select multiple domains to focus on using checkboxes — no need to list them out by name.
Visual Progress Checklists
Long flows like the assessment (15 questions), practice exams (60 questions), and capstone build (18 steps) create a visual todo checklist that updates in real time as you progress. You always know where you are and what's left.
Skip & Other
Every question selection includes a Skip button to move on and an Other option to ask a free-form question. If you use "Other" to ask something, Claude answers your question and then re-presents the same quiz question — you never lose your place. "Skip" moves to the next question; skipped questions remain unanswered and will reappear later.
Initial Assessment
Start with a 15-question diagnostic (3 per domain) that determines your learning path. The assessment works differently from raw practice:
Lessons-First Flow
When the assessment reaches a new domain for the first time, it pauses to show you the concept handout before asking questions. This means you learn the key ideas, see code examples, and understand common mistakes before being tested — no guessing blindly.
The flow for each domain:
Concept handout is shown (one-time per domain)
3 questions presented one at a time (easy, medium, hard)
Each answer graded immediately with explanation
Move to the next domain
Path Assignment
Based on your overall accuracy:
Score | Path | Description |
< 60% | Beginner-Friendly | Starts with fundamentals, builds up gradually. Focuses on easy and medium questions first. |
>= 60% | Exam-Weighted | Focuses on high-weight domains first (D1 at 27%, D3 & D4 at 20% each). Targets weak areas aggressively. |
Progress Tracking
The assessment creates a 15-item visual checklist (Q1 through Q15, grouped by domain) that updates after each answer. You always see exactly how far you've progressed.
Concept Handouts
Every task statement has a concept handout — a structured study document (~500-800 words) that covers:
Concept — The core idea, mental model, and when/why to use it
Code Example — Realistic TypeScript demonstrating the pattern
Common Mistakes — The 3-5 most frequent errors (which map to exam wrong answers)
References — Links to Anthropic's official documentation
Reading Handouts in Claude
You: "Show me the handout for task 2.3"
Claude: [loads the full handout with concept, code, mistakes, references]When Handouts Appear Automatically
During assessment — shown before the first question of each new domain
After a wrong answer — "Show me the handout" is one of the follow-up options
During capstone build — relevant handouts are available at each build step
Generating PDF Handouts
Generate branded PDFs for all 30 handouts for offline study:
cd connectrylab-architect-cert-mcp
npm run generate:pdfsThis creates 30 PDFs in generated/handouts/ with:
Architect Cert logo and domain label in the header
Clean formatting with syntax-highlighted code blocks
"Connectry LABS — Claude Certified Architect Exam Prep — Free & Open Source" footer
Adaptive Practice
Every practice question is selected by a three-priority algorithm:
Overdue reviews — Spaced repetition items due for review today
Weak areas — Topics where your mastery is below 50%
New material — Fresh questions from your recommended domain
Filtering
You can filter practice questions by domain and/or difficulty:
You: "Give me a hard question about prompt engineering"
Claude: [presents a hard Domain 4 question with clickable A/B/C/D buttons]Interactive Follow-Ups
After every answer, you get clickable follow-up options. Each option dives deeper into the concept — then brings you right back to your quiz. You never leave your study flow to look something up.
Mastery Levels
Each of the 30 task statements has an independent mastery level:
Level | Criteria | What it means |
Unassessed | No attempts yet | You haven't seen questions on this topic |
Weak | < 50% accuracy | Needs significant study — questions resurface frequently |
Developing | 50-69% accuracy | Making progress — keep practicing |
Strong | 70-89% accuracy | Good understanding — review intervals are longer |
Mastered | >= 90% accuracy, 5+ attempts, 3+ consecutive correct | Exam-ready — rare reviews |
Spaced Repetition (SM-2)
The SM-2 algorithm schedules review intervals:
First review: 1 day after answering
Second review: 3 days after first review
Subsequent reviews: Previous interval x ease factor (starts at 2.5)
Wrong answer: Interval resets, ease factor decreases by 0.2 (floor: 1.3)
Correct answer: Ease factor increases by 0.1
Difficult questions come back often. Easy ones space out to weeks or months.
Guided Capstone Build
The most hands-on way to learn — build your own project from scratch while covering all 30 task statements. Instead of just answering questions, you architect a real system themed to your own idea.
How It Works
The capstone build has three phases:
Phase 1 — Project Shaping
You describe a project idea (e.g., "a multi-agent code review system"). Claude analyzes your idea against all 30 architectural criteria and identifies gaps. You refine together until every task statement is covered.
You: "I want to start a guided capstone build"
Claude: [presents the 30 criteria across all 5 domains]
Describe your project idea and I'll analyze coverage.
You: "A multi-agent code review system that analyzes PRs"
Claude: Your idea naturally covers 24/30 criteria. To cover the
remaining 6, I'd suggest adding: [specific suggestions
mapped to task statements]Phase 2 — Interleaved Build (18 steps)
Each step follows the same pattern:
Quiz — 2-3 questions on the task statements you're about to build (clickable A/B/C/D)
Build — Claude generates the file's code, themed to your project
Walkthrough — Line-by-line explanation mapping code to task statements
A visual 18-step checklist tracks your progress in real time.
The 18 steps build incrementally:
Steps | What you build | Task Statements |
1-2 | Project config (CLAUDE.md, package.json) | 3.1-3.4 |
3-5 | MCP server, tools, error handling | 2.1-2.5 |
6-10 | Agentic loop, subagents, hooks, workflows, sessions | 1.1-1.7 |
11-13 | Prompts: system, extraction, batch processing | 4.1-4.6 |
14-18 | Context: preservation, triggers, propagation, scratchpad, confidence | 5.1-5.6 |
Every quiz answer feeds into the same spaced repetition and mastery tracking as regular practice.
Phase 3 — Final Review
After step 18, you get a complete coverage map: all 30 task statements, where each is demonstrated in your project, and your quiz performance per domain. Weak areas are flagged for further study.
Capstone Build Tools
Tool | What it does |
| See the 30 criteria, describe your theme, refine until coverage is complete |
| Drive the build: confirm, quiz, build, next, status, or abandon |
| Check your progress — current step, criteria coverage, quiz performance |
How It Connects to Everything Else
Quiz answers during the build use the same
submit_answergrading and SM-2 schedulingAfter any quiz question, you can use the same follow-up options (code example, concept lesson, handout, reference project)
The reference projects show how the capstone structure looks when complete
Progress persists across sessions — pick up where you left off
Practice Exams
Full 60-question exams that simulate the real certification:
Detail | Value |
Total questions | 60 |
D1: Agentic Architecture | 16 questions (27%) |
D2: Tool Design & MCP | 11 questions (18%) |
D3: Claude Code Config | 12 questions (20%) |
D4: Prompt Engineering | 12 questions (20%) |
D5: Context & Reliability | 9 questions (15%) |
Scoring | 0-1000, passing at 720 |
Question selection | Fresh set each time — avoids repeating your most recent attempt |
UI | Clickable A/B/C/D buttons with code previews |
Progress | Visual 60-item checklist updated after each answer |
All attempts are saved with per-domain score breakdowns and improvement trends.
Progress Dashboard
Architect Cert includes a glassmorphism visual dashboard that renders directly inside Claude via Claude Preview.
What It Shows
Readiness Ring — Overall exam readiness percentage in a circular progress indicator
Domain Mastery Grid — 5 cards with progress bars for each exam domain
Exam History Chart — Line chart plotting your practice exam scores over time, with the 720 passing score marked
Recent Activity Timeline — Your last 10 answers with correct/incorrect indicators
Capstone Progress — Current build step and completion percentage
Quick Action Buttons — Jump to practice, exam, study plan, or capstone
How to Open
You: "Show my dashboard"
Claude: [opens the branded dashboard in Claude Preview]The dashboard can be reopened at any time by asking Claude again. It always reflects your latest data.
Text Fallback
For MCP clients that don't support Claude Preview, the dashboard tool also returns a text summary with mastery percentages and exam stats.
Reference Projects
Architect Cert includes 6 complete reference projects — runnable TypeScript codebases that demonstrate certification concepts in real code. Every file has a header comment mapping it to specific task statements.
Project | Focus | Files | What You'll See |
Capstone | All 5 domains | 24 | Full multi-agent support system with MCP server, coordinator, subagents, prompt engineering, context management, and hooks |
D1 — Agentic Loop | Domain 1 | 10 | Multi-agent research coordinator with agentic loops, subagent spawning, hooks, session management, and task decomposition |
D2 — Tool Design | Domain 2 | 12 | MCP server with split tools, structured errors, agent-scoped tool distribution, resources, and built-in tool patterns |
D3 — Claude Code Config | Domain 3 | 14 | Complete config reference: CLAUDE.md hierarchy, slash commands, path rules, CI/CD workflows — not runnable code, but a real config layout |
D4 — Prompt Engineering | Domain 4 | 11 | Data extraction pipeline with explicit criteria, few-shot, structured output, validation-retry, batch processing, and multi-pass review |
D5 — Context Manager | Domain 5 | 14 | Long-session patterns: context preservation, scratchpad, subagent delegation, escalation, error propagation, confidence calibration, provenance |
How to Access
You: "Show me a reference project for domain 1"
Claude: [returns the project README, file listing, and architecture walkthrough]How They Connect to the Study Flow
When you get a question wrong, one of the follow-up options is "Show me in the reference project" — this takes you straight to the relevant domain project so you can see the concept implemented in real code. Then you jump back to your quiz.
Study Plan
Get personalized study recommendations based on your performance, exam weights, and spaced repetition schedule.
Multi-Select Domain Focus
When requesting a study plan, you can pick specific domains to focus on using checkboxes:
You: "What should I study next?"
Claude: [shows domain checkboxes — select the ones you want to focus on]
[generates a personalized study plan with a visual checklist]The study plan creates a visual checklist so you can track your progress through each recommendation.
Exam Domains
The Claude Certified Architect — Foundations exam covers 5 domains:
# | Domain | Weight | Tasks | Questions |
1 | Agentic Architecture & Orchestration | 27% | 7 | 91 |
2 | Tool Design & MCP Integration | 18% | 5 | 65 |
3 | Claude Code Configuration & Workflows | 20% | 6 | 78 |
4 | Prompt Engineering & Structured Output | 20% | 6 | 78 |
5 | Context Management & Reliability | 15% | 6 | 78 |
Total | 100% | 30 | 390 |
30 Task Statements
Task | Description |
1.1 | Design and implement agentic loops for autonomous task execution |
1.2 | Orchestrate multi-agent systems with coordinator-subagent patterns |
1.3 | Configure subagent invocation, context passing, and spawning |
1.4 | Implement multi-step workflows with enforcement and handoff patterns |
1.5 | Apply Agent SDK hooks for tool call interception and data normalization |
1.6 | Design task decomposition strategies for complex workflows |
1.7 | Manage session state, resumption, and forking |
Task | Description |
2.1 | Design effective tool interfaces with clear descriptions and boundaries |
2.2 | Implement structured error responses for MCP tools |
2.3 | Distribute tools appropriately across agents and configure tool choice |
2.4 | Integrate MCP servers into Claude Code and agent workflows |
2.5 | Select and apply built-in tools effectively |
Task | Description |
3.1 | Configure CLAUDE.md files with appropriate hierarchy and scoping |
3.2 | Create and configure custom slash commands and skills |
3.3 | Apply path-specific rules for conditional convention loading |
3.4 | Determine when to use plan mode vs direct execution |
3.5 | Apply iterative refinement techniques for progressive improvement |
3.6 | Integrate Claude Code into CI/CD pipelines |
Task | Description |
4.1 | Design prompts with explicit criteria to improve precision |
4.2 | Apply few-shot prompting to improve output consistency |
4.3 | Enforce structured output using tool use and JSON schemas |
4.4 | Implement validation, retry, and feedback loops |
4.5 | Design efficient batch processing strategies |
4.6 | Design multi-instance and multi-pass review architectures |
Task | Description |
5.1 | Manage conversation context to preserve critical information |
5.2 | Design effective escalation and ambiguity resolution patterns |
5.3 | Implement error propagation strategies across multi-agent systems |
5.4 | Manage context effectively in large codebase exploration |
5.5 | Design human review workflows and confidence calibration |
5.6 | Preserve information provenance and handle uncertainty in synthesis |
Tools
Architect Cert provides 18 MCP tools that Claude uses to deliver the study experience:
Study Flow
Tool | Description |
| Begin with 15 diagnostic questions (lessons-first, one at a time) to determine your learning path |
| Get the next adaptive question with clickable A/B/C/D buttons (reviews > weak areas > new material) |
| Grade your answer deterministically — presents interactive follow-up options |
| Handle post-answer actions: code examples, concept lessons, handouts, reference projects |
| Deep dive into a specific task statement with full concept handout |
Progress & Planning
Tool | Description |
| View overall study progress with mastery percentages per domain |
| Browse all 5 domains and 30 task statements with current mastery levels |
| Identify topics that need the most work, ranked by weakness |
| Get personalized recommendations with multi-select domain focus |
| Open the visual progress dashboard in Claude Preview |
Practice Exams
Tool | Description |
| Take a full 60-question practice exam simulating the real certification |
| Submit and grade answers during a practice exam |
| View all past exam attempts with scores, trends, and per-domain comparison |
Capstone Build
Tool | Description |
| Start a guided capstone build — shape your project and validate criteria coverage |
| Drive the capstone build: confirm, quiz, build, next, status, or abandon |
| Check capstone build progress — current step, coverage, quiz performance |
Reference & Admin
Tool | Description |
| Access reference projects for hands-on practice with real code |
| Start over — requires explicit confirmation to prevent accidents |
The server also registers 8 interactive prompts and 3 resource types (concept handouts, reference projects, exam overview).
Architecture
┌──────────────────────────────────────────────────────────────────────┐
│ YOUR MACHINE │
│ │
│ ┌──────────────┐ ┌────────────────────────────────┐ │
│ │ Claude Desktop│ │ Architect Cert MCP │ │
│ │ Claude Code │◄─────►│ │ │
│ │ Any MCP client│ stdio │ 18 tools │ │
│ └──────┬───────┘ │ 8 prompts │ │
│ │ │ 3 resource types │ │
│ │ └──────────┬─────────────────────┘ │
│ │ │ │
│ │ ┌────────────────┼────────────────────┐ │
│ │ │ │ │ │
│ │ ~/.connectry- 390 questions 6 reference │
│ │ architect/ 30 handouts projects │
│ │ progress.db (bundled JSON/MD) (bundled TS) │
│ │ │
│ │ ┌──────────────────────────┐ │
│ └──► Claude Preview (Dashboard) │ │
│ │ localhost HTTP server │ │
│ └──────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘Core Components
Component | Technology | Purpose |
MCP Server |
| Registers tools, prompts, resources over stdio |
Grading Engine | Pure TypeScript functions | Deterministic answer verification |
Spaced Repetition | SM-2 algorithm | Optimal review scheduling |
Question Selector | Three-priority algorithm | Overdue reviews > weak areas > new material |
Follow-Up System | State-driven tool chain | Interactive post-answer detours |
Capstone Build Engine | 18-step interleaved builder | Guided learn-build-explain flow with LLM validation |
Dashboard Server | Node.js HTTP + HTML | Glassmorphism visual dashboard via Claude Preview |
Question Bank | 390 bundled JSON questions | Scenario-based, verified against docs |
Concept Handouts | 30 bundled markdown files | Structured study materials per task statement |
Reference Projects | 6 bundled TypeScript projects | Runnable code demonstrating each domain |
PDF Generator | Puppeteer + Marked | Branded handout PDFs for offline study |
Progress Store |
| Persistent mastery, answers, schedules |
Interactive UI Architecture
Architect Cert doesn't build its own chat UI. Instead, it instructs Claude to use built-in interactive tools:
AskUserQuestion — Presents clickable buttons for A/B/C/D answers, follow-up actions, and domain selection. Supports single-select (radio buttons), multi-select (checkboxes), and free-text input via "Other".
TodoWrite — Creates visual progress checklists that update in real time during assessments, exams, and capstone builds.
Claude Preview — Renders the glassmorphism dashboard HTML on a local HTTP server.
This approach works across Claude Code and Claude Desktop without requiring any custom UI code on the client side.
Anti-Sycophancy Design
This server enforces honest grading at the protocol level — not just in prompts:
Deterministic grading —
gradeAnswer()is a pure function. No LLM is involved in judging correctness.Tool-level enforcement — The
submit_answertool description instructs Claude to relay results verbatim.No partial credit — Multiple choice, one correct answer. No "you were on the right track."
Wrong answer explanations — Every incorrect option has a specific
whyWrongMapentry explaining the misconception.System prompt rules — Five anti-sycophancy directives prevent Claude from softening incorrect results.
Question Bank Details
Metric | Value |
Total questions | 390 |
Domains covered | 5 |
Task statements covered | 30 |
Questions per task statement | 13 |
Difficulty distribution | ~4 easy, 5 medium, ~4 hard per task |
Answer key balance | Distributed across A/B/C/D |
Question format | Scenario-based multiple choice |
Each question includes | Scenario, question, 4 options, explanation, why-wrong-map, references |
Source material | Anthropic official documentation |
Data Storage
Progress is stored locally at
~/.connectry-architect/progress.db(SQLite, WAL mode)Your user config lives at
~/.connectry-architect/config.json(auto-created on first run)No cloud, no accounts, no telemetry — everything stays on your machine
Contributing
We welcome contributions! Here's how to get started:
# Clone the repo
git clone https://github.com/Connectry-io/connectrylab-architect-cert-mcp.git
cd connectrylab-architect-cert-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Generate PDF handouts
npm run generate:pdfs
# Run locally
node dist/index.jsProject Structure
src/
├── index.ts # MCP server entry point
├── config.ts # User config management
├── types.ts # All TypeScript interfaces
├── data/
│ ├── loader.ts # Lazy-cached data loading
│ ├── curriculum.json # 30 task statements
│ ├── questions/ # 390 questions (5 domain files)
│ ├── handouts/ # 30 concept handouts (markdown)
│ ├── criteria.ts # 30 task statement criteria for capstone validation
│ ├── build-steps.ts # 18 capstone build step definitions
│ └── system-prompt.ts # Anti-sycophancy rules
├── db/
│ ├── schema.ts # SQLite schema (9 tables)
│ ├── store.ts # Database initialization
│ ├── mastery.ts # Mastery level calculations
│ ├── answers.ts # Answer recording
│ ├── review-schedule.ts # SM-2 review scheduling
│ ├── capstone.ts # Capstone build CRUD operations
│ ├── users.ts # User management
│ └── exam-attempts.ts # Practice exam tracking
├── engine/
│ ├── grading.ts # Deterministic grading
│ ├── spaced-repetition.ts # SM-2 algorithm
│ ├── question-selector.ts # Priority-based selection
│ ├── exam-builder.ts # Practice exam generation
│ └── adaptive-path.ts # Learning path recommendations
├── tools/ # 18 MCP tool handlers
│ ├── index.ts # Tool registration
│ ├── elicit.ts # MCP elicitation helper (graceful fallback)
│ ├── start-assessment.ts
│ ├── submit-answer.ts
│ ├── get-practice-question.ts
│ ├── follow-up.ts
│ ├── get-progress.ts
│ ├── get-curriculum.ts
│ ├── get-section-details.ts
│ ├── get-weak-areas.ts
│ ├── get-study-plan.ts
│ ├── start-practice-exam.ts
│ ├── submit-exam-answer.ts
│ ├── get-exam-history.ts
│ ├── scaffold-project.ts
│ ├── start-capstone-build.ts
│ ├── capstone-build-step.ts
│ ├── capstone-build-status.ts
│ ├── reset-progress.ts
│ └── dashboard.ts
├── ui/
│ ├── server.ts # Dashboard HTTP server
│ ├── dashboard.html # Glassmorphism dashboard UI
│ ├── meta.ts # Quiz widget metadata
│ └── loader.ts # HTML asset loader
├── prompts/ # 8 MCP prompt definitions
└── resources/ # 3 MCP resource types
projects/
├── capstone/ # All 5 domains — multi-agent support system
├── d1-agentic/ # Domain 1 — agentic loop research coordinator
├── d2-tools/ # Domain 2 — MCP server with tool patterns
├── d3-config/ # Domain 3 — Claude Code configuration layout
├── d4-prompts/ # Domain 4 — extraction & prompt engineering
└── d5-context/ # Domain 5 — context management & reliability
scripts/
└── generate-pdfs.ts # PDF handout generatorLicense
MIT © Connectry Labs
Credits
Anthropic — Claude & the Claude Certified Architect certification program
Model Context Protocol — The protocol that makes this possible
better-sqlite3 — Fast, synchronous SQLite for Node.js
Available Tools
18 toolscapstone_build_statusA
Check your guided capstone build progress — current step, criteria coverage, and quiz performance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits beyond the return values. It does not mention whether it is read-only, requires an active project, or has side effects. However, the tool is inherently a read operation.
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?
The description is a single, well-structured sentence that front-loads the core purpose and specific outputs. Every word adds value with no redundancy.
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 parameterless tool with no annotations or output schema, the description adequately covers what the tool does and what it returns. Minor gap: does not specify prerequisites like having an active capstone build.
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?
There are no parameters in the schema, so the description does not need to explain them. With 100% schema coverage (no params), the description adds no param details, which is acceptable per guidelines.
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 clearly states the tool checks 'guided capstone build progress' and lists specific return elements (current step, criteria coverage, quiz performance). It distinguishes itself from siblings like 'capstone_build_step' and 'start_capstone_build' by focusing on overall status.
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?
No explicit guidance on when to use this tool versus alternatives such as 'capstone_build_step' or 'get_progress'. The context implies it is for holistic status, but no when-not-to-use or alternative comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capstone_build_stepA
Drive your guided capstone build — quiz, build, and advance through 18 progressive steps.
IMPORTANT:
When presenting quiz questions, use AskUserQuestion with header "Answer" for A/B/C/D selection. If code is in the scenario, add preview fields.
After grading a quiz answer, FIRST show the result (correct/incorrect, explanation) as REGULAR CHAT TEXT so the user can read it. THEN present follow-up options or the next question via AskUserQuestion. Explanations must NOT be hidden behind cards.
When presenting action choices (quiz/build/next), use AskUserQuestion with header "Action".
PROGRESS TRACKING:
On "confirm": Create a TodoWrite checklist with all 18 build steps, all set to "pending".
On "next": Update the completed step to "completed" and the new current step to "in_progress".
This gives the user a visual build progress tracker.
EDGE CASES:
"Other": Answer the question, then re-present the current options via AskUserQuestion.
"Skip": During quiz, treat as moving to the build phase. During build, treat as advancing to next step.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The build action: confirm, quiz, build, next, status, or abandon |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description fully discloses behavioral traits. It details progress tracking (creating/updating TodoWrite checklist), edge case handling (Other: re-present options; Skip: advance step), and presentation rules (use AskUserQuestion with headers, show results as chat text). This goes beyond basic annotations and prepares the agent for correct behavior.
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?
The description is moderately long but well-organized with clear sections (IMPORTANT, PROGRESS TRACKING, EDGE CASES). It front-loads the main purpose and provides necessary details without unnecessary verbosity. Each section adds value, though some repetition could be trimmed.
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?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is very comprehensive. It covers all actions, progress tracking, presentation guidelines, and edge cases. Missing details like error handling or out-of-order calls are minor gaps, but the description is sufficient for most use cases.
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?
The input schema has 100% coverage for the single 'action' parameter. The description adds significant meaning beyond the schema by explaining the effect of each enum value (e.g., 'confirm' creates a checklist, 'next' updates progress). This contextual mapping helps the agent choose the correct action.
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 clearly states the tool's purpose: 'Drive your guided capstone build — quiz, build, and advance through 18 progressive steps.' It uses a specific verb ('drive') and identifies the resource ('guided capstone build'). This distinguishes it from sibling tools like 'capstone_build_status' (status check) and 'start_capstone_build' (initialization).
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 description provides explicit guidance on when to use AskUserQuestion with specific headers ('Answer', 'Action'), how to display quiz results, and how to handle progress tracking via TodoWrite. It also covers edge cases for 'Other' and 'Skip'. However, it does not explicitly state when not to use this tool or mention alternatives among siblings, such as when to use 'capstone_build_status' instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
follow_upA
Handle post-answer follow-up actions. Use after submit_answer to explore concepts, code examples, handouts, or reference projects.
| Name | Required | Description | Default |
|---|---|---|---|
| questionId | Yes | The question ID from the previous answer | |
| action | Yes | The follow-up action to take |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It indicates exploration of content but does not disclose side effects, state changes, or authentication needs. Adequate but not rich.
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 with no wasted words. Purpose is front-loaded, and the actions are concisely listed.
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 simple two-parameter tool with no output schema, the description covers when to use and what it does. It could optionally mention return type, but not necessary given context signals.
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% (baseline 3). Description adds value by mapping enum actions ('next', 'code_example', etc.) to real-world purposes (explore concepts, code examples, etc.), enhancing understanding beyond the schema.
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 clearly states it handles post-answer follow-up actions and lists specific content types (concepts, code examples, handouts, reference projects). This distinguishes it from siblings like submit_answer.
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?
Explicitly states 'Use after submit_answer', providing clear temporal context. However, it lacks explicit when-not-to-use or alternative tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_curriculumA
View the full certification curriculum with domains, task statements, and your current mastery for each.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read-only operation ('View') and specifies output content, but with no annotations provided, it doesn't disclose additional behavioral traits such as authentication requirements, rate limits, or error conditions. A simple view tool, but transparency is limited.
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?
The description is a single, well-structured sentence that front-loads key information. No unnecessary words, earning its place efficiently.
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?
Given no parameters and no output schema, the description adequately describes the return content (domains, task statements, mastery). However, it does not cover potential edge cases or response format, but for a simple retrieval tool, it is sufficiently complete.
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?
The input schema has no parameters (100% coverage), so the description doesn't need to add parameter semantics. Baseline score of 3 is appropriate as it adds no extra detail beyond the schema.
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 clearly states the verb 'View' and the resource 'full certification curriculum' with specific details (domains, task statements, mastery). It distinguishes itself from sibling tools like get_dashboard or get_progress by specifying what it retrieves.
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 description implies use when you need curriculum info, but it lacks explicit guidance on when to use this tool versus alternatives or when not to use it. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboardA
Open the study progress dashboard in Claude Preview. Shows mastery levels, exam history, activity timeline, and capstone progress.
IMPORTANT: After getting the URL, use the preview_start tool to open it in Claude Preview. If the user says "show dashboard" or "open dashboard", call this tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not explicitly state that this tool returns a URL; it only says 'Open...' followed by instructions to use 'preview_start' after getting the URL. While the implication is clear, the exact output behavior (returning a URL) is not spelled out. No annotations are provided, so the description carries the full burden, but it fails to fully disclose the return value.
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?
The description is remarkably concise: two sentences plus a crucial 'IMPORTANT' note. Every sentence serves a purpose: first explains what the tool does, second provides critical usage guidance. No redundant or irrelevant information.
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?
The description effectively covers purpose and usage, but misses explicitly stating the return type (a URL). Given that there is no output schema and no annotations, this omission slightly reduces completeness. However, the guidance to use 'preview_start' after 'getting the URL' implies the return value, so the gap is small.
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?
The tool has 0 parameters, so the input schema requires no additional explanation. The description adds value by detailing what the dashboard displays (mastery levels, exam history, etc.), going beyond the schema's void. This compensates fully for the absence of parameters.
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 clearly states the tool's action ('Open the study progress dashboard') and lists the specific content it shows (mastery levels, exam history, activity timeline, capstone progress), making the purpose unambiguous. It distinguishes from siblings like 'get_exam_history' and 'get_progress' by framing it as a combined dashboard view.
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 description provides explicit usage guidance: after obtaining the URL, the AI should use 'preview_start' to open it. It also gives trigger phrases ('show dashboard', 'open dashboard') to help the agent decide when to call this tool, clearly differentiating when to use it versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_exam_historyA
View all completed practice exam attempts with scores, pass/fail status, and per-domain breakdowns. Compare your progress across attempts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation ('view'), and no annotations are present. It does not disclose potential limitations like data volume or authentication requirements, but for a simple tool with no parameters, the description adequately covers the main behavior.
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, 20 words. Front-loaded with action and outputs, second sentence adds value. No redundancy or unnecessary text.
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?
Given no output schema, the description explains return values (scores, pass/fail, per-domain breakdowns) and adds comparison feature. It lacks mention of any limits or prerequisites, but for a no-parameter tool, it is largely sufficient.
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?
Input schema has 0 parameters, and schema description coverage is 100%. Per guidelines, baseline is 4, which is appropriate as the description adds no param-specific details.
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?
Description clearly states what the tool does: view completed practice exam attempts with specific details like scores, pass/fail, and per-domain breakdowns. It also adds a secondary feature of comparing progress. No competing sibling tool serves the same purpose.
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?
No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, the description does not mention scenarios where other tools might be more appropriate, nor does it provide criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_practice_questionA
Get the next practice question. Prioritizes review questions, then weak areas, then new material.
IMPORTANT — present the question using AskUserQuestion:
header: "Answer"
question: Include the FULL scenario text AND question text from the response
options: 4 items with label "A"/"B"/"C"/"D" and description as the option text
If the scenario contains code, add a "preview" field on each option showing the code snippet Then call submit_answer with the questionId and selected answer. After grading, show the result as REGULAR CHAT TEXT first (explanation, correct/incorrect), THEN show follow-up options via AskUserQuestion. Explanations must be readable in the main chat, not hidden behind cards.
EDGE CASES:
"Other": Answer the user's question, then re-present the SAME question via AskUserQuestion.
"Skip": Call get_practice_question again for a new question. Never break the flow.
| Name | Required | Description | Default |
|---|---|---|---|
| domainId | No | Optional domain ID to filter questions (1-5) | |
| difficulty | No | Optional difficulty filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full burden. It explains the prioritization logic and flow but does not disclose side effects (e.g., marking questions as seen, state changes) or permissions required. The emphasis is on usage rather than behavioral safety.
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?
The description is lengthy and mixes purpose, usage instructions, and edge cases into a single block. While front-loaded with the core purpose, it could be more concise by separating general functionality from detailed agent instructions.
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?
Given the complexity of the multi-step interaction and absence of an output schema, the description adequately explains the expected output (question details for AskUserQuestion) and edge cases. It assumes some agent knowledge of sibling tools but is largely comprehensive.
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?
The input schema has 100% description coverage for both parameters (domainId and difficulty). The description adds no extra meaning beyond what the schema already provides, so baseline of 3 is appropriate.
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 clearly states the tool retrieves the next practice question with explicit prioritization (review, weak areas, new material). This distinguishes it from siblings like submit_answer or follow_up, which serve different roles in the workflow.
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 description provides detailed instructions on how to present the question and handle edge cases (Other, Skip). However, it does not explicitly mention when not to use this tool or compare to alternatives like get_exam_history or get_curriculum, missing some usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_progressB
Get your certification study progress overview including mastery levels, accuracy, and review status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates a read operation ('Get') but does not disclose data freshness, authentication requirements, or whether the progress is real-time. The description is too minimal to fully inform the agent about behavioral traits.
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?
The description is a single, front-loaded sentence with no extraneous information. Every word contributes to the purpose, making it efficient and easy to parse.
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 simple parameterless tool, the description covers the return themes but lacks output schema or details on structure. It does not mention whether results are aggregated or per-section, leaving some ambiguity. The description is adequate but not comprehensive.
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?
There are no parameters, so schema coverage is 100% (trivial). The description adds value by explaining what the tool returns, which is not evident from the empty schema. Baseline 4 for zero parameters is appropriate.
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 clearly identifies the tool as retrieving a certification study progress overview with specifics on mastery levels, accuracy, and review status. It is clear, but does not explicitly distinguish itself from sibling tools like get_dashboard or get_study_plan, which may overlap.
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?
No guidance on when to use this tool versus alternatives is provided. It does not mention prerequisites, limitations, or exclusions, leaving the agent to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_section_detailsB
Get detailed information about a specific task statement including concept lesson, mastery, and history.
| Name | Required | Description | Default |
|---|---|---|---|
| taskStatement | Yes | Task statement ID, e.g. "1.1" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavioral traits like read-only nature, authorization needs, or side effects. Only states it gets information, which implies safety but lacks explicit disclosure.
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?
Single sentence, no wasted words, efficiently conveys core purpose and included fields.
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 one required param, no output schema, and no annotations, the description adequately names the resource and some fields. However, it omits return structure, error conditions, or additional context. Adequate for a simple tool but not comprehensive.
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 parameter description ('Task statement ID, e.g. 1.1') is clear. The description adds no additional semantics beyond restating 'specific task statement'. 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?
Clearly states verb 'Get' and resource 'detailed information about a specific task statement' and lists included content (concept lesson, mastery, history). Distinguishes from siblings like get_curriculum by focusing on task statements, but could be more precise about scope.
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?
No guidance on when to use this tool versus alternatives such as get_curriculum or get_practice_question. No context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_study_planA
Get a personalized study plan based on your assessment results, weak areas, and learning path.
IMPORTANT — after showing the study plan, use AskUserQuestion with header "Focus" and multiSelect: true to let the user pick which domains they want to focus on. Options should be the 5 domains with their current mastery as descriptions. Then use their selection to filter get_practice_question calls.
Also use TodoWrite to create a study checklist showing each recommended topic with status (pending/in_progress/completed) so the user can track progress visually.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only says the tool gets a plan but does not disclose behavioral traits such as side effects, required prior state (e.g., assessment completed), or whether it modifies data. The instructions about AskUserQuestion and TodoWrite are about the agent's actions, not the tool's behavior.
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?
The description is overly long and mixes the tool's purpose with multi-step agent instructions (AskUserQuestion and TodoWrite). The first sentence is concise, but the rest adds verbosity that could be separated. This reduces clarity for tool selection.
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?
Given no parameters and no output schema, the description should at least describe what the study plan contains. It only says 'personalized' but does not detail the structure (e.g., list of topics, time estimates). The additional instructions compensate somewhat for missing output info, but the lack of output format is a gap.
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?
The input schema has zero parameters, so parameter semantics are not needed. The baseline for 0 parameters is 4, and the description adds no parameter information beyond what is already implied (no input required). No deduction needed.
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 clearly states 'Get a personalized study plan based on your assessment results, weak areas, and learning path.' This provides a specific verb ('Get'), resource ('study plan'), and context, distinguishing it from siblings like get_curriculum or get_dashboard.
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 description explicitly tells the agent what to do after invoking the tool: show the plan, then use AskUserQuestion to let the user pick domains, then filter practice questions. It provides a clear usage flow, though it does not explicitly mention when NOT to use this tool or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weak_areasA
Identify your weakest task statements based on accuracy below 70%. Focus your study on these areas.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It specifies the accuracy threshold (70%) but does not disclose whether the tool is read-only, requires auth, or any side effects. More detail would improve transparency.
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 with no wasted words. The description is front-loaded with the key purpose and a direct actionable suggestion. Every sentence earns its place.
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?
The description gives the tool's purpose and a threshold, but lacks output details (e.g., format, data structure). With no output schema, the agent is left guessing the return value, reducing completeness.
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?
The input schema has zero parameters, so the description inherently adds no parameter info beyond the schema. Baseline 4 applies as per guidelines for 0-parameter tools.
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 clearly states the tool identifies weakest task statements based on accuracy below 70%, providing a specific verb and resource. It is distinct from sibling tools like get_progress or get_dashboard, though it doesn't explicitly differentiate.
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 description implies usage for study focus but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_progressA
WARNING: Permanently deletes ALL your study progress including answers, mastery data, and review schedules. This cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | Must be true to confirm the reset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the destructive behavior: 'permanently deletes', 'cannot be undone', and lists what is deleted. This goes beyond the input schema, which only has a confirmation parameter.
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?
The description is one impactful sentence with a warning prefix. No extraneous words; front-loaded with critical information.
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 destructive action with one parameter, the description explains the consequence and confirmation requirement. No output schema exists, so return values are not needed. Minor improvement could mention what happens after reset, but it's adequate.
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?
The schema already documents the 'confirmed' parameter well (must be true to confirm). The tool description adds context about the consequence but does not add new parameter-specific meaning. With 100% schema coverage, baseline is 3.
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 clearly states the tool deletes all study progress permanently. It uses strong verbs ('deletes') and specifies the resources (answers, mastery data, review schedules). This distinguishes it from sibling tools like get_progress or get_weak_areas.
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 description does not provide explicit guidance on when to use this tool versus alternatives. It lacks conditions or examples of appropriate use cases. A warning is given but no when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaffold_projectA
Get instructions for a reference project to practice certification concepts hands-on.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | Project ID (e.g. "capstone", "d1-agentic"). Omit to see available projects. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It indicates a read-only operation ('Get instructions'), but does not disclose behavior for invalid projectId or any side effects. No contradiction with annotations.
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?
The description is a single, front-loaded sentence with no wasted words. It conveys the tool's purpose and parameter usage efficiently.
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?
The description is adequate for a simple tool with one parameter. It lacks details about the return format or what 'instructions' entail, but given no output schema, the description provides sufficient context for an agent to understand its basic function.
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% for the single parameter 'projectId'. The description adds the instruction 'Omit to see available projects', which clarifies a special behavior not evident from the schema alone.
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 specifies the verb 'Get', resource 'instructions for a reference project', and purpose 'to practice certification concepts hands-on'. It clearly distinguishes from siblings like get_curriculum or get_dashboard.
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 description implies use when needing hands-on practice but does not explicitly state when to use this tool versus alternatives like get_curriculum or get_practice_question. No exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_assessmentA
Start the initial assessment. Returns ONE question at a time (15 total, 3 per domain).
IMPORTANT — follow this flow for EVERY question:
Check if "isNewDomain" is true. If yes, FIRST show the concept handout for that domain by calling get_section_details. Tell the user: "Let's learn about [domain] before testing your knowledge." After showing the handout, proceed to step 2.
Present the question to the user using AskUserQuestion:
header: "Q[number]"
question: Include the FULL scenario text AND question text from the response
options: Use the 4 answer options (A/B/C/D) with label as the letter and description as the option text
If the scenario contains code, add a "preview" field on each option showing the relevant code snippet so the user can reference it while choosing
After user selects, call submit_answer with questionId and their answer.
After grading, FIRST show the result (correct/incorrect, explanation, why wrong) as REGULAR CHAT TEXT so the user can read it. THEN present follow-up options using AskUserQuestion. The explanation must NOT be hidden behind the card.
Call start_assessment again for the next question.
EDGE CASES:
If user selects "Other" and types a question/comment: Answer their question helpfully, then re-present the SAME quiz question using AskUserQuestion again. Never lose the current question.
If user clicks "Skip": Treat it as moving to the next question. Call start_assessment again immediately. The skipped question remains unanswered and will appear again later.
NEVER let Other or Skip break the assessment flow. Always continue to the next question or re-ask the current one.
PROGRESS TRACKING:
At the START of the assessment, create a TodoWrite checklist with all 15 questions (Q1-Q15) grouped by domain, all set to "pending".
After each answer, update the corresponding todo item to "completed" (with correct/incorrect note).
This gives the user a visual progress tracker throughout the assessment.
When assessment is complete, present next steps using AskUserQuestion with header "Next step".
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. It discloses that it returns one question, requires a flow with domain handouts, handles user interactions, and updates progress. No destructive actions implied, and no contradictions.
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?
Long but well-structured with sections for flow, edge cases, progress tracking. Front-loaded with core purpose. Could be more concise but every sentence adds necessary detail for correct usage.
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?
Given the interactive complexity and lack of output schema, description fully explains expected response format, step-by-step flow, edge cases, and progress tracking. Leaves no ambiguity for correct invocation.
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?
Input schema has 0 parameters with 100% coverage, so description need not add param info. Baseline 4 is appropriate; description does not need to explain parameters but adds value through behavioral instructions.
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?
Clearly states 'Start the initial assessment' and specifies it returns one question at a time (15 total, 3 per domain). Distinguishes from sibling tools like start_practice_exam or get_practice_question.
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?
Provides detailed step-by-step instructions including when to call other tools (get_section_details, submit_answer), how to present questions, handle edge cases (Other, Skip), and progress tracking. Explicitly covers when to use and what to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_capstone_buildB
Start or refine a guided capstone build. Build your own project while learning all 30 certification task statements hands-on.
| Name | Required | Description | Default |
|---|---|---|---|
| theme | No | Your project idea or theme. Omit to see the 30 criteria first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but fails to disclose side effects, idempotency, or resource creation. 'Start or refine' is vague and does not explain behavior on repeated calls or state changes.
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 purpose, no wasted words. Ideal conciseness.
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?
Lacks explanation of return values, subsequent steps, or how 'refine' differs from 'start'. No output schema and no annotations, so the description should provide more context for an interactive build tool.
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?
The description adds meaning beyond the schema by noting that omitting 'theme' shows the 30 criteria first. This clarifies a key usage pattern. Schema coverage is 100%, so baseline is 3; the added context raises it to 4.
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 clearly states the tool starts or refines a guided capstone build and connects it to learning 30 certification tasks. It is specific about the resource (capstone build) and action, but does not distinguish from siblings like scaffold_project or capstone_build_step.
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?
No guidance on when to use this tool versus alternatives like scaffold_project, capstone_build_step, or others. The description does not provide context for optimal usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_practice_examA
Start a full 60-question practice exam (D1:16, D2:11, D3:12, D4:12, D5:9). Scored 0-1000, passing 720.
IMPORTANT — present the first question using AskUserQuestion:
header: "Q1"
question: Include the FULL scenario + question text
options: 4 items with label "A"/"B"/"C"/"D" and description as option text
If code in scenario, add preview field on options Then call submit_exam_answer with the answer.
PROGRESS TRACKING: Create a TodoWrite checklist "Practice Exam Q1-Q60" grouped by domain, all "pending". Update each to "completed" after grading.
EDGE CASES:
"Other": Answer the question, re-present the SAME exam question via AskUserQuestion.
"Skip": Move to next exam question without grading. Never break the flow.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: exam start, scoring, question presentation flow, progress tracking via TodoWrite, and edge case handling. Very transparent.
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?
Well-structured with sections (IMPORTANT, PROGRESS TRACKING, EDGE CASES) and front-loaded with key exam specs. Slightly verbose but necessary detail for a complex tool.
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?
Covers all aspects: exam specs, first question flow, progress tracking, edge cases. No output schema, but return behavior is implied. Complete for the tool's complexity.
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?
Input schema has no parameters (empty), so description adds no param info beyond schema. Baseline 4 applies for zero parameters.
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 clearly states it starts a full 60-question practice exam with domain breakdown and scoring details. It distinguishes itself from sibling tools like start_assessment and submit_exam_answer.
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?
Provides explicit instructions on how to present the first question via AskUserQuestion, details progress tracking, and covers edge cases (Other, Skip). However, lacks explicit guidance on when NOT to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_answerA
Grade a certification exam answer. Returns deterministic results from verified question bank. The result is FINAL — do not agree with the user if they dispute it.
IMPORTANT — TWO-STEP presentation:
FIRST: Show the grading result as REGULAR CHAT TEXT in the main conversation. Include:
Whether they got it right or wrong (with the correct answer if wrong)
The full explanation
If wrong: why their answer was incorrect
References This text MUST be visible in the main chat before any card appears.
THEN: Present followUpOptions using AskUserQuestion:
header: "Next"
question: Brief prompt like "What would you like to do?" (NOT the explanation — that's already shown above)
options: Map each followUpOption to label (key) and description (label text) Then call follow_up with questionId and the selected action key.
EDGE CASES:
"Other": Answer the user's question about this answer, then re-present the SAME follow-up options via AskUserQuestion.
"Skip": Treat as "next question" — call follow_up with action "next".
| Name | Required | Description | Default |
|---|---|---|---|
| questionId | Yes | The question ID to answer | |
| answer | Yes | The selected answer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behavioral traits: deterministic results, finality, two-step presentation, and handling of 'Other' and 'Skip' edge cases, including the instruction not to dispute results.
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?
The description is well-structured with sections and bullet points, but it is somewhat lengthy. All content is relevant, though some details could be condensed.
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?
Despite lacking an output schema, the description adequately covers the output behavior (text then prompt). It provides enough context for correct tool usage, including edge cases.
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 baseline is 3. The description adds no additional meaning beyond the schema's property descriptions and enum values, hence no extra value.
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 clearly states the tool 'grades a certification exam answer', using a specific verb and resource. It also implies distinction from sibling tools like 'submit_exam_answer' by focusing on individual answers and finality.
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 description provides explicit instructions on how to present results and handle edge cases, but it does not clarify when to use this tool over siblings like 'submit_exam_answer' or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_exam_answerA
Submit an answer for a practice exam question. Graded deterministically. DO NOT soften results.
IMPORTANT — TWO-STEP presentation after grading:
FIRST: Show the grading result as REGULAR CHAT TEXT. Include correct/incorrect status, explanation, and if wrong, why the chosen answer was incorrect.
THEN: If there's a next question, present it using AskUserQuestion:
header: "Q[number]"
question: Include the FULL scenario + question text
options: 4 items with label "A"/"B"/"C"/"D" and description as option text Then call submit_exam_answer again with the answer.
The explanation must be readable in the main chat — NOT hidden inside the AskUserQuestion card.
| Name | Required | Description | Default |
|---|---|---|---|
| examId | Yes | The practice exam ID | |
| questionId | Yes | The question ID being answered | |
| answer | Yes | Your answer: A, B, C, or D |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that grading is deterministic and specifies the presentation behavior. However, since no annotations are provided, it should cover more behavioral details such as error handling, side effects (e.g., recording the answer), and permissions.
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?
The description is front-loaded with the purpose and includes necessary instructions. It is slightly lengthy due to the detailed two-step guide, but every sentence serves a purpose. Could be trimmed slightly without losing clarity.
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?
The description explains the post-submission presentation flow and grading behavior, which is adequate given no output schema. However, it does not clarify whether the answer is saved permanently or any system limits (e.g., one submission per question).
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?
Input schema has 100% coverage with descriptions for all parameters, so the baseline is 3. The description adds context about the answer format (A, B, C, D) and the two-step flow, but does not provide additional semantic detail beyond the schema.
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 clearly states 'Submit an answer for a practice exam question' with a specific verb and resource, and distinguishes it from sibling tools like 'submit_answer' by specifying it's for practice exams and includes a two-step presentation flow.
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 description provides detailed usage instructions, including the two-step presentation process and the requirement to show results as regular chat text. However, it does not explicitly state when not to use this tool or list alternative tools for other contexts.
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. Dates show when Glama detected each change.
18 tool updates
v0.1.12- First observed
capstone_build_status - First observed
capstone_build_step - First observed
follow_up - First observed
get_curriculum - First observed
get_dashboard - First observed
get_exam_history - First observed
get_practice_question - First observed
get_progress - First observed
get_section_details - First observed
get_study_plan - First observed
get_weak_areas - First observed
reset_progress - First observed
scaffold_project - First observed
start_assessment - First observed
start_capstone_build - First observed
start_practice_exam - First observed
submit_answer - First observed
submit_exam_answer
TDQS
Tools are mostly distinct but some overlap exists: get_progress, get_weak_areas, get_study_plan, and get_exam_history all relate to progress. start_assessment and start_practice_exam are similar. Additionally, verbose behavioral instructions in descriptions may cause confusion for the agent when selecting tools.
Most tools follow a clear verb_noun pattern (get_, start_, reset_, scaffold_), with capstone_build_status and capstone_build_step being slight outliers (noun_verb_noun). Overall naming is consistent and readable.
18 tools is on the higher side but reasonable for a comprehensive certification study tool covering assessment, practice, progress tracking, and capstone build. Each tool serves a specific purpose, though some consolidation could be possible.
The tool set covers the main study lifecycle: initial assessment, practice questions/exams, progress monitoring, weak area identification, study plans, curriculum viewing, and a capstone build. Minor gaps like time tracking or filtering by specific topics are not critical.
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 Connectors
Practice questions for the four Claude certifications. The assistant never sees the key.
AI-powered corporate learning platform — manage courses, users, and insights via Claude.
Access 30+ AI agent essays, CLAUDE.md generator, and readiness assessments.
Agent personas for Claude. 16 tools, 13 personas, 3 workflows. Zero extra API cost. Free.
Related MCP Servers
- AlicenseAqualityAmaintenanceLocal RAG system for Claude Code with hybrid search (semantic + BM25), cross-encoder reranking, markdown-aware chunking, and 12 MCP tools. Zero external servers, pure ONNX in-process.13268MIT
- AlicenseNot gradedqualityCmaintenanceQ-learning memory for Claude Code. Persistent memory that learns which context helps you get work done. Memories that lead to productive sessions (commits, PRs, tests) earn higher retrieval rank automatically. 16 MCP tools, hybrid BM25 + vector + Q-value scoring, local-first with Qdrant + FastEmbed.59MIT
- FlicenseNot gradedqualityDmaintenanceEnables generation of educational content like MCQs, lesson plans, and flashcards without relying on external LLMs, fully offline and compatible with Claude Desktop.4-
- AlicenseNot gradedqualityAmaintenanceImagine you could hand Claude a filing cabinet of your documents and say "remember all of this." Later you just ask questions, and Claude answers from what it remembers — citing which document each fact came from. That's Memorised them All. It's a small add-on (an MCP server) for Claude Desktop and Claude Code that: Reads your files — PDFs, Word/Excel/PowerPoint, web pages, images (with OCR), ev1MIT
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/Connectry-io/connectrylab-architect-cert-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server