{
  "name": "hadef",
  "description": "Hadef's hosted MCP server for podcast guest booking. Research a prospect from a LinkedIn URL, poll for the generated pitch, retrieve it, and record the outbound you send from your own stack. Research is drawn from real transcripts of the person's public appearances. Pitch text is model-written and intended for human review before sending. A completed run draws one credit from the account balance at the moment a pitch exists; retrieval and bookkeeping are free.",
  "version": "1.0.0",
  "transport": {
    "type": "streamable-http",
    "url": "https://hadef.io/mcp"
  },
  "authentication": {
    "type": "http",
    "scheme": "bearer",
    "description": "Authenticate tool calls with a Hadef API key issued in Settings > API. Send it as 'Authorization: Bearer hdk_<key>'. Discovery methods (initialize, tools/list, ping) are open; tools/call requires a valid key and spends account credits.",
    "tokenPrefix": "hdk_",
    "keyIssuanceUrl": "https://hadef.io/app/settings"
  },
  "tools": [
    {
      "name": "research_prospect",
      "description": "Start a research + pitch run for a prospect by LinkedIn URL. Requires a positive credit balance. Returns a prospect_id to poll.",
      "inputSchema": {
        "type": "object",
        "required": [
          "linkedin_url"
        ],
        "properties": {
          "linkedin_url": {
            "type": "string",
            "description": "The prospect's LinkedIn profile URL."
          },
          "name": {
            "type": "string",
            "description": "Optional full name of the prospect."
          }
        }
      }
    },
    {
      "name": "check_status",
      "description": "Check the status of a research run and whether a pitch is ready.",
      "inputSchema": {
        "type": "object",
        "required": [
          "prospect_id"
        ],
        "properties": {
          "prospect_id": {
            "type": "string"
          }
        }
      }
    },
    {
      "name": "get_pitch",
      "description": "Get the generated LinkedIn message and email for a prospect, once ready.",
      "inputSchema": {
        "type": "object",
        "required": [
          "prospect_id"
        ],
        "properties": {
          "prospect_id": {
            "type": "string"
          }
        }
      }
    },
    {
      "name": "list_prospects",
      "description": "List the prospects on your account, newest first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "default": 20
          }
        }
      }
    },
    {
      "name": "mark_pitch_sent",
      "description": "Record that you sent this pitch yourself, on linkedin or email. Hadef does not deliver it. Free, spends no credit.",
      "inputSchema": {
        "type": "object",
        "required": [
          "pitch_id"
        ],
        "properties": {
          "pitch_id": {
            "type": "string"
          },
          "channel": {
            "type": "string",
            "enum": [
              "linkedin",
              "email"
            ],
            "default": "linkedin"
          }
        }
      }
    },
    {
      "name": "get_credits",
      "description": "Get the remaining credit balance on your account.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
  ],
  "contactUrl": "https://hadef.io/contact",
  "documentationUrl": "https://hadef.io/docs/api"
}
