Probative Growth MCP
An official MCP server by Probative Growth providing read-only access to US legal market research data, including demand, lawyer supply, and advertising rules by county and practice area. It supports tools for resolving market keys, generating market profiles, comparing markets, checking advertising rules, and analyzing supply gaps and demand trends.
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://probativegrowth.com/mcp/marketsWhat you can do with it
- Resolve market keys for specific counties and practice areas
- Generate market profiles with demand and supply figures
- Check state-specific lawyer advertising rules and restrictions
- Analyze supply gaps and demand trends across US markets
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- com.probativegrowth/legal-markets 1.5.1
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- 2 advertised
- Resource templates
- 2 advertised
- Prompts
- 1 advertised
{
"tools": {},
"prompts": {},
"resources": {},
"extensions": {
"io.modelcontextprotocol/ui": {}
},
"completions": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
resolve — Resolve a place or practice to keys
Turns a place and/or practice phrase into the keys every other tool takes. Only for turning words into keys; the other tools answer the questions.
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "A place and/or practice phrase, EN or ES (\"Condado de Los…"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"resolved"
]
}{
"title": "Resolve a place or practice to keys",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}market_profile — Market profile for one place and practice
All the figures, the whole picture, of one state or county and one practice area from the linked open datasets. Results are not legal advice.
{
"type": "object",
"required": [
"state",
"practice"
],
"properties": {
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter state code (TX), a state name, or DC"
},
"county": {
"type": "string",
"maxLength": 60,
"description": "Optional county: five-digit FIPS (48201) or name (\"Harris\")"
},
"detail": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
},
"dimensions": {
"type": "array",
"items": {
"enum": [
"demand",
"supply",
"spanish",
"population",
"money",
"benchmark"
],
"type": "string"
},
"description": "Only these dimensions (default all)"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"place",
"practice",
"figures"
]
}{
"title": "Market profile for one place and practice",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}supply_gap — Where demand per lawyer is high
Ranks the states (state "US") or one state's counties by demand for each law office. No composite score. Not legal advice.
{
"type": "object",
"required": [
"state",
"practice"
],
"properties": {
"top": {
"type": "integer",
"maximum": 300,
"minimum": 1,
"description": "Rank only the N units with the most demand (e.g. 25)"
},
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 60,
"minimum": 1
},
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter state code to rank its counties, or US to rank the…"
},
"metric": {
"type": "string",
"maxLength": 80,
"description": "Optional demand measure key from options (e.g.…"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
},
"minDemand": {
"type": "number",
"minimum": 0,
"description": "Leave out units whose demand count is below this (small counts…"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"demand",
"supply",
"formula",
"ranked"
]
}{
"title": "Where demand per lawyer is high",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_markets — Compare up to 10 markets
The same practice-area figures for up to 10 states or counties side by side to compare, plus per-100. Not legal advice.
{
"type": "object",
"required": [
"places",
"practice"
],
"properties": {
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"detail": {
"enum": [
"summary",
"full"
],
"type": "string",
"default": "summary"
},
"places": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"minItems": 1,
"description": "States (TX, Florida) or counties (48201, \"Cook County, IL\")"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"rows",
"perCapita"
]
}{
"title": "Compare up to 10 markets",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}rank_markets — Rank states or counties by demand
Ranks the states (state "US") or one state's counties by one demand count for the practice. A count, not a score. Results are not legal advice.
{
"type": "object",
"required": [
"state",
"practice"
],
"properties": {
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 60,
"minimum": 1
},
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter state code to rank its counties, or US to rank the…"
},
"metric": {
"type": "string",
"maxLength": 80,
"description": "Optional demand measure key (e.g.…"
},
"per100k": {
"type": "boolean",
"default": false,
"description": "Rank by the count per 100,000 residents instead of the count"
},
"minValue": {
"type": "number",
"minimum": 0,
"description": "Leave out units whose count is below this (small counts make…"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"measure",
"formula",
"ranked"
]
}{
"title": "Rank states or counties by demand",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}demand_trend — Rising or falling demand
The time series each linked demand dataset holds for a state or county. Answers "are filings going up or down". Not legal advice.
{
"type": "object",
"required": [
"place",
"practice"
],
"properties": {
"kind": {
"enum": [
"filings",
"any"
],
"type": "string",
"default": "any"
},
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"sort": {
"enum": [
"change",
"pct"
],
"type": "string",
"default": "change"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"place": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "A state (CA), a county FIPS (06037) or \"County, ST\""
},
"dataset": {
"type": "string",
"maxLength": 80,
"description": "Only this dataset id or measure key (optional)"
},
"minValue": {
"type": "number",
"minimum": 0,
"description": "Leave out changes whose larger value is below this"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
},
"direction": {
"enum": [
"rising",
"falling",
"any"
],
"type": "string",
"default": "any"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"series",
"changes",
"rule"
]
}{
"title": "Rising or falling demand",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}supply_trend — Rising or falling lawyer supply
The time series of lawyer supply (private law offices, and any other supply count with two periods) for a state or county. Results are not legal advice.
{
"type": "object",
"required": [
"place",
"practice"
],
"properties": {
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"sort": {
"enum": [
"change",
"pct"
],
"type": "string",
"default": "change"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"place": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "A state (CA), a county FIPS (06037) or \"County, ST\""
},
"dataset": {
"type": "string",
"maxLength": 80,
"description": "Only this dataset id or measure key (optional)"
},
"minValue": {
"type": "number",
"minimum": 0,
"description": "Leave out changes whose larger value is below this"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
},
"direction": {
"enum": [
"rising",
"falling",
"any"
],
"type": "string",
"default": "any"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"series",
"changes",
"rule"
]
}{
"title": "Rising or falling lawyer supply",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}rules_check — Ad rules for a state and practice
The lawyer advertising rules (filing, required content, waiting periods, claims, referral, language, recording, texting, privacy). Results are not legal advice.
{
"type": "object",
"required": [
"state",
"practice"
],
"properties": {
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter state code (TX), a state name, or DC"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice id (personal-injury, truck-accidents, employment-law…"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"cells"
]
}{
"title": "Ad rules for a state and practice",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_practice_market — Google search volume and search-ad bid bands for one practice
Google search volume (monthly searches for a lawyer, in English and Spanish, with the top queries and the month-by-month series) and the Google Ads top-of-page bid band…
{
"type": "object",
"required": [
"state",
"practice"
],
"properties": {
"lang": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"state": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Two-letter state code (TX), a state name, DC, or US for the…"
},
"practice": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Practice or niche id (personal-injury, truck-accidents…"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"meta",
"provenance",
"answer"
]
}{
"title": "Google search volume and search-ad bid bands for one practice",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
1 advertised
market_brief — Market brief for one state and practice area
Loads every figure the open datasets hold for one state and practice area (demand, lawyer supply, Spanish-language demand, prices) and the ad rules that apply, and asks for a short research brief with each figure sourced and a cite-as line to end with. Not a forecast. Not legal advice.
- state
- Two-letter code (TX), or DC (required)
- practice
- Practice id (personal-injury, immigration, employment-law...) (required)
Resources
2 advertised
tools — Every tool on this endpoint, in full
Full tool descriptions, input schemas and output schemas
probative://toolsmarkets-index — Markets layer: states, counties, practices and dataset versions
The keys the markets tools take, each practice's linked datasets, and every dataset's version and DOI
https://probativegrowth.com/data/v1/markets/index.jsondataset-card — One dataset: its card
id: a dataset id (list_datasets shows them). The card gives the summary, version, DOI, how to cite, the open files and the tools.
probative://dataset/{id}/cardmarkets-state — Markets layer: one state's figures
state: two-letter code in capitals (TX), or US for every state-level figure
https://probativegrowth.com/data/v1/markets/places/{state}.json30-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
- 751 ms
- 95th percentile latency
- 751 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 751 ms · metadata changed · 9 tool(s), 2 resource(s), 2 resource template(s), 1 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http probative-growth-mcp-probativegrowth https://probativegrowth.com/mcp/marketsCodex
codex mcp add probative-growth-mcp-probativegrowth --url https://probativegrowth.com/mcp/marketsCursor
{
"mcpServers": {
"probative-growth-mcp-probativegrowth": {
"url": "https://probativegrowth.com/mcp/markets"
}
}
}Cline
{
"mcpServers": {
"probative-growth-mcp-probativegrowth": {
"type": "streamableHttp",
"url": "https://probativegrowth.com/mcp/markets",
"disabled": false
}
}
}VS Code
{
"servers": {
"probative-growth-mcp-probativegrowth": {
"type": "http",
"url": "https://probativegrowth.com/mcp/markets"
}
}
}Gemini CLI
gemini mcp add --transport http probative-growth-mcp-probativegrowth https://probativegrowth.com/mcp/marketsClaude Desktop
{
"mcpServers": {
"probative-growth-mcp-probativegrowth": {
"url": "https://probativegrowth.com/mcp/markets"
}
}
}Windsurf
{
"mcpServers": {
"probative-growth-mcp-probativegrowth": {
"serverUrl": "https://probativegrowth.com/mcp/markets"
}
}
}Let your agent find its tools
Find servers like Probative Growth 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 Probative Growth 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.