CompShop
Server Details
Search 350+ compensation surveys by industry, region, or job title. Independent directory.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- Repository
- mkibrick/compshop
- GitHub Stars
- 0
TDQS
Scored across 7 tools
Most tools have clear, distinct purposes: get_report and get_vendor are lookups, the two list_vendors tools are split by industry/region, and search is broad discovery. Some boundary overlap exists between find_surveys_for_position and recommend_surveys, but their descriptions clarify that one is position-specific and the other is context/situation-based.
The naming pattern is largely consistent snake_case verb_noun: find_surveys_for_position, get_report, get_vendor, list_vendors_by_industry, list_vendors_by_region, recommend_surveys. The bare 'search' tool breaks the pattern slightly, but it is still understandable and fits the set.
Seven tools is well-scoped for a compensation survey discovery server. Each tool covers a distinct user need without redundancy or bloat.
The set covers the core workflow well: discover surveys/positions, list vendors by industry/region, get detailed report and vendor info, and get ranked recommendations. A minor gap is the lack of a general browse-all tool for reports or vendors outside of filtered/query-based paths, but the available surface covers the domain effectively.
Available Tools
7 toolsfind_surveys_for_positionAInspect
Find compensation surveys that benchmark a specific job title or position (e.g. 'Software Engineer', 'CPA', 'Sr Acct', 'head of finance'). Combines literal title matching with embedding-based semantic similarity, so abbreviations and paraphrases work — 'CPA' returns 'Certified Public Accountant', 'Sr Acct' returns 'Senior Accountant'. Reports per position are ranked to surface broad-coverage surveys (general-industry, US scope) before niche cuts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max position matches to return (default 5, max 20) | |
| position | Yes | Job title or position to look up (free text). Abbreviations and paraphrases are fine. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of conveying behavior. It discloses that matching uses literal title matching plus embedding-based semantic similarity, and that results are ranked to favor broad-coverage surveys over niche ones. It does not cover all potential behaviors (e.g., response format, rate limits), but it offers substantial transparency for a read-oriented search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the core purpose, and every sentence adds meaningful detail: what the tool does, how matching handles variations, and how results are ranked. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description does enough to set expectations about matching and ranking. It could additionally mention what fields appear in results (e.g., survey report IDs, titles), but for a lookup tool with clear input semantics and a single required parameter, the provided context is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers both parameters (position, limit) at 100% coverage, so the baseline is 3. The description adds value by explaining that 'position' accepts abbreviations and paraphrases, with concrete examples showing how fuzzy matching works, which goes beyond the schema's simple 'Job title or position to look up' and 'free text'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('compensation surveys') with a clear scoping qualifier ('benchmark a specific job title or position'). It gives concrete examples and explains the matching mechanism, which distinguishes it from sibling tools like search or recommend_surveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you have a job title or position to look up, including abbreviations and paraphrases. It provides illustrative examples but does not explicitly state when not to use it or mention alternatives such as 'search' or 'recommend_surveys'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportBInspect
Detailed info on a single survey report by slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Report slug (e.g. 'pas-aggregates-industry'). |
TDQS
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. It only states 'Detailed info' without explaining error behavior (e.g., not found), permissions, rate limits, or the exact fields returned. For a read operation, it does not explicitly say it's read-only, which could be inferred but not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the core purpose. It contains no redundant words or information. Every element is useful, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), and the description conveys the basic operation. However, it lacks detail about the return format, error handling, or any other contextual information that would help an agent rely on it fully. It is adequate but has clear gaps, especially since no output schema exists to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the slug parameter is fully described with an example). The description repeats the slug concept but adds no additional meaning beyond what the schema already provides. Baseline of 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns detailed information about a single survey report, identified by slug. It distinguishes itself from sibling tools like 'search' and 'recommend_surveys' by focusing on a single report lookup. However, it lacks an explicit verb like 'get' or 'retrieve', though the name 'get_report' implies the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention when to prefer this over 'find_surveys_for_position' or 'search', nor does it state any exclusions or prerequisites. Usage is only implied by the 'by slug' qualifier, but there is no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vendorAInspect
Detailed info on a specific vendor by slug, including all of their reports. Use after search or list_vendors_by_industry returns a candidate.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Vendor slug (e.g. 'mercer-benchmark-database', 'pas', 'wtw'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral disclosure. It states what the tool returns (detailed vendor info and reports), which covers the core behavior. However, it does not mention potential errors (e.g., invalid slug), permissions, or whether it is read-only, leaving some 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the purpose front-loaded and a concise usage note. Every word adds value; there is no redundancy or filler. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter getter with no output schema, the description covers the key aspects: what it does (returns vendor details and reports) and when to use it (after candidate search). It does not describe return structure or error handling, but the tool's simplicity makes the description nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes the 'slug' parameter with examples. The description only repeats 'by slug' and does not add new semantic detail beyond what the schema provides. Thus the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving detailed info for a specific vendor by slug, including all reports. It distinguishes this from siblings by emphasizing 'specific vendor' and 'all of their reports', and explicitly ties it to a follow-up step after search or list_vendors_by_industry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit usage trigger: 'Use after `search` or `list_vendors_by_industry` returns a candidate.' This clearly indicates when to invoke the tool. However, it does not explicitly state when not to use it or name alternative tools for different scenarios, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vendors_by_industryAInspect
List every CompShop vendor that publishes surveys for a given industry. Use when the user asks 'what survey publishers cover [industry]?'
| Name | Required | Description | Default |
|---|---|---|---|
| industry | Yes | Industry category. One of: general-industry, healthcare, life-sciences, tech, media, financial-services, insurance, energy, construction, retail, higher-ed, legal, nonprofit, executive, free. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It implies a read-only operation by saying 'List', but does not disclose details like sorting, pagination, or completeness guarantees beyond 'every'. This is adequate but lacks depth for a resource listing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: one functional and one usage pattern. Every word earns its place, no fluff or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a single parameter with a complete enum, and no output schema. The description clearly states the purpose and when to use it, which is sufficient for a simple listing tool. It lacks details on return value structure, but this is not critical for the described use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enum values are documented in the schema. The description merely says 'given industry', which adds no meaning beyond the schema. Baseline of 3 is appropriate because the schema fully covers the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists vendors that publish surveys for a given industry, using a specific verb ('List') and resource ('CompShop vendor'). It distinguishes from sibling tools like list_vendors_by_region (by region vs industry) and find_surveys_for_position (different purpose).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Use when the user asks...' with an example query pattern. It does not explicitly mention when not to use or compare with alternatives, but the 'given industry' scope is clear and differentiates from siblings like list_vendors_by_region.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vendors_by_regionAInspect
List vendors with survey coverage in a given region. Use when the user asks 'what publishers cover [region]?' Region is matched against both vendor-level scope and individual report scopes.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | One of: United States, Canada, United Kingdom, Europe, Asia Pacific, Latin America, Middle East & Africa, Global. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It adds useful context about matching against vendor-level and report scopes, which goes beyond the schema. However, it does not disclose return format, ordering, or explicitly confirm it is a read-only operation, leaving moderate gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the purpose and followed by a practical usage example. Every sentence contributes value without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, full enum, and no output schema, the description is fairly complete. It explains the tool's purpose and matching logic, but does not indicate exactly what fields a returned vendor object contains, which is a minor gap since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning by explaining that the region is matched against both vendor-level scope and individual report scopes, enriching the semantics of the 'region' parameter beyond the enum list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists vendors with survey coverage in a region, using a specific verb+resource+scope. It also provides an example user query and distinguishes itself from sibling tools like list_vendors_by_industry by focusing on regional coverage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool ('Use when the user asks...'), which is clear context. However, it does not mention when not to use it or name alternatives like list_vendors_by_industry, so it lacks explicit exclusion/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_surveysAInspect
Recommend the best-fit compensation surveys given a hiring/benchmarking context. Use when the user asks 'what survey should I use for [situation]?' Returns ranked vendors with rationale. Required: industry. Optional: region, role focus.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max recommendations (default 5, max 10) | |
| region | No | Optional. One of: United States, Canada, United Kingdom, Europe, Asia Pacific, Latin America, Middle East & Africa, Global. | |
| industry | Yes | Primary industry. One of: general-industry, healthcare, life-sciences, tech, media, financial-services, insurance, energy, construction, retail, higher-ed, legal, nonprofit, executive, free. | |
| role_focus | No | Optional free-text describing the role types being benchmarked (e.g. 'software engineers', 'physicians', 'sales reps', 'CEO and C-suite'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses the return behavior ('Returns ranked vendors with rationale') and mentions required/optional parameters, but does not discuss safety (e.g., read-only nature), data sources, or limitations. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: first states purpose, second gives usage trigger, third summarizes parameters. No redundancy, front-loaded with the key verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with 4 documented parameters and no output schema. The description provides purpose, when to use, return format, and required/optional parameters. It does not explain how ranked vendors are ordered or any underlying logic, but this is sufficient for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for every parameter. The description only restates what is already in the schema (required industry, optional region/role_focus) and adds no extra semantic value, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Recommend the best-fit compensation surveys given a hiring/benchmarking context.' It clearly differentiates from siblings like list_vendors_by_industry or find_surveys_for_position by focusing on best-fit recommendations with ranked vendors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use when the user asks "what survey should I use for [situation]?"' This gives a clear trigger. However, it does not mention when not to use or directly reference alternatives, which keeps it a step below a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Free-text search across the CompShop directory of compensation surveys. Returns matching vendors, reports, job families, and positions. Use for open-ended discovery questions like 'biotech surveys in Europe' or 'CEO compensation data'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results per group (default 5, max 15) | |
| query | Yes | Free-text query (job title, industry, vendor, geography, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It states what the tool returns and implies read-only search behavior, but it does not mention result grouping, ordering, or potential limitations. The example queries add some context but leave room for richer behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the main action and result categories, and includes concrete examples. Every sentence contributes useful information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with no output schema, the description adequately explains what results are returned and provides usage examples. It covers the essential context for an agent to select and invoke the tool, given that parameters are fully documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes both parameters fully (100% coverage), including query semantics and limit constraints. The description does not add new parameter details beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a free-text search across the CompShop directory and lists the types of results returned (vendors, reports, job families, positions). It distinguishes itself from siblings by focusing on open-ended discovery rather than specific lookups, and the examples reinforce the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage context with example queries and frames the tool for open-ended discovery questions. It does not explicitly list exclusions or alternative tools, but the examples imply when to use it over more structured siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
find_surveys_for_position1 field changed- changed
Input schema / properties / position / descriptionPrevious value: -"Job title or position to look up (free text)."New value: +"Job title or position to look up (free text). Abbreviations and paraphrases are fine."
7 tool updates
- First observed
find_surveys_for_position - First observed
get_report - First observed
get_vendor - First observed
list_vendors_by_industry - First observed
list_vendors_by_region - First observed
recommend_surveys - First observed
search
Related MCP Connectors
H1B visa salary disclosures + compensation benchmarks — real numbers, not estimates.
Live healthcare pay data: advertised ranges by role/state/city, offer checks, transparency scores.
Job descriptions, skills, education requirements, and wage data
Search remote jobs, compare salaries, create alerts, and request user-confirmed apply links.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceUS + EU salary benchmarking, pay transparency compliance, and semantic endpoints. 1,400+ US occupations, 28 EU countries. MCP server for AI agents.MIT
- FlicenseNot gradedqualityCmaintenanceEnables querying real disclosed salary data across 20 regions, with tools to search jobs, retrieve salary statistics, and find similar roles.-
- FlicenseNot gradedqualityCmaintenanceProvides job search, employer profiling, talent demand analysis, salary lookup, and recruitment trend analysis to assist with talent market research, employer analysis, and hiring decisions.3-

JobsPipe MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables searching live, normalized job postings from 30+ ATS feeds and job boards, with tools for job search, source listing, pricing plans, and Upwork jobs.-
Glama MCP Gateway
Add one secure layer between your agents and this server.