Skip to main content
Glama

Morocco Salary Calculator

Gross salary needed for a net amount in Morocco

gross_for_target_net
Read-onlyIdempotent

The gross yearly salary in Morocco that leaves a given take-home pay, with the same situation options as net_salary. Use it to set a salary ask or check an offer.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "net_target": "<net_target>"
    },
    "name": "gross_for_target_net"
  }
}

Input Schema

NameRequiredDescriptionDefault
periodNoWhether net_target is per year or per month. Default year.
marriedNoMarried or registered partner. Default false.
childrenNoNumber of dependent children. Default 0.
fx_per_eurNoExchange rate: 1 euro = this many MAD, for the euro amounts. Default 10.7 (indicative).
net_targetYesTake-home pay wanted, in MAD
pension_pctNoVoluntary employee pension contribution through payroll, % of salary. Default 0.
bonus_annualNoYearly bonus in MAD. Default 0.
spouse_incomeNoPartner's gross yearly income in MAD, for joint taxation and spouse allowances. Default 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds only the Moroccan tax context already present in the title and says nothing about whether the result is exact, which statutory rules are applied, or what assumptions the FX default implies.

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?

Two short sentences, front-loaded with the core computation and followed by the practical use case. No filler, though the phrasing 'leaves a given take-home pay' is slightly informal for a definition.

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

Completeness3/5

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

For an eight-parameter financial calculation with no output schema, the description leaves the return shape entirely unstated — an agent cannot tell whether the response is a single gross figure or a breakdown of contributions and tax. The interaction between period and the 'yearly' framing is also unresolved.

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%, with all eight parameters documented inline including defaults, bounds, and the period enum, so the schema carries the semantics. The description's only parameter-adjacent statement is that options mirror net_salary, which adds no meaning beyond the schema itself.

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 states a specific inverse computation: the gross yearly salary in Morocco that yields a given take-home pay. That clearly distinguishes it from net_salary, which runs the opposite direction. Minor imprecision: it says 'gross yearly' while the schema's period enum also allows monthly.

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

Usage Guidelines3/5

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

'Use it to set a salary ask or check an offer' gives a use case but no explicit when-not or routing rule. The reference to net_salary implies the inverse relationship, but the agent must infer that net_salary is the tool to pick when starting from a gross figure rather than a net target.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources