Compensation Professional MCP
Provides read-only access to Compensation Professional's compensation-focused book library, query-based answers, and wage-compliance data. It exposes tools to list feeds, search and retrieve library works, get specific answers, and retrieve wage jurisdiction details via JSON-RPC 2.0.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://compensationprofessional.com/api/mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to compensationprofessional.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search the compensation book library
- Retrieve specific library works
- Get wage compliance jurisdiction data
- Query compensation answers
Source and maintenance
Protocol and capabilities
- Server
- compensationprofessional-discovery 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
6 advertised
list_compensationprofessional_feeds — List Compensation Professional feeds
List Compensation Professional's free machine-readable feeds and their MCP/REST availability. OpenAPI is also published at https://compensationprofessional.com/openapi.json.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"count",
"openapi",
"feeds"
],
"properties": {
"count": {
"type": "number"
},
"feeds": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"method",
"path",
"summary",
"mcpTool",
"rest",
"auth"
],
"properties": {
"id": {
"type": "string"
},
"auth": {
"type": "string"
},
"path": {
"type": "string"
},
"rest": {
"type": "string"
},
"method": {
"type": "string"
},
"mcpTool": {
"type": [
"string",
"null"
]
},
"summary": {
"type": "string"
}
},
"additionalProperties": false
}
},
"openapi": {
"type": "string"
},
"contract": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}search_library — Search the compensation library catalog
Search or list the compensation-focused book library by title/author substring and/or classifier tag. No filters returns the first page.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag": {
"type": "string",
"description": "Case-insensitive classifier-tag substring."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max rows to return (default 25, max 100)."
},
"query": {
"type": "string",
"description": "Case-insensitive title/author substring."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"query",
"tag",
"total",
"count",
"results"
],
"properties": {
"tag": {
"type": [
"string",
"null"
]
},
"count": {
"type": "number"
},
"query": {
"type": [
"string",
"null"
]
},
"total": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"libraryId",
"title",
"author",
"year",
"tags",
"canonicalUrl"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"year": {
"type": [
"number",
"null"
]
},
"title": {
"type": "string"
},
"author": {
"type": [
"string",
"null"
]
},
"libraryId": {
"type": "string"
},
"canonicalUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"contract": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_library_work — Get a compensation library work
Returns one compensation library work's bibliographic record and (when profiled) its thesis.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"libraryId"
],
"properties": {
"libraryId": {
"type": "string",
"description": "Library catalog id (e.g. lib933f3afbe567c9ab)."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"libraryId",
"title",
"author",
"year",
"tags",
"logline",
"pitch",
"canonicalUrl"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"year": {
"type": [
"number",
"null"
]
},
"pitch": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"author": {
"type": [
"string",
"null"
]
},
"logline": {
"type": [
"string",
"null"
]
},
"contract": {
"type": "string"
},
"libraryId": {
"type": "string"
},
"canonicalUrl": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_answer — Get a query-shaped compensation answer
Returns one authored /answers page as structured content: question, short answer, problem frame, and citations. Known slugs (14): how-to-set-pay-ranges, what-should-we-pay-for-a-role, is-our-pay-competitive, how-to-tie-executive-pay-to-performance, executive-compensation-components, how-much-executive-pay-at-risk, business-case-for-changing-rewards, make-financial-case-for-compensation, ….
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Answer slug from the query map (e.g. how-to-set-pay-ranges)."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"slug",
"question",
"relatedQuestions",
"problemFrame",
"shortAnswer",
"categoryTerms",
"contentTargets",
"sources",
"citations",
"canonicalUrl"
],
"properties": {
"slug": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"libraryId",
"title"
],
"properties": {
"title": {
"type": "string"
},
"author": {
"type": "string"
},
"libraryId": {
"type": "string"
}
},
"additionalProperties": false
}
},
"contract": {
"type": "string"
},
"question": {
"type": "string"
},
"citations": {
"type": "array",
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"libraryId": {
"type": "string"
}
},
"additionalProperties": false
}
},
"shortAnswer": {
"type": "string"
},
"canonicalUrl": {
"type": "string"
},
"problemFrame": {
"type": "string"
},
"categoryTerms": {
"type": "array",
"items": {
"type": "string"
}
},
"contentTargets": {
"type": "array",
"items": {
"type": "object",
"required": [
"href",
"label"
],
"properties": {
"href": {
"type": "string"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
}
},
"relatedQuestions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_wage_jurisdiction — Get an effective-dated minimum-wage record
Returns one tracked jurisdiction's current minimum-wage rate, effective date, validation status, and next scheduled step. 113 known jurisdictions, e.g.: federal, alaska, alabama, arkansas.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Jurisdiction slug (e.g. federal, california)."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"slug",
"name",
"displayName",
"fullLabel",
"type",
"typeLabel",
"stateCode",
"rate",
"currency",
"classification",
"effectiveStart",
"validationStatus",
"confidence",
"scheduledRule",
"source",
"retrievedAt",
"canonicalUrl"
],
"properties": {
"name": {
"type": "string"
},
"rate": {
"type": "number"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"source": {
"type": "string"
},
"contract": {
"type": "string"
},
"currency": {
"type": "string"
},
"fullLabel": {
"type": "string"
},
"stateCode": {
"type": [
"string",
"null"
]
},
"typeLabel": {
"type": "string"
},
"confidence": {
"type": "number"
},
"displayName": {
"type": "string"
},
"retrievedAt": {
"type": "string"
},
"canonicalUrl": {
"type": "string"
},
"scheduledRule": {
"anyOf": [
{
"type": "object",
"required": [
"rate",
"effectiveStart",
"jurisdictionDisplayName"
],
"properties": {
"rate": {
"type": "number"
},
"effectiveStart": {
"type": "string"
},
"jurisdictionDisplayName": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"classification": {
"type": "string"
},
"effectiveStart": {
"type": "string"
},
"validationStatus": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}check_wage_locations — Check the binding minimum wage for multiple locations
Checks the binding minimum-wage rate for up to 50 US locations in one call (city/county rate when it applies, else state, else federal). Each location may be a place name ("Spokane, WA", "Texas", "TX") or a jurisdiction slug. A city with no rule of its own on file returns its state's rate with noLocalRule:true. An unmatched location returns found:false with a reason instead of being omitted. 113 known jurisdictions, e.g.: federal, alaska, alabama, arkansas.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"locations"
],
"properties": {
"locations": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"description": "Up to 50 places, one per item: \"City, ST\", a state name or code, or a slug (e.g. Spokane, WA; texas; seattle-wa)."
},
"rangeMinimum": {
"type": "number",
"description": "Optional proposed hourly range minimum; each found row returns belowRangeMinimum (CP-129/130).",
"exclusiveMinimum": 0
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contract",
"requested",
"found",
"results",
"source",
"retrievedAt"
],
"properties": {
"found": {
"type": "number"
},
"source": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"input",
"found"
],
"properties": {
"name": {
"type": "string"
},
"rate": {
"type": "number"
},
"slug": {
"type": "string"
},
"type": {
"type": "string"
},
"found": {
"type": "boolean"
},
"input": {
"type": "string"
},
"reason": {
"enum": [
"not_recognised",
"ambiguous"
],
"type": "string"
},
"currency": {
"type": "string"
},
"fullLabel": {
"type": "string"
},
"stateCode": {
"type": [
"string",
"null"
]
},
"typeLabel": {
"type": "string"
},
"candidates": {
"type": "array",
"items": {
"type": "string"
}
},
"didYouMean": {
"type": [
"string",
"null"
]
},
"displayName": {
"type": "string"
},
"noLocalRule": {
"type": "boolean"
},
"canonicalUrl": {
"type": "string"
},
"scheduledRule": {
"anyOf": [
{
"type": "object",
"required": [
"rate",
"effectiveStart",
"jurisdictionDisplayName"
],
"properties": {
"rate": {
"type": "number"
},
"effectiveStart": {
"type": "string"
},
"jurisdictionDisplayName": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"effectiveStart": {
"type": "string"
},
"belowRangeMinimum": {
"type": "object",
"required": [
"now",
"next",
"nextEffective"
],
"properties": {
"now": {
"type": "boolean"
},
"next": {
"type": "boolean"
},
"nextEffective": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"contract": {
"type": "string"
},
"requested": {
"type": "number"
},
"retrievedAt": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 625 ms
- 95th percentile latency
- 625 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 625 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http compensation-professional-mcp https://compensationprofessional.com/api/mcpCodex
codex mcp add compensation-professional-mcp --url https://compensationprofessional.com/api/mcpCursor
{
"mcpServers": {
"compensation-professional-mcp": {
"url": "https://compensationprofessional.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"compensation-professional-mcp": {
"type": "streamableHttp",
"url": "https://compensationprofessional.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"compensation-professional-mcp": {
"type": "http",
"url": "https://compensationprofessional.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http compensation-professional-mcp https://compensationprofessional.com/api/mcpClaude Desktop
https://compensationprofessional.com/api/mcpWindsurf
{
"mcpServers": {
"compensation-professional-mcp": {
"serverUrl": "https://compensationprofessional.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like Compensation Professional MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Compensation Professional MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.