Skip to main content
Glama

Log in as a Foran customer

foran_login
Idempotent

Log in to Foran with your phone number and password to get a session key for managing carts, placing orders, and using account tools.

Instructions

Log in with the customer's own Foran phone number and password (the same as the Foran app). Returns a session_key for cart, order and account tools. Only use credentials the customer typed themselves in this conversation. On a local install, credentials may instead come from FORAN_PHONE / FORAN_PASSWORD environment variables (call with no arguments).

Input Schema

NameRequiredDescriptionDefault
phoneNoPakistani mobile, e.g. 03001234567 or +923001234567.
passwordNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations declare a non-read-only, idempotent, open-world operation, and the description adds what they cannot: the return value is a session_key that other tool families depend on, plus a security rule about credential provenance. The env-var fallback for local installs is behavior an agent could not infer from the schema or hints. Minor gap: nothing about session expiry or failure modes.

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

Conciseness5/5

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

Three sentences, front-loaded with the capability, then the credential-sourcing rule, then the local-install exception. Each sentence carries distinct information with no restatement of the name or schema.

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

Completeness4/5

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

For an auth tool with a small schema and no output schema, the description covers what the agent needs: inputs, their provenance, the downstream session_key, and the no-argument variant. It is slightly incomplete on what a failed login looks like and how long the session_key stays valid, which matters because the whole tool set depends on it.

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 50% – only phone is documented. The description compensates partly by explaining that password is the same as the Foran app and that both may be omitted on a local install, which explains why required is empty. However it does not describe the phone format itself or validate the schema's example, so it adds meaning rather than fully substituting for the undocumented password field.

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?

"Log in with the customer's own Foran phone number and password" names a specific verb and resource, and the qualifier "customer's own" implicitly separates it from foran_staff_login. It also states the payoff (a session_key for cart, order and account tools), so the agent knows why to call it. It stops short of explicitly naming the staff-login sibling as the alternative.

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

Usage Guidelines4/5

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

It gives concrete when-to-use conditions: only credentials the customer typed themselves in this conversation, with an env-var path on local installs (call with no arguments). That is real routing guidance plus an exclusion on where credentials may come from. It does not explicitly say when to use foran_staff_login instead, leaving that inference to the sibling names.

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