Skip to main content
Glama
Connectry-io

Connectry Architect Cert

Official
by Connectry-io

get_progress

Track certification study progress by viewing mastery levels, accuracy metrics, and review status for exam preparation.

Instructions

Get your certification study progress overview including mastery levels, accuracy, and review status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler logic for the get_progress tool, which computes and returns study progress metrics.
    server.tool(
      'get_progress',
      'Get your certification study progress overview including mastery levels, accuracy, and review status.',
      {},
      async () => {
        const userId = userConfig.userId;
        ensureUser(db, userId);
        const curriculum = loadCurriculum();
        const mastery = getAllMastery(db, userId);
        const stats = getTotalStats(db, userId);
        const overdueReviews = getOverdueReviews(db, userId);
    
        const domainProgress = curriculum.domains.map(d => {
          const domainMastery = mastery.filter(m => m.domainId === d.id);
          const avgAccuracy = domainMastery.length > 0
            ? Math.round(domainMastery.reduce((sum, m) => sum + m.accuracyPercent, 0) / domainMastery.length)
            : 0;
          const masteredCount = domainMastery.filter(m => m.masteryLevel === 'mastered').length;
          return `  D${d.id}: ${d.title} — ${avgAccuracy}% accuracy, ${masteredCount}/${d.taskStatements.length} mastered`;
        });
    
        const overallAccuracy = stats.total > 0 ? Math.round((stats.correct / stats.total) * 100) : 0;
    
        const text = [
          '═══ CERTIFICATION STUDY PROGRESS ═══',
          '',
          `Questions Answered: ${stats.total}`,
          `Overall Accuracy: ${overallAccuracy}%`,
          `Reviews Due: ${overdueReviews.length}`,
          '',
          'Domain Progress:',
          ...domainProgress,
        ].join('\n');
    
        return { content: [{ type: 'text' as const, text }] };
      }
    );
  • The function that registers the get_progress tool with the McpServer.
    export function registerGetProgress(server: McpServer, db: Database.Database, userConfig: UserConfig): void {
      server.tool(
        'get_progress',
        'Get your certification study progress overview including mastery levels, accuracy, and review status.',
        {},
        async () => {
          const userId = userConfig.userId;
          ensureUser(db, userId);
          const curriculum = loadCurriculum();
          const mastery = getAllMastery(db, userId);
          const stats = getTotalStats(db, userId);
          const overdueReviews = getOverdueReviews(db, userId);
    
          const domainProgress = curriculum.domains.map(d => {
            const domainMastery = mastery.filter(m => m.domainId === d.id);
            const avgAccuracy = domainMastery.length > 0
              ? Math.round(domainMastery.reduce((sum, m) => sum + m.accuracyPercent, 0) / domainMastery.length)
              : 0;
            const masteredCount = domainMastery.filter(m => m.masteryLevel === 'mastered').length;
            return `  D${d.id}: ${d.title} — ${avgAccuracy}% accuracy, ${masteredCount}/${d.taskStatements.length} mastered`;
          });
    
          const overallAccuracy = stats.total > 0 ? Math.round((stats.correct / stats.total) * 100) : 0;
    
          const text = [
            '═══ CERTIFICATION STUDY PROGRESS ═══',
            '',
            `Questions Answered: ${stats.total}`,
            `Overall Accuracy: ${overallAccuracy}%`,
            `Reviews Due: ${overdueReviews.length}`,
            '',
            'Domain Progress:',
            ...domainProgress,
          ].join('\n');
    
          return { content: [{ type: 'text' as const, text }] };
        }
      );
    }

Latest Blog Posts

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