Skip to main content
Glama
Sicks3c

HackerOne MCP Server

by Sicks3c

get_program_scope

Retrieve in-scope assets for bug bounty programs to identify eligible targets, asset types, and severity caps when drafting security reports.

Instructions

Get the in-scope assets for a bug bounty program. Returns asset types, identifiers, bounty eligibility, and severity caps. Useful when drafting reports to pick the correct asset.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
program_handleYesProgram handle (e.g. 'uber', 'ipc-h1c-aws-tokyo-2026')
page_sizeNoNumber of scope items to return (default 100)

Implementation Reference

  • The actual implementation of the get_program_scope logic, which fetches and transforms the structured scope data for a program.
    export async function getProgramScope(handle: string, pageSize = 100) {
      const data = await h1Fetch(`/hackers/programs/${handle}/structured_scopes`, {
        "page[size]": String(pageSize),
      });
    
      return data.data.map((s: any) => ({
        id: s.id,
        asset_type: s.attributes.asset_type,
        asset_identifier: s.attributes.asset_identifier,
        eligible_for_bounty: s.attributes.eligible_for_bounty,
        eligible_for_submission: s.attributes.eligible_for_submission,
        instruction: s.attributes.instruction,
        max_severity: s.attributes.max_severity,
        created_at: s.attributes.created_at,
      }));
    }
  • src/index.ts:274-303 (registration)
    Registration of the get_program_scope tool with the MCP server, including input schema definition and tool handler mapping.
    server.tool(
      "get_program_scope",
      "Get the in-scope assets for a bug bounty program. Returns asset types, identifiers, bounty eligibility, and severity caps. Useful when drafting reports to pick the correct asset.",
      {
        program_handle: z
          .string()
          .describe("Program handle (e.g. 'uber', 'ipc-h1c-aws-tokyo-2026')"),
        page_size: z
          .number()
          .min(1)
          .max(100)
          .optional()
          .describe("Number of scope items to return (default 100)"),
      },
      async ({ program_handle, page_size }) => {
        try {
          const scope = await getProgramScope(program_handle, page_size);
          return {
            content: [
              {
                type: "text" as const,
                text: JSON.stringify(scope, null, 2),
              },
            ],
          };
        } catch (err: any) {
          return {
            content: [{ type: "text" as const, text: `Error: ${err.message}` }],
            isError: true,
          };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sicks3c/hackerone-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server