mcp-hboi-domein

janvanhest/mcp-hboi-domein

3.1

If you are the rightful owner of mcp-hboi-domein and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Model Context Protocol (MCP) server provides a structured and validated dataset of the HBO-i domain description, enabling AI assistants to access consistent and traceable information about competencies, tasks, and skills in higher professional education in informatics.

HBO-i Domeinbeschrijving – Canonieke Dataset

Een machine-leesbare, gevalideerde dataset van de HBO-i (Hoger Beroepsonderwijs Informatica) domeinbeschrijving, ontsloten via MCP (Model Context Protocol) voor gebruik door AI-assistenten.

Overzicht

Deze repository bevat:

  • JSON Schema voor validatie en type-generatie
  • Canonieke dataset met competenties, beroepstaken en vaardigheden
  • MCP Server voor integratie met Claude, ChatGPT en andere AI-clients
  • Documentatie van het HBO-i competentiemodel

Doel

AI-modellen consistente, traceerbare toegang geven tot HBO-i begrippen, zodat:

  • Studenten betrouwbare competentie-informatie krijgen
  • Docenten AI kunnen gebruiken voor curriculumontwikkeling
  • Organisaties gestandaardiseerde HBO-i referenties hebben
  • Beoordelingen gebaseerd zijn op de officiële domeinbeschrijving

Het Model

Het HBO-i competentiemodel is gestructureerd als een 3-dimensionale matrix omringd door transversale vaardigheden.

Kern: Beroepstaken Matrix (3D)

Elke beroepstaak wordt gedefinieerd door de kruising van drie dimensies:

Beroepstaak = Activiteit × Architectuurlaag × Beheersingsniveau

Dimensie 1: Activiteiten (5)Wat doe je?

  • act.analyseren – Analyseren van processen, producten en informatiestromen
  • act.adviseren – Adviseren over ICT-oplossingen en -strategieën
  • act.ontwerpen – Ontwerpen van systemen, architecturen en oplossingen
  • act.realiseren – Realiseren en implementeren van ICT-producten
  • act.manage_control – Managen en controleren van ICT-processen

Dimensie 2: Architectuurlagen (5)Waar werk je aan?

  • arch.gebruikersinteractie – User interfaces, UX, front-end
  • arch.organisatieprocessen – Business processes, workflows
  • arch.infrastructuur – Netwerken, cloud, platformen
  • arch.software – Applicatieontwikkeling, backend, services
  • arch.hardware_interfacing – Embedded systems, IoT, robotica

Dimensie 3: Beheersingsniveaus (4)Hoe complex?

  1. Taakgericht – Met begeleiding, eenvoudige context
  2. Probleemgericht – Beperkte zelfstandigheid, bekende problemen
  3. Situatiegericht – Hoog zelfstandig, vage problemen, innovatief
  4. Professiegericht – Expert, strategisch, breed domein

Totaal mogelijk: 5 × 5 × 4 = 100 beroepstaken
(In praktijk ~40-60 exemplarische taken gedocumenteerd)

Context: Professional Skills (4 aandachtsgebieden)

Transversale competenties die bij alle beroepstaken relevant zijn:

  • Toekomstgericht organiseren – Organisatorische context, ethiek, procesmanagement
  • Onderzoekend vermogen – Methodische aanpak, onderzoek, oplossingen
  • Persoonlijk leiderschap – Ondernemerschap, ontwikkeling, profilering
  • Doelgericht interacteren – Partners, communicatie, samenwerking

Elk aandachtsgebied bevat 3 competenties (totaal 12 professional skills).


Datamodel

Schema Versie

Gebaseerd op JSON Schema Draft 2020-12 met strikte validatie:

  • additionalProperties: false voor alle objecten
  • Unieke ID-patronen met prefixes (act.*, arch.*, bt.*, ps.*)
  • Enum constraints voor gestandaardiseerde waarden
  • Foreign key validatie via pattern matching

Hoofdstructuur

{
  "meta": {
    "schema_version": "1.0.0",
    "dataset_version": "HBO-i 2024",
    "generated_at": "2024-10-02T...",
    "language": "nl",
    "source": {
      /* Bronverwijzing */
    }
  },
  "beheersingsniveaus": [
    /* 4 niveaus */
  ],
  "activiteiten": [
    /* 5 activiteiten */
  ],
  "architectuurlagen": [
    /* 5 lagen */
  ],
  "professional_skills": {
    "aandachtsgebieden": [
      /* 4 gebieden met elk 3 competenties */
    ]
  },
  "beroepstaken": [
    /* ~40-60 taken */
  ],
  "raamwerken": {
    "ecf": {
      /* e-CF mapping */
    },
    "sfia": {
      /* SFIA mapping */
    },
    "nlqf_eqf_qf": [
      /* Kwalificatieniveaus */
    ]
  },
  "verbanden": {
    "activiteit_naar_professional_skills": [
      /* Relaties */
    ]
  }
}

Entiteiten Detail

Activiteit
{
  id: string;              // "act.analyseren"
  naam: string;            // "Analyseren"
  beschrijving: string;
  koppelingen?: {
    ecf_areas?: string[];  // ["Plan", "Build"]
    sfia_note?: string;
  };
  aliases?: string[];      // ["Analyse", "Requirements engineering"]
}
Architectuurlaag
{
  id: string;              // "arch.software"
  naam: string;            // "Software"
  beschrijving: string;
  aliases?: string[];      // ["Backend", "Applicatieontwikkeling"]
}
Beheersingsniveau
{
  id: 1 | 2 | 3 | 4;
  naam: 'Taakgericht' |
    'Probleemgericht' |
    'Situatiegericht' |
    'Professiegericht';
  beschrijving: string;
  criteria: {
    zelfstandigheid: string;
    complexiteit_context: string;
    inhoud: string;
  }
}
Professional Skill
{
  aandachtsgebieden: [{
    id: string;            // "ps.onderzoekend_vermogen"
    naam: string;          // "Onderzoekend vermogen"
    beschrijving: string;
    competenties: [{       // Exact 3 competenties
      id: string;          // "ps.competentie.methodische_probleemaanpak"
      naam: string;
      beschrijving: string;
    }]
  }]
}
Beroepstaak
{
  id: string;                    // "bt.software.analyseren.3"
  titel?: string;
  beschrijving: string;
  activiteit_id: string;         // "act.analyseren"
  architectuurlaag_id: string;   // "arch.software"
  beheersingsniveau_id: 1-4;     // 3
  kwaliteitseisen?: Array<       // Gestandaardiseerde concerns
    "security" | "privacy" | "duurzaamheid" | "budget" |
    "tijd" | "performance" | "toegankelijkheid" | "compliance"
  >;
  voorbeelden?: string[];
  bronverwijzing?: {
    pagina?: number;
    paragraaf?: string;
  };
  role?: "exemplar" | "definitief";
}

Internationale Raamwerken

e-CF (European e-Competence Framework)

Mapping van HBO-i activiteiten naar e-CF areas:

HBO-i Activiteite-CF Area
AnalyserenPlan
AdviserenPlan
OntwerpenPlan/Build
RealiserenBuild
Manage & ControlRun

SFIA (Skills Framework for the Information Age)

Beheersingsniveaus indicatief gerelateerd aan SFIA levels 1-7.

NLQF/EQF/QF-EHEA

Crosswalk van HBO kwalificaties (AD/Bachelor/Master) met:

  • NLQF (Nederlands Kwalificatieraamwerk)
  • EQF (European Qualifications Framework)
  • QF-EHEA (Qualifications Framework European Higher Education Area)

Voorbeeld:

{
  "qualification": "Bachelor",
  "nlqf": 6,
  "eqf": 6,
  "qf_ehea_cycle": "1",
  "sfia_level_hint": 3-4,
  "hboi_beheersingsniveau_hint": 2-3
}

Gebruik

Schema Validatie

# Node.js met Ajv
npm install ajv ajv-formats
node validate.js hboi.full.json
const Ajv = require('ajv');
const addFormats = require('ajv-formats');
const schema = require('./hboi.schema.json');
const data = require('./hboi.full.json');

const ajv = new Ajv({ strict: true });
addFormats(ajv);
const validate = ajv.compile(schema);
const valid = validate(data);

if (!valid) {
  console.error(validate.errors);
}

TypeScript Types Genereren

npm install -g json-schema-to-typescript
json-schema-to-typescript hboi.schema.json > src/types/hboi.types.ts

MCP Server Integratie

(Coming soon – zie MCP Setup)

Query voorbeelden:

// Krijg specifieke beroepstaak
getBeroepstaak({
  activiteit: 'act.analyseren',
  architectuurlaag: 'arch.software',
  beheersingsniveau: 3,
});

