{
  "id": "surf.fund.portfolio",
  "object": "tool",
  "name": "Fund Portfolio",
  "summary": "Returns investment rounds for a fund's portfolio, sorted by date (newest first).",
  "description": "Returns investment rounds for a fund's portfolio, sorted by date (newest first). A project may appear multiple times if the fund participated in multiple rounds. Included fields: project name, logo, date, raise amount, lead investor status. Lookup: by UUID (id) or name (q).\n\nRaw surf#fund/portfolio endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.asksurf.ai/data-api/fund/portfolio).",
  "category": "lookup",
  "hosted_by": "Surf",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "surf",
      "name": "Surf",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "surf_fund_portfolio",
  "input_schema": {
    "type": "object",
    "properties": {
      "queryParams": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Surf fund UUID. PREFERRED — always use this when available from a previous response (e.g. id from /search/fund). Takes priority over q. Example: ef3b6da9-283d-4080-b3c7-87b1b45924dc."
              },
              "q": {
                "type": "string",
                "minLength": 1,
                "description": "Fuzzy fund name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. Example: a16z."
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100,
                "description": "Results per page. Example: 20. Defaults to 20."
              },
              "offset": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991,
                "description": "Pagination offset. Example: 0. Defaults to 0."
              },
              "is_lead": {
                "type": "string",
                "enum": [
                  "true",
                  "false",
                  ""
                ],
                "description": "Filter by lead investor status. Omit or leave empty for all investments. Example: true."
              },
              "invested_after": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991,
                "description": "Only include investments at or after this Unix timestamp (seconds). Example: 1704067200."
              },
              "invested_before": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991,
                "description": "Only include investments before this Unix timestamp (seconds). Example: 1735689600."
              },
              "sort_by": {
                "type": "string",
                "enum": [
                  "invested_at",
                  "recent_raise",
                  "total_raise"
                ],
                "description": "Field to sort results by. Example: recent_raise. Defaults to \"invested_at\"."
              },
              "order": {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ],
                "description": "Sort order. Example: desc. Defaults to \"desc\"."
              }
            },
            "required": [
              "id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "Surf fund UUID. PREFERRED — always use this when available from a previous response (e.g. id from /search/fund). Takes priority over q. Example: ef3b6da9-283d-4080-b3c7-87b1b45924dc."
              },
              "q": {
                "type": "string",
                "minLength": 1,
                "description": "Fuzzy fund name search. Only use when 'id' is not available. May return unexpected results for ambiguous names. Example: a16z."
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100,
                "description": "Results per page. Example: 20. Defaults to 20."
              },
              "offset": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991,
                "description": "Pagination offset. Example: 0. Defaults to 0."
              },
              "is_lead": {
                "type": "string",
                "enum": [
                  "true",
                  "false",
                  ""
                ],
                "description": "Filter by lead investor status. Omit or leave empty for all investments. Example: true."
              },
              "invested_after": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991,
                "description": "Only include investments at or after this Unix timestamp (seconds). Example: 1704067200."
              },
              "invested_before": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991,
                "description": "Only include investments before this Unix timestamp (seconds). Example: 1735689600."
              },
              "sort_by": {
                "type": "string",
                "enum": [
                  "invested_at",
                  "recent_raise",
                  "total_raise"
                ],
                "description": "Field to sort results by. Example: recent_raise. Defaults to \"invested_at\"."
              },
              "order": {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ],
                "description": "Sort order. Example: desc. Defaults to \"desc\"."
              }
            },
            "required": [
              "q"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "kind": "endpoint"
}