Skip to main content
Glama

Salaries

salaries

What a role pays at a company, level by level, from Levels.fyi's verified submissions: each level's average total pay with base, stock and bonus and typical years of experience, plus the median and spread of total pay and how many salaries it rests on. role: software engineer, product manager, data scientist, engineering manager, product designer, sales, investment banker, consultant and more. Uses one read and saves the result in the user's Puley history.

Input Schema

NameRequiredDescriptionDefault
roleNosoftware engineer
companyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and openWorldHint=true, which would otherwise look strange for a lookup; the description resolves this by stating it 'uses one read and saves the result in the user's Puley history,' explaining the write side effect and the credit cost. It also discloses the data provenance (verified submissions) and that sample counts back the figures, but says nothing about failure modes when a company/role has no data.

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?

One dense but well-ordered passage: what you get, then valid roles, then the read/history behavior. It is slightly run-on and packs provenance and return fields into a single sentence, but nothing is redundant with the schema or annotations.

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?

With no output schema, the description usefully enumerates what comes back (averages, median, spread, sample size, YoE), which is exactly the burden it must carry. What remains missing is minor: accepted company identifier formats and behavior when no salary data exists for a pair.

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 0%, so the description must carry parameter meaning: it does list valid role values (software engineer, product manager, data scientist, engineering manager, product designer, sales, investment banker, consultant) which materially helps the defaulted 'role' param. However, 'company' is left completely unspecified — no guidance on name vs. domain vs. ticker formatting — which is a real gap for the only required parameter.

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?

States a concrete verb-and-resource: level-by-level pay for a role at a company, sourced from Levels.fyi verified submissions. The explicit return contents (base, stock, bonus, years of experience, median, spread, sample size) make it clearly distinct from neighboring tools like find_jobs or company_brief, though it never names an alternative outright.

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?

Usage is implied — the agent can infer it is the tool for 'what does this role pay at this company' — but there is no explicit when-to-use/when-not guidance and no routing to or away from siblings such as find_jobs, company_brief, or market_quotes. The role enumeration is the only affordance steering correct invocation.

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