// Krijg progressie pad voor één competentie
getProgressionPath({
  activiteit: 'act.ontwerpen',
  architectuurlaag: 'arch.infrastructuur',
});
// → [niveau 1, niveau 2, niveau 3, niveau 4]

// Zoek beroepstaken met quality concern
searchByQualityRequirement({ kwaliteitseis: 'security' });

// Krijg alle taken op mastery niveau
getTasksByLevel({ niveau: 4 });

Project Structuur

mcp-competentie/
├── README.md                    # Dit bestand
├── hboi.schema.json             # JSON Schema definitie
├── hboi.example.json            # Voorbeeld dataset (subset)
├── hboi.full.json               # Volledige dataset (TODO)
├── hboi-model-visualisatie.png  # 3D model afbeelding
│
├── src/                         # MCP Server (TODO)
│   ├── data/                    # Data loading & validatie
│   ├── services/                # Business logic (queries)
│   ├── types/                   # Generated TypeScript types
│   └── mcp/                     # MCP server resources & tools
│
├── tests/                       # Unit & integration tests
├── docs/                        # Uitgebreide documentatie
│
├── package.json
├── tsconfig.json
└── .gitignore

Roadmap

✅ Fase 1: Foundation (Done)

  • JSON Schema definitie
  • Voorbeeld dataset
  • Documentatie

🚧 Fase 2: Data Extractie (In Progress)

  • Volledige HBO-i dataset extraheren
  • Alle 5 × 5 × 4 beroepstaken documenteren
  • Professional skills volledig uitwerken
  • Bronverwijzingen toevoegen

📋 Fase 3: MCP Server (Planned)

  • TypeScript MCP server met @modelcontextprotocol/sdk
  • Resources voor entiteiten (activiteiten, lagen, niveaus, skills)
  • Tools voor queries (getBeroepstaak, searchByLevel, etc.)
  • Unit tests met Jest
  • Claude Desktop configuratie

📋 Fase 4: Advanced Features (Future)

  • GraphQL API wrapper (optioneel)
  • REST API met NestJS (indien nodig)
  • Web dashboard voor browsing
  • Export naar SKOS/RDF voor Linked Data
  • PDF generator voor competentieprofielen

MCP Setup

(Deze sectie wordt uitgebreid zodra de MCP server is geïmplementeerd)

Installatie

npm install
npm run build

Claude Desktop Configuratie

{
  "mcpServers": {
    "hboi": {
      "command": "node",
      "args": ["/path/to/mcp-competentie/dist/index.js"],
      "env": {}
    }
  }
}

Gebruik in AI Conversaties

Gebruiker: "Wat moet ik kunnen op niveau 3 voor Software Analyseren?"

Claude: [Raadpleegt MCP server via getBeroepstaak tool]
        "Op niveau 3 (Situatiegericht) moet je voor Software Analyseren:
        - Requirements-analyse uitvoeren met stakeholders
        - Werken in context van bestaande systemen
        - Voorbeelden: CRM-integratie analyse, security requirements..."

Bronnen

HBO-i Domeinbeschrijving

  • Titel: HBO-i Domeinbeschrijving
  • Uitgever: Vereniging Hogescholen / NHL Stenden / SOICT
  • Jaar: 2024 (exacte versie nog toe te voegen)
  • ISBN: (nog toe te voegen)
  • Licentie: (nog te specificeren)

Gerelateerde Frameworks


Bijdragen

Data Correcties

Heb je een fout gevonden of suggestie voor verbetering?

  1. Check het JSON Schema (hboi.schema.json)
  2. Valideer je wijziging lokaal
  3. Maak een issue of pull request
  4. Voeg bronverwijzing toe (pagina + paragraaf)

Code Bijdragen

  • Volg TypeScript best practices
  • Schrijf unit tests voor nieuwe features
  • Gebruik npm run lint en npm run test voor validation
  • Geen any types zonder gedocumenteerde reden

Licentie

(Nog te bepalen – afhankelijk van HBO-i bronmateriaal licentie)

De code in deze repository (MCP server, tooling) valt onder .
De HBO-i dataset zelf volgt de licentie van de officiële domeinbeschrijving.


Contact

Voor vragen over:


Status: 🚧 Work in Progress – Schema definitie compleet, volledige dataset in ontwikkeling