search-investment-projects▌
hiveround.com/search-investment-projects-opszir · updated May 21, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Discover live startup raises on Hiveround — filter by keyword, stage, and max raise via the site's MCP server (anonymous reads) or the ECP HTTP endpoints, returning slug, name, stage, sector, raise amount, founder handle, and listing URL. Read-only.
| name | search-investment-projects |
| title | Hiveround Investment Project Search |
| description | >- Discover live startup raises on Hiveround — filter by keyword, stage, and max raise via the site's MCP server (anonymous reads) or the ECP HTTP endpoints, returning slug, name, stage, sector, raise amount, founder handle, and listing URL. Read-only. |
| website | hiveround.com |
| category | investing |
| tags | - investing - fundraising - startups - marketplace - mcp - ecp - read-only |
| source | 'browserbase: agent-runtime 2026-05-18' |
| updated | '2026-05-18' |
| recommended_method | mcp |
| alternative_methods | - method: api rationale: >- ECP HTTP endpoints (/api/ecp/projects JSON-LD and /api/ecp-md/projects Markdown) serve the same data over plain GET with anonymous access. Use when the runtime can't speak JSON-RPC. Only `q` and `stage` filters are honored at the HTTP layer; `max_raise` requires MCP. - method: url-param rationale: >- `?q=<kw>&stage=<value>&page=<n>&page_size=<m>` on /api/ecp/projects covers keyword + stage scoping for both JSON-LD and Markdown routes — confirmed via the response's `filters` echo. Silently drops `max_raise`, `sector`, `limit`, `offset`. - method: browser rationale: >- Only required for sign-in / posting new projects. The rendered /projects page is a thin Next.js shell over the same APIs — driving it pays a ~50× cost premium for identical data. Do not click 'request intro' from a browser; use the MCP `request_intro` tool instead. |
| verified | false |
| proxies | false |
Hiveround — Search Investment Projects
Purpose
Discover live startup raises on Hiveround — a marketplace where founders post their pitch as markdown and investors point agents at it. Return a list of currently-raising projects (slug, name, stage, sector, raise amount, one-liner, founder handle, listing URL) filtered by keyword, stage, and max raise, plus on-demand the full pitch.md body for any selected project. Read-only; no commitments, no intros sent, no auth required for the discovery path.
When to Use
- Daily / hourly monitoring of new live raises in a given sector or stage band.
- Building an investor pipeline: surface candidate projects, then call
get_projectfor diligence. - Cross-checking what's "out there" before reaching out to founders directly.
- Any read-only flow where you'd otherwise scrape the marketplace HTML — the site is explicitly designed to be queried by agents and exposes three structured paths (MCP, ECP JSON-LD, ECP Markdown) before you ever need a browser.
Workflow
Hiveround is an agent-first marketplace. The canonical path is the MCP server at https://hiveround.com/api/mcp — read tools (list_projects, search_projects, get_project) are anonymous, no API key required. A second equally-valid path is the Endpoint Context Protocol (ECP) HTTP layer, which serves the same data as JSON-LD (/api/ecp/projects) or agent-friendly Markdown (/api/ecp-md/projects) over plain GET. Use MCP when your runtime speaks JSON-RPC; use ECP when you only have an HTTP client. Do not drive the browser unless you need to sign in or post a project — the rendered /projects page is a thin Next.js shell over the same APIs and pays a ~50× cost premium for the same data.
1. (Optional) Confirm discovery surface
Every public route advertises the agent surface in Link response headers and at well-known paths. To bootstrap when nothing is hardcoded:
GET https://hiveround.com/.well-known/mcp/server-card.json → MCP transport + tool list + auth
GET https://hiveround.com/.well-known/ecp → ECP route map
GET https://hiveround.com/.well-known/agent-skills/index.json → official Hermes skill manifest
GET https://hiveround.com/llms.txt → human/agent intro + live-raise summary
The server card declares anonymousReadAllowed: true for the read tools and pins the API-key prefix as hr_sk_ — verify both before assuming you need auth.
2. Search via MCP (recommended)
curl -X POST https://hiveround.com/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_projects",
"arguments": {
"q": "ai",
"stage": "prototype",
"max_raise_usd": 300000,
"limit": 24
}
}
}'
The MCP search_projects tool is the only layer that honours all three filters together (keyword + stage + max-raise) — the ECP HTTP query string drops max_raise silently (see gotcha). tools/list returns the live JSON schema for every argument; call it once at skill startup if you want to pin types defensively.
For the newest-first sweep without filters, call list_projects with { "limit": N } (default newest first). For diligence on a specific project, call get_project with { "slug": "<slug>" } — that response includes the full pitch.md description plus founder handle + GitHub URL when the founder isn't anonymous.
3. ECP fallback (when you only have HTTP GET)
If your runtime can't speak JSON-RPC, the ECP layer serves the same data over plain GET. Two distinct URLs — pick by what your consumer wants:
GET https://hiveround.com/api/ecp/projects?q=<kw>&stage=<stage> → JSON-LD Collection
GET https://hiveround.com/api/ecp-md/projects?q=<kw>&stage=<stage> → Markdown digest
GET https://hiveround.com/api/ecp/projects/{slug} → single project JSON-LD
GET https://hiveround.com/api/ecp-md/projects/{slug} → single project Markdown
The JSON-LD shape per item: { slug, name, one_liner, description, stage, sector, status, logo_url, raise: { amount_usd, instrument, monthly_revenue_usd }, founder: { handle, display_name, github_url, profile_url }, posted_at, updated_at, links: { self, html, collection, mcp } }. The top-level Collection has count, page, page_size (default 24), filters (echoes only the params the server actually applied — useful for verifying acceptance), and items[].
4. Compose results
For each project of interest, emit slug, name, one_liner, stage, sector, raise.amount_usd, founder.handle (or null for anonymous), and links.html (the user-facing listing URL). If the caller wants diligence material, attach the full markdown description from get_project / /api/ecp-md/projects/{slug}.
Browser fallback
Skip unless you're posting a new project, signing in, or the MCP + ECP endpoints are unreachable. If you must browse:
browse open https://hiveround.com/projects— the marketplace index.browse get markdown body— extract the listing list as Markdown.- For a specific project:
browse open https://hiveround.com/projects/<slug>, thenbrowse get markdown body.
Never click a "request intro" button from the browser — that path expects an authenticated session and triggers an intro request. Use the MCP request_intro tool with an API key instead (out of scope for this read-only skill).
Site-Specific Gotchas
- ECP HTTP filters only honor
qandstage. Verified by sendingmax_raise=300000,sector=Fintech,limit=2&offset=2— none echo back in thefiltersobject on the response, andcountis unchanged. The Markdown-route also acceptsq/stagebut notmax_raise. For max-raise / sector filtering, use the MCPsearch_projectstool (server card explicitly documents these as supported there). The HTTPfiltersecho is your verification surface — always assert it contains every param you sent before trusting the result set. - Anonymous reads work on every read tool. Server card sets
anonymousReadAllowed: true. Thehr_sk_Bearer key is only required for write tools (request_intro,watch_project,update_watch,list_watches,submit_commitment,acknowledge_commitment,update_commitment_status,send_intro_message,list_commitments,list_intros,read_intro_thread). Read tools —list_projects,search_projects,get_project— work without any headers beyondContent-TypeandAccept. Don't waste a sign-in flow for a read-only skill. - MCP transport is
streamable-http (post-only). A GET to/api/mcpreturns the server-info envelope (handy for one-shot health checks:server.name,version,tools[],auth). Actual tool calls require POST with JSON-RPC 2.0 body. IncludeAccept: application/json, text/event-streamto support both single-response and streamed-event responses — the server is allowed to choose. - Content negotiation on the public
/projectsroute is unreliable from headless clients. The ECP discovery doc says public routes serve Markdown when the caller isn't a browser (Sec-Fetch-Dest: documentabsent, notext/htmlinAccept), but real-world HTTP clients (curl,bb fetch, default Next.js fetch) often send Accept patterns that resolve to HTML anyway. Don't rely on content-negotiation against/projects— call the explicit/api/ecp-md/projectsor/api/ecp/projectsroutes, which are content-typed by route, not by header. - Founder fields can be entirely null when the listing is "anonymous". Both
founder.handleandfounder.display_namecome back asnull(not omitted — the keys are present). Treat null as the "no founder linked" branch when emitting; don't fall back to the raise's GitHub URL or the project's domain. Observed onseminaraandelastova; populated onwatta,hiveround,arispay-executive-summary. raise.amount_usdis a raw integer. Listings display "$150k" / "$2.0M" in UI text, but the JSON field is the integer dollar amount (e.g.150000,2000000). Format on emit, never re-parse the display string from the Markdown digest — it's already rounded and elides edge cases like odd amounts.raise.instrumentis a free-text string, not an enum. Observed value across all 5 live raises:"Open to discussion". Don't assume SAFE/priced-round/convertible classifications — surface the raw string and let the agent reason.raise.monthly_revenue_usdis almost always null at prototype stage. Present in the schema but populated rarely. Filter onraise.amount_usdfor headline raise size; don't usemonthly_revenue_usdas a maturity proxy without checking presence.- Pagination params are
pageandpage_sizeon the Collection, notlimit/offset.limit/offsetare silently dropped on the ECP HTTP layer (confirmed —count: 5returns unchanged withlimit=2&offset=2). Usepage=2&page_size=24instead. Defaultpage_size=24. The MCPlist_projects/search_projectstools acceptlimit(per the server card examples in/mcp) — these are different parameter conventions; check the layer you're hitting. stagevalues observed:prototype,launched. Server card doesn't enumerate the full set. Treat anything else returned as a forward-compatible additional value (don't hard-error).sectoris free-form per posting. Observed:Enterprise SaaS,AI & Agents,Fintech, and absent onwatta(the field is omitted entirely, not null). When grouping by sector, treat missing as"Unspecified"rather than excluding.status: "open"does NOT appear on the listing-card markdown — only on the JSON-LD shape. The/api/ecp-md/projectsdigest leaves status off the per-item block (you have to read theprototype · Enterprise SaaS · anonymous · raising $150ksummary line and infer). For programmatic status checks, use the JSON-LD route.- Cloudflare fronts the origin. Every response carries
Cf-Cache-Status,Cf-Ray, etc. The dynamic OG-image route (/opengraph-image) is unreliable and frequently returns 502 — don't rely on it for thumbnails. The static listing pages cache fine; the dynamic image route does not. - No rate-limit observed at low volume, but the
/llms-full.txtcorpus is 100KB+ and re-fetching it tight-loop is uncivil. Pull it once per session, cache locally; let MCP/ECP handle the incremental queries. - The
/api/mcpGET envelope only lists tool names, not schemas. For actual argument types, calltools/listover POST or read/.well-known/mcp/server-card.json. The server-card lists 14 tools (more than the public landing page's 10) —submit_commitment,acknowledge_commitment,update_commitment_status,list_commitmentsexist but require auth and are out of scope for read-only search.
Expected Output
{
"query": { "q": "ai", "stage": "prototype", "max_raise_usd": 300000 },
"source": "mcp:search_projects",
"count": 3,
"page": 1,
"page_size": 24,
"projects": [
{
"slug": "seminara",
"name": "Seminara",
"one_liner": "AI-hosted session platform for education-led sales and onboarding through real-time voice interaction and orchestration.",
"stage": "prototype",
"sector": "Enterprise SaaS",
"status": "open",
"raise": {
"amount_usd": 150000,
"instrument": "Open to discussion",
"monthly_revenue_usd": null
},
"founder": {
"handle": null,
"display_name": null,
"github_url": null,
"profile_url": null
},
"listing_url": "https://hiveround.com/projects/seminara",
"mcp_get_project_slug": "seminara"
},
{
"slug": "watta",
"name": "watta",
"one_liner": "AI workout tracker for rowers. Photograph the erg screen — we read every number off it, score the effort 0–100, and roll training into clubs and leaderboards.",
"stage": "prototype",
"sector": null,
"status": "open",
"raise": {
"amount_usd": 250000,
"instrument": "Open to discussion",
"monthly_revenue_usd": null
},
"founder": {
"handle": "stevemilton",
"display_name": "Steve Milton",
"github_url": "https://github.com/stevemilton",
"profile_url": "https://hiveround.com/u/stevemilton"
},
"listing_url": "https://hiveround.com/projects/watta",
"mcp_get_project_slug": "watta"
}
]
}
When the caller wants the full pitch for diligence, attach a pitch_markdown field per project, sourced from get_project / /api/ecp-md/projects/{slug}:
{
"slug": "watta",
"pitch_markdown": "# watta.\n\nai workout tracker for rowers. take a photo of the erg screen — we\nread every number off it, score the effort 0–100, and roll your\ntraining into clubs and leaderboards.\n\nlive on the app store ..."
}
When the search returns nothing:
{
"query": { "q": "biotech", "stage": "launched", "max_raise_usd": 100000 },
"source": "mcp:search_projects",
"count": 0,
"projects": []
}
How to use search-investment-projects on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add search-investment-projects
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches search-investment-projects from GitHub repository hiveround.com/search-investment-projects-opszir and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate search-investment-projects. Access the skill through slash commands (e.g., /search-investment-projects) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.6★★★★★34 reviews- ★★★★★Valentina Kapoor· Dec 20, 2024
Useful defaults in search-investment-projects — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Maya Srinivasan· Dec 16, 2024
We added search-investment-projects from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Ganesh Mohane· Dec 12, 2024
search-investment-projects reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Shikha Mishra· Dec 4, 2024
search-investment-projects fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Yash Thakker· Nov 23, 2024
search-investment-projects is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Mateo Choi· Nov 11, 2024
search-investment-projects has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Hiroshi Choi· Nov 7, 2024
Keeps context tight: search-investment-projects is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Valentina Lopez· Oct 26, 2024
search-investment-projects is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Dhruvi Jain· Oct 14, 2024
Keeps context tight: search-investment-projects is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Kwame Johnson· Oct 2, 2024
Solid pick for teams standardizing on skills: search-investment-projects is focused, and the summary matches what you get after install.
showing 1-10 of 34