MCP Integration

Local MCP Server

Run the Threshold MCP server locally via the threshold-mcp Python package. Best for developers who want lower latency, or building bespoke workflows.

Last updated

When to Use This

Most users should start with the Remote MCP Server — it requires no installation and works immediately.

Use the local CLI server if you:

  • Want responses to bypass an extra network hop
  • Need to work in environments with restricted outbound connections
  • Prefer managing the server process yourself

Prerequisites

  • Python 3.10+ installed
  • A Threshold API key from the dashboard

Step 1: Install the Package

pip install threshold-mcp

This installs the threshold-mcp command, a lightweight stdio-based MCP server that communicates with Threshold’s API.

Step 2: Configure Your Client

Add the local server to your MCP client configuration. The server reads your API key from the THRESHOLD_API_KEY environment variable.

Open your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "threshold": {
      "command": "threshold-mcp",
      "env": {
        "THRESHOLD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Then quit Claude Desktop completely and reopen it.

Step 3: Verify the Connection

Start a new conversation and try a simple query:

What is the prevailing wage for a Software Developer (SOC 15-1252) in San Francisco?

Your AI assistant will call the lookup_prevailing_wage tool and return structured wage data for all four DOL wage levels.

Available Tools

Once connected, your client has access to the full Threshold API:

ToolDescription
lookup_prevailing_wageDOL wage thresholds by SOC code and location
calculate_wage_levelDetermine wage level for an offered salary
search_soc_codesFind SOC codes by keyword or job title
get_soc_detailsFull SOC description and filing statistics
get_soc_onet_profileO*NET 30.3 tasks, knowledge, skills, abilities, work activities, interests, work styles, work context, technology skills, alternate titles, education distributions, and Job Zone. Optional onet_version pins the profile to a prior release (30.1, 30.2) for reproducing past determinations.
list_onet_versionsList the O*NET releases currently loaded (30.1, 30.2, 30.3) and which is the default. Call this first to discover available releases before pinning onet_version.
search_employersSearch H-1B employers by name
get_employer_profileFiling history, top SOC codes, wage stats
top_employers_for_socWhich employers file under a SOC code, ranked by filing volume. Optional worksite state, CBSA, and fiscal-year filters. The reverse of search_employers, which only matches names.
get_employer_intelligenceDenial benchmarks, lottery score, program health
analyze_classificationCompare SOC options with wage level implications
optimize_geographyRank metro areas by lottery advantage
generate_wage_evidencePDF wage evidence for H-1B registration

Troubleshooting

threshold-mcp: command not found: Make sure the package is installed in a Python environment that’s on your system PATH. If you used a virtual environment, the command won’t be available globally.

Authentication errors: Verify that THRESHOLD_API_KEY is set correctly. You can test it directly:

THRESHOLD_API_KEY="YOUR_API_KEY" threshold-mcp --help

Tools not appearing: Restart your client after changing the configuration. Some clients only load MCP servers on startup.