Skip to main content
Glama
arnouthoebreckx

albert-heijn-be-mcp

Albert Heijn: Log In

ah_login

Log in to Albert Heijn by starting a session, following the returned link and instructions, then submitting the copied appie:// code. Use it to check the signed-in account or switch after logout.

Instructions

Log in to Albert Heijn. Call without arguments to start. On the user's own computer this usually opens a login window that finishes the login by itself. Otherwise it returns the AH login link and step-by-step instructions: show them to the user as given, in order (the developer console must be open before they log in). The user then copies a link like appie://login-exit?code=...; call ah_login again with code set to that link (or just the code) to finish. Codes are single-use and expire quickly. If already logged in, returns the account name; to switch accounts, call ah_logout first.

Input Schema

NameRequiredDescriptionDefault
codeNoThe appie://login-exit?code=... link the user copied after logging in, or just the code. Omit to start a login.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false; the description adds the substantive behavior an agent needs: a local login window may auto-complete, otherwise a link plus ordered instructions must be relayed verbatim with the developer console open, codes are single-use and expire quickly, and the account name is returned when already authenticated.

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?

Front-loaded with the primary action and organized by flow stage (start, fallback instructions, finish, already-logged-in). Dense but nearly every sentence carries operational instructions; the verbatim-display and console-open caveats justify their length.

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

Completeness5/5

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

No output schema exists, so the description carries the return-value burden and does so for both branches (auto-completing window vs. link + instructions, and account name when already logged in). Nothing an agent needs to drive the two-step flow is missing.

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 coverage is 100% and the schema's own description already explains that 'code' is the appie://login-exit?code=... link or bare code. The description largely repeats that, adding only the single-use/expiry constraint, which is marginal new meaning on top of a fully documented single parameter.

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

Purpose5/5

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

States a specific verb and resource ('Log in to Albert Heijn') and immediately clarifies that it is a two-phase flow (call without args to start, call with code to finish). The closing sentence distinguishes it from the ah_logout sibling by naming that tool explicitly for account switching.

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

Usage Guidelines5/5

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

Gives explicit branch conditions: no arguments to start, code argument to complete, and 'call ah_logout first' when the user wants to switch accounts. It also instructs what to do when already logged in, leaving nothing to inference.

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