Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the HackerRank Work MCP server

Vendor MCP
Open markdown

The HackerRank Work MCP connector routes your AI agent's tool calls to HackerRank Work's own MCP server through Scalekit. Each user signs in to HackerRank Work once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 58 tools.

Tools
58
What they doRead · write · destructive
56 · 0 · 256 read0 write2 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the HackerRank Work MCP connection

    In AgentKit > Connections, create a HackerRank Work MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for HackerRank Work MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'hackerrankworkmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize HackerRank Work MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'hackerrankworkmcp_check_api_connection',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • hackerrankworkmcp_check_api_connectionVerify that the resolved downstream credential works for a HackerRank API version and read path.Read-only

    Check Api Connection

    Verify that the resolved downstream credential works for a HackerRank API version and read path.

    Inputs

    auth_modestring
    Authentication transport required by the endpoint.one of bearerquerydefault bearer
    pathstring
    Complete versioned read path to verify.default /x/api/v3/tests
  • hackerrankworkmcp_compare_candidate_resultsHigher-order workflow: compare 2-10 candidates on one test using normalized score and report evidence.Read-only

    Compare Candidate Results

    Higher-order workflow: compare 2-10 candidates on one test using normalized score and report evidence.

    Inputs

    candidate_idsarrayrequired
    Candidate IDs to compare (2 to 10).
    test_idstringrequired
    Test ID.
    include_rawboolean
    Include raw upstream responses.default false
  • hackerrankworkmcp_decode_status_valuesDecode candidate status or ATS state values into human-readable labels.Read-only

    Decode Status Values

    Decode candidate status or ATS state values into human-readable labels.

    Inputs

    ats_stateinteger
    ATS state value from 0 through 22.
    statusinteger
    Candidate status value: -1, 0, 1, or 7.
  • hackerrankworkmcp_describe_api_operationDescribe parameters, responses, and examples for read-only HackerRank tools and read and write Chakra tools.Read-only

    Describe Api Operation

    Describe parameters, responses, and examples for read-only HackerRank tools and read and write Chakra tools.

    Inputs

    include_examplesboolean
    Include dedicated tool-call examples.default true
    methodstring
    For lookup by path, only GET is supported. To describe candidate invitations, provide tool: invite_chakra_candidates instead of method and path.default GET
    pathstring
    HackerRank API path for lookup by method and path, for example /questions or /x/api/v3/tests/{id}.
    toolstring
    MCP tool name, for example list_candidates or invite_chakra_candidates. Use the tool name to describe invitation workflows.
  • hackerrankworkmcp_filter_candidates_by_ats_stateHigher-order workflow: use the V3 ATS-state filter to return candidates in one ATS workflow state.Read-only

    Filter Candidates By Ats State

    Higher-order workflow: use the V3 ATS-state filter to return candidates in one ATS workflow state.

    Inputs

    ats_stateintegerrequired
    No description.
    test_idstringrequired
    Test ID.
    page_sizeinteger
    No description.default 100
  • hackerrankworkmcp_filter_candidates_by_statusHigher-order workflow: use the V3 status filter to return candidates in one candidate status.Read-only

    Filter Candidates By Status

    Higher-order workflow: use the V3 status filter to return candidates in one candidate status.

    Inputs

    statusnumberrequired
    Status value: -1, 0, 1, or 7.one of -1017
    test_idstringrequired
    Test ID.
    page_sizeinteger
    No description.default 100
  • hackerrankworkmcp_find_candidates_needing_reviewHigher-order workflow: find completed candidates whose reports are ready or pending but ATS state has no review decision.Read-only

    Find Candidates Needing Review

    Higher-order workflow: find completed candidates whose reports are ready or pending but ATS state has no review decision.

    Inputs

    test_idstringrequired
    Test ID.
    limitinteger
    No description.default 100
    max_candidatesinteger
    No description.default 1000
  • hackerrankworkmcp_find_stale_invitesHigher-order workflow: list invited or in-progress candidates older than a configurable age threshold.Read-only

    Find Stale Invites

    Higher-order workflow: list invited or in-progress candidates older than a configurable age threshold.

    Inputs

    test_idstringrequired
    Test ID.
    limitinteger
    No description.default 100
    max_candidatesinteger
    No description.default 1000
    older_than_daysinteger
    No description.default 7