Skip to main content
Glama
Sicks3c

HackerOne MCP Server

by Sicks3c

get_report

Retrieve detailed HackerOne vulnerability reports by ID to analyze findings, assess severity, and review program information for security assessment.

Instructions

Get the full details of a specific HackerOne report by ID. Returns title, vulnerability details, impact, severity, CVSS, timestamps, and program info.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
report_idYesThe HackerOne report ID

Implementation Reference

  • The actual implementation of the getReport function that fetches and processes the report data.
    export async function getReport(reportId: string) {
      const data = await h1Fetch(`/hackers/reports/${reportId}`);
      const r = data.data;
      const attrs = r.attributes;
      const sev = r.relationships?.severity?.data?.attributes;
    
      return {
        id: r.id,
        title: attrs.title,
        state: attrs.state,
        created_at: attrs.created_at,
        closed_at: attrs.closed_at,
        triaged_at: attrs.triaged_at,
        bounty_awarded_at: attrs.bounty_awarded_at,
        disclosed_at: attrs.disclosed_at,
        severity: sev?.rating ?? null,
        vulnerability_information: attrs.vulnerability_information,
        weakness: r.relationships?.weakness?.data?.attributes?.name ?? null,
        program:
          r.relationships?.program?.data?.attributes?.handle ?? null,
        structured_scope:
          r.relationships?.structured_scope?.data?.attributes?.asset_identifier ??
          null,
      };
    }
  • src/index.ts:88-113 (registration)
    The MCP tool registration for 'get_report', which invokes the getReport function.
    // ── Tool: get_report ───────────────────────────────────────────────
    server.tool(
      "get_report",
      "Get the full details of a specific HackerOne report by ID. Returns title, vulnerability details, impact, severity, CVSS, timestamps, and program info.",
      {
        report_id: z.string().describe("The HackerOne report ID"),
      },
      async ({ report_id }) => {
        try {
          const report = await getReport(report_id);
          return {
            content: [
              {
                type: "text" as const,
                text: JSON.stringify(report, 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