Developers

Next Round MCP server

Connect Claude, ChatGPT, Cursor or any MCP client to Next Round. Agents can search the investor database and, once the founder signs in, manage their shortlist on their behalf.

Connecting

Endpoint
https://nextround.vc/mcp
Transport
MCP Streamable HTTP
Auth
OAuth 2.1 with dynamic client registration. Clients discover it at /.well-known/oauth-protected-resource; you approve access on a consent screen after signing in.
Scope
Tools act as the signed-in user — shortlist reads and writes are limited to that account.

Example client config:

{
  "mcpServers": {
    "next-round": {
      "url": "https://nextround.vc/mcp"
    }
  }
}

Tools

search_investors

Search investors
no auth required
read-only
idempotent

Search the investor database (6,000+ funds, angels and accelerators) and return ranked matches with fit scores and match reasons.

Inputs

FieldTypeDescription
stagestringFunding stage, e.g. Pre-Seed, Seed, Series A.
technologiesstring[]Technology tags, e.g. AI, Software. Default [].
sectorsstring[]Sector tags, e.g. Fintech, Healthcare. Default [].
amountnumber | nullTarget raise amount in USD. Default null.
statestringUS state code or name.
citystringCity name.
typesstring[]Investor types, e.g. VC, Angel, Accelerator. Default [].
leadbooleanOnly investors that lead rounds. Default false.
querystringFree-text name or keyword search. Default "".
limitinteger 1–50Max matches to return. Default 10.

Output

Text content with a readable ranked list, plus structuredContent.matches[]: id, name, investor_type, website, city, state, stages, technologies, sectors, check_min, check_max, lead_investor, last_investment_date, fit (0–100) and reasons[].

Example call

{
  "stage": "Seed",
  "technologies": ["AI", "Software"],
  "sectors": ["Fintech"],
  "amount": 1500000,
  "state": "IL",
  "lead": true,
  "limit": 5
}

Example structured result

{
  "matches": [
    {
      "id": 4821,
      "name": "Example Ventures",
      "investor_type": "VC",
      "city": "Chicago",
      "state": "IL",
      "stages": ["Pre-Seed", "Seed"],
      "check_min": 250000,
      "check_max": 2000000,
      "lead_investor": true,
      "fit": 87,
      "reasons": ["Invests at Seed", "Fintech focus", "Check range fits $1.5M"]
    }
  ]
}

get_investor

Get investor profile
no auth required
read-only
idempotent

Fetch the full profile for a single investor by id.

Inputs

FieldTypeDescription
investor_id *integerInvestor id.

Output

Text summary of the profile plus structuredContent.investor with every stored field (bio, website, stages, technologies, sectors, check range, location, lead status, last investment date).

Example call

{ "investor_id": 4821 }

Example structured result

{
  "investor": {
    "id": 4821,
    "name": "Example Ventures",
    "bio": "Early-stage fintech investor…",
    "website": "https://example.vc",
    "stages": ["Pre-Seed", "Seed"],
    "sectors": ["Fintech", "Payments"],
    "check_min": 250000,
    "check_max": 2000000,
    "last_investment_date": "2026-05-14"
  }
}

list_shortlist

List saved investors
requires sign-in
read-only
idempotent

List the investors the signed-in user has saved to their shortlist.

Inputs

No parameters.

Output

Text list of saved investors plus structuredContent.shortlist[] with the investor record and the date it was saved. Returns an error result when the caller is not authenticated.

Example call

{}

Example structured result

{
  "shortlist": [
    { "investor_id": 4821, "name": "Example Ventures", "saved_at": "2026-08-02T14:03:00Z" }
  ]
}

save_investor

Save investor to shortlist
requires sign-in
write
idempotent

Add an investor to the signed-in user's shortlist.

Inputs

FieldTypeDescription
investor_id *integerInvestor id to save.

Output

Confirmation text plus structuredContent.row with the created shortlist entry. Saving the same investor twice is a no-op.

Example call

{ "investor_id": 4821 }

Example structured result

{ "row": { "investor_id": 4821, "saved_at": "2026-08-21T16:00:00Z" } }

remove_investor

Remove investor from shortlist
requires sign-in
write
destructive
idempotent

Remove an investor from the signed-in user's shortlist.

Inputs

FieldTypeDescription
investor_id *integerInvestor id to remove.

Output

Confirmation text plus structuredContent.removed_investor_id. Removing an investor that is not saved succeeds without changes.

Example call

{ "investor_id": 4821 }

Example structured result

{ "removed_investor_id": 4821 }

Errors

Tools return an MCP error result (isError: true) with a human-readable message for invalid input, unknown investor ids, or calls to shortlist tools without an authenticated session. Unauthenticated requests to the endpoint itself return HTTP 401 with OAuth discovery metadata.