Skip to main content
Glama
pace8

mcp-hypotheken-berekenen

bereken_hypotheek_starter

Calculate your maximum mortgage amount, monthly payments, and NHG comparison based on your income, age, and partner details.

Instructions

Berekent de maximale hypotheek voor starters. Output: maximaal leenbedrag, maandlast en NHG-vergelijking.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inkomen_aanvragerYesBruto jaarinkomen hoofdaanvrager in euro's.
geboortedatum_aanvragerYesInterne geboortedatum hoofdaanvrager (ISO). Vraag de gebruiker altijd: "Wat is uw leeftijd of geboortedatum?" en deel bij een leeftijd alleen die leeftijd terug.
heeft_partnerYesGeeft aan of een partner mee leent.
inkomen_partnerNoOptioneel partnerinkomen in euro's.
geboortedatum_partnerNoOptionele interne geboortedatum partner (ISO). Vraag ook hier: "Wat is uw leeftijd of geboortedatum?" en houd de afgeleide datum intern.
verplichtingen_pmNoOptionele maandelijkse verplichtingen in euro's.
session_idNoOptioneel sessie-ID vanuit n8n (voor logging).

Implementation Reference

  • The main handler function for the 'bereken_hypotheek_starter' tool. Validates base arguments, enforces rate limiting, constructs payload for the external Replit API, calls the API, logs success, and returns a formatted response using successResponse and formatResponse.
    async function handleBerekenStarter(request: any): Promise<ToolResponse> {
      const args = requireArguments<BaseArguments>(request);
      const logger = createLogger(args.session_id);
    
      validateBaseArguments(args);
      enforceRateLimit(args.session_id);
    
      const payload: any = {
        aanvragers: mapAanvragers(args),
      };
    
      if (args.session_id) {
        payload.session_id = args.session_id;
      }
    
      const apiClient = getApiClient();
      const { data } = await apiClient.post(
        REPLIT_API_URL_BEREKENEN,
        payload,
        { correlationId: args.session_id }
      );
    
      logger.info('Toolcall succesvol', { tool: 'bereken_hypotheek_starter' });
      return successResponse(formatResponse(data, "bereken_hypotheek_starter"));
    }
  • src/index.ts:766-774 (registration)
    Registration of all tool handlers, including mapping 'bereken_hypotheek_starter' to its handler function handleBerekenStarter. This object is used in the CallToolRequestSchema handler to dispatch tool calls.
    const TOOL_HANDLERS: Record<string, ToolHandler> = {
      bereken_hypotheek_starter: handleBerekenStarter,
      bereken_hypotheek_doorstromer: handleBerekenDoorstromer,
      bereken_hypotheek_uitgebreid: handleBerekenUitgebreid,
      haal_actuele_rentes_op: handleActueleRentes,
      opzet_hypotheek_starter: handleOpzetStarter,
      opzet_hypotheek_doorstromer: handleOpzetDoorstromer,
      opzet_hypotheek_uitgebreid: handleOpzetUitgebreid,
    };
  • Tool definition in ListToolsRequestSchema handler, including name, description, and inputSchema (JSON Schema) for 'bereken_hypotheek_starter' which defines the expected arguments like inkomen_aanvrager, geboortedatum_aanvrager, etc.
    {
      name: "bereken_hypotheek_starter",
      description: `Maximale hypotheek voor starters ZONDER concrete woning. Gebruik deze tool alleen wanneer de gebruiker zich oriënteert ("Wat kan ik lenen?") en er nog geen koopsom/adres bekend is. Zodra de gebruiker een specifiek huis of biedprijs noemt moet u overschakelen naar de opzet-hypotheek tools.`,
      inputSchema: {
        type: "object",
        description: `Gebruik basisintakevelden; zie ${OPZET_GUIDE_URI} voor detaildefinities.`,
        properties: {
          ...baseIntakeProperties,
          session_id: {
            type: "string",
            description: "Optioneel sessie-ID vanuit n8n (voor logging).",
          },
        },
        required: baseIntakeRequired,
  • Specific use of formatResponse tailored for 'bereken_hypotheek_starter', which formats the API response into a user-friendly Dutch summary with scenarios, amounts, and labels.
    logger.info('Toolcall succesvol', { tool: 'bereken_hypotheek_starter' });
    return successResponse(formatResponse(data, "bereken_hypotheek_starter"));
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it states what the tool calculates, it doesn't describe how it works: what formula or rules are used, whether it's a simulation or official calculation, if there are rate limits, authentication requirements, or data persistence. For a financial calculation tool with 7 parameters and no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences that efficiently state the purpose and output. It's front-loaded with the main function and follows with output details. There's no wasted verbiage, though it could potentially be more structured by separating purpose from output more clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a financial calculation tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the calculation methodology, accuracy limitations, whether results are binding estimates, or how it differs from sibling tools. The output mentions are helpful but lack detail about format or units. Given the complexity and absence of structured behavioral information, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema - it doesn't explain relationships between parameters (e.g., how partner income affects calculation) or provide context about the calculation methodology. With complete schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Berekent de maximale hypotheek voor starters' (Calculates the maximum mortgage for starters). It specifies the target user group (starters) and mentions the output includes maximum loan amount, monthly costs, and NHG comparison. However, it doesn't explicitly differentiate from sibling tools like bereken_hypotheek_doorstromer or bereken_hypotheek_uitgebreid, which likely target different user groups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like bereken_hypotheek_doorstromer and bereken_hypotheek_uitgebreid available, there's no indication of what distinguishes 'starters' from 'doorstromers' or when to choose the 'uitgebreid' version. The description doesn't mention prerequisites, limitations, or comparison to other calculation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/pace8/mcp-hypotheken-berekenen'

If you have feedback or need assistance with the MCP directory API, please join our Discord server