GitDealFlow — GitHub signals for startup investors
NPM · @GITDEALFLOW/MCP-SIGNAL · SCANNED AUG 3
GitHub signals for VC deal flow: trending startups, commit velocity, contributor growth, 20 sectors.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security86
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 64 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6713 tokens (~419/item across 16 items; 13 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @gitdealflow/mcp-signal
claude mcp add kindrat86-vc-deal-flow-signal -- npx -y @gitdealflow/mcp-signal
codex mcp add kindrat86-vc-deal-flow-signal -- npx -y @gitdealflow/mcp-signal
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"kindrat86-vc-deal-flow-signal": {
"type": "local",
"command": [
"npx",
"-y",
"@gitdealflow/mcp-signal"
],
"enabled": true
}
}
} openclaw mcp add kindrat86-vc-deal-flow-signal --command npx --arg -y --arg @gitdealflow/mcp-signal
mcp_servers:
kindrat86-vc-deal-flow-signal:
command: "npx"
args: ["-y", "@gitdealflow/mcp-signal"] {
"mcpServers": {
"kindrat86-vc-deal-flow-signal": {
"command": "npx",
"args": [
"-y",
"@gitdealflow/mcp-signal"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +27
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 1 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- 31 Jul 26 −8
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 49
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@gitdealflow/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
compare_signals Compare Signals Head-to-Head ~324
Score and rank 2-5 named startups side by side, returning each one's acceleration score, evidence, and raise-likelihood band plus a single recommendation for which warrants deeper diligence. Structured-data counterpart to the `compare_startups` prompt: that prompt returns instructions; this tool returns the actual scored comparison an agent can render or chain. WHEN TO USE: - 'Compare A vs B' / 'A vs B vs C — who's stronger?' - Triaging a small candidate set before allocating diligence time. DO NOT USE FOR: - Open-ended discovery — use `shortlist_signals`. - A single company — use `predict_funding`. BEHAVIOR: - Read-only, idempotent, no auth. Same transparent scoring as predict_funding / shortlist_signals. - Names that don't resolve are returned in `notFound` (expected, not an error). The recommendation is computed only over resolved companies; if fewer than 2 resolve, `recommendation` explains that no comparison was possible. PARAMETERS: { names: string[] } — 2 to 5 display names or GitHub org slugs (case-insensitive). RETURNS: { period, compared[{ rank, name, sector, stage, geography, accelerationScore, raiseLikelihood, confidence, signalType, commitVelocityChange, contributorGrowth, contributors, newRepos, githubUrl, scoreBreakdown }], notFound[], recommendation, citation, source, methodologyUrl, disclaimer }.
| Name | Type | Req | Description |
|---|---|---|---|
| names | array | yes | 2-5 startup display names or GitHub org slugs. |
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | yes | — |
| compared | array | yes | — |
| disclaimer | string | — | — |
| methodologyUrl | string | — | — |
| notFound | array | — | — |
| period | string | yes | — |
| recommendation | string | yes | — |
| source | string | — | — |
No examples provided.
compose_thesis Compose Investment Thesis (paid) ~199
PAID AGENT TOOL — €0.10 per call. Returns a structured investment thesis for one tracked startup: snapshot, signal type, sector rank, data-derived strengths, peer comparables, period. WHEN TO USE: agent / analyst is drafting a memo or 1-pager and wants a populated structure to start from rather than a raw row. DO NOT USE FOR: discovering candidates (use free `get_trending_startups`), or sector-wide deep dives (use `deep_dive_scan`). AUTH: Requires `GITDEALFLOW_API_KEY`. Free `get_startup_signal` keeps working without auth. PARAMETERS: { name: string } — company display name or GitHub org slug. RETURNS: { company, sector, snapshot, signalType, sectorRank, strengths[], peers[5], period, citation, _meter }.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Startup display name or GitHub org slug. |
| Name | Type | Req | Description |
|---|---|---|---|
| _meter | object | — | Billing meter. `tier` is 'payg' or 'insider'. |
| citation | string | — | — |
| company | string | — | — |
| peers | array | — | — |
| period | string | — | — |
| sector | string | — | — |
| sectorRank | object | — | — |
| signalType | string | — | — |
| snapshot | object | — | — |
| strengths | array | — | — |
No examples provided.
deep_dive_scan Deep-Dive Sector Scan (paid) ~289
PAID AGENT TOOL — €0.10 per call. Returns a multi-cohort scan of one sector for the current period: total tracked count, breakout count, cooling count, top-10 by commit velocity, breakouts list, cold list. WHEN TO USE: sourcing-cycle prep where the user wants more than the basic sector list — they want pre-segmented breakout vs. cooling vs. top-of-velocity views in one call. DO NOT USE FOR: simple sector listing (free `search_startups_by_sector` is enough), or single-company research (use `research_company`). AUTH: Requires `GITDEALFLOW_API_KEY`. Free `search_startups_by_sector` keeps working without auth. PARAMETERS: { sector: string } — one of the 20 supported sector slugs. RETURNS: { sector, period, summary: { total, breakouts, cold }, breakouts[≤10], cold[≤5], top10ByCommitVelocity[10], citation, _meter }.
| Name | Type | Req | Description |
|---|---|---|---|
| sector | string | yes | Sector slug. One of: ai-ml, fintech, cybersecurity, developer-tools, healthcare, climate-tech, enterprise-saas, data-infrastructure, web3, robotics, edtech, ecommerce-infrastructure, supply-chain, le… |
| Name | Type | Req | Description |
|---|---|---|---|
| _meter | object | — | Billing meter. `tier` is 'payg' or 'insider'. |
| breakouts | array | — | — |
| citation | string | — | — |
| cold | array | — | — |
| period | string | — | — |
| sector | string | — | — |
| summary | object | — | — |
| top10ByCommitVelocity | array | — | — |
No examples provided.
get_diligence_dossier Company Diligence Dossier ~355
Return a public-source diligence dossier for a single company or entity in one cited object: who acquired it (M&A history with year + announced amount), which funds publicly backed it, and its published engineering-acceleration signal. WHEN TO USE: - The user is doing diligence and asks 'who acquired X', 'which funds backed Y', or 'what's the signal on Z'. - You need a fast, cited grounding fact (M&A / investors / signal) before deeper research. DO NOT USE FOR: - The live engineering signal row alone — `get_startup_signal` is more detailed for tracked startups. - Speculative or rumored deals — this tool only returns publicly-disclosed facts. BEHAVIOR: - Read-only, idempotent, no auth. Free. - Sources: press-release / SEC-filing / both-sides-disclosed only (same threshold as the /acquirer and /fund pages). - Returns found:false (an expected outcome, NOT an error) with honest notes when the entity is outside the tracked corpus — it never guesses an acquirer, investor, or signal. PARAMETERS: { company: string } — company or entity name (target, acquirer, or tracked startup), case-insensitive. RETURNS: { entity, found, acquiredBy[], acquisitionsMade[], backedBy[], signal|null, notes[] }, plus a citation array. Human mirror: /diligence. HTTP analog: GET /api/diligence.json?company={name}.
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company or entity name (target, acquirer, or tracked startup). Case-insensitive. Examples: 'Figma', 'Supabase', 'Broadcom', 'Auth0'. |
| Name | Type | Req | Description |
|---|---|---|---|
| acquiredBy | array | — | Public acquisitions where this entity was the target. |
| acquisitionsMade | array | — | If the entity is an acquirer: companies it has publicly bought. |
| backedBy | array | — | Funds in the tracked corpus that publicly disclosed backing it. |
| entity | string | yes | Resolved canonical entity name. |
| found | boolean | yes | True when at least one grounded fact exists; false is expected, not an error. |
| notes | array | — | Plain-language notes on what is and isn't known. |
| signal | object|null | — | Published engineering-acceleration signal, when tracked. |
No examples provided.
get_methodology Get Signal Methodology ~567
Return the full methodology behind VC Deal Flow Signal: how startup engineering activity is sourced from the public GitHub API, how commit velocity and contributor-growth metrics are computed, how signal types are classified ('breakout' | 'acceleration' | 'steady' | 'cooling'), the refresh cadence, and the known limitations. WHEN TO USE: - The user asks 'how is this calculated?', 'what does breakout mean?', 'can I trust this number?', or any trust / interpretability question. - You are writing a report, memo, or footnote and need a methodology section or citation. - Due-diligence / compliance wants to audit the data pipeline before citing it. - You need to explain why a specific signal was assigned (what triggers 'breakout' vs 'acceleration'). DO NOT USE FOR: - Fetching the startup data itself — use `get_trending_startups`, `search_startups_by_sector`, or `get_startup_signal`. - Getting the list of supported sectors or the refresh date — use `get_signals_summary` (it returns live counts and freshness). - Confirming whether a specific startup is tracked — use `get_startup_signal`. BEHAVIOR: - Read-only, idempotent, no side effects. - Effectively static: methodology text is versioned with the service and only changes when the computation changes (rare — quarterly at most). Safe to call once per session and reuse across turns. - No authentication required. - Fetches `/llms-full.txt` and extracts the `## Methodology` section between the `## Methodology` and `## Glossary` headings. The canonical methodology URL is included in the response so agents can surface it for citations. - On upstream failure: returns `isError: true` with HTTP status. - On malformed upstream text (missing headings): returns an empty `methodology` string; still surfaces the canonical URL so the user can click through. PARAMETERS: None. RETURNS: `{ methodology: string, url: string }`. `methodology` is plain text covering data sources, metric definitions, classification thresholds, refresh cade…
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| methodology | string | yes | Plain-text methodology write-up. |
| url | string | yes | Canonical methodology page on gitdealflow.com. |
No examples provided.
get_scout_receipts Get GitHub Scout Receipts ~631
Compute a Scout Score (0-100) for a GitHub user from their public starring history. Cross-references the user's starred repos against a curated database of ~75 validated unicorns (Series A+, $1B+ valuations, acquisitions, 25K+ stars in last 5 years) and grades how many they starred *before* the validation event. WHEN TO USE: - The user wants to evaluate a developer's investment taste retroactively (e.g. 'how good is @sindresorhus at spotting unicorns?'). - Vetting a potential angel investor or scout based on their public OSS taste. - Comparing two developers' early-call track records. - Generating shareable proof-of-taste content for a developer profile. DO NOT USE FOR: - Fetching live trending startups — use `get_trending_startups`. - Forward-looking predictions on whether a startup will raise — call `predict_funding` (scored claim with full evidence chain and provenance). - Looking up a startup's signal score — use `get_startup_signal`. BEHAVIOR: - Read-only, idempotent within a 24h window. - Hits `/api/receipts/{username}` which fetches public starring data from GitHub then scores against the validated-wins database. - 24-hour CDN cache; same username re-queried within 24h is served from cache. - No authentication required from the MCP client. Server-side uses a fine-grained PAT for elevated GitHub rate limits. - On user not found: returns `isError: true` with HTTP 404. - On GitHub rate limit: returns `isError: true` with HTTP 503. PARAMETERS: `github_username` (required) — GitHub username, 1-39 chars, alphanumeric + hyphens. RETURNS: `{ username, score, rank ('curious'|'scout'|'sharp'|'elite'|'oracle'), total_stars, matched_count, early_count, top_wins[], personality, share_url, og_image_url }`. `top_wins` lists up to 8 entries with org, name, event, starred_at, months_early, weight, points. `personality` is a one-paragraph templated commentary on the user's taste pattern. TYPICAL WORKFLOW: User asks 'is @X a good scout?' → `get_scout_receipts({ github_us…
| Name | Type | Req | Description |
|---|---|---|---|
| github_username | string | yes | GitHub username to compute Receipts for. Must match the public GitHub username format: 1-39 chars, alphanumeric + single hyphens, no leading/trailing hyphen. |
| Name | Type | Req | Description |
|---|---|---|---|
| early_count | integer | yes | — |
| matched_count | integer | yes | — |
| og_image_url | string | — | — |
| personality | string | — | — |
| rank | string | yes | — |
| score | integer | yes | — |
| share_url | string | yes | — |
| top_wins | array | yes | — |
| total_stars | integer | — | — |
| username | string | yes | — |
No examples provided.
get_signals_summary Get Dataset Summary ~501
Return a high-level snapshot of the VC Deal Flow Signal dataset: current reporting period, number of active sectors, total startups tracked, last-refresh timestamp, update frequency, citation string, and direct URLs to every data format (JSON, CSV, RSS, OpenAPI, llms.txt, full context, AI policy). WHEN TO USE: - Starting a research session and you want to know what data exists and how fresh it is. - Verifying freshness ('is this data from this week?') before including the numbers in an investor memo. - The user asks 'what is this service?', 'how do I cite your data?', or 'where can I download the CSV?'. - You need a bulk-download URL (CSV) or a feed URL (RSS) to pipe into another tool. - You need to show the user the full list of supported sectors before calling `search_startups_by_sector`. DO NOT USE FOR: - Fetching the actual startup rows — use `get_trending_startups` or `search_startups_by_sector`. - Explaining HOW signals are computed — use `get_methodology`. - Looking up a single startup — use `get_startup_signal`. BEHAVIOR: - Read-only, idempotent, no side effects. - Deterministic within a 7-day window: dataset metadata refreshes every Monday ~09:00 UTC alongside the rest of the feed. - No authentication required. - Hits `/api/changelog.json` only — the lightest endpoint in the suite. Safe to call once at the start of every session. - On upstream failure: returns `isError: true` with HTTP status. PARAMETERS: None. RETURNS: `{ period, sectorsActive, startupsTracked, lastDataRefresh (ISO 8601), updateFrequency, formats: { json, csv, rss, openapi, llmsTxt, llmsFullTxt, aiPolicy }, website, dashboard, citation }`. TYPICAL WORKFLOW: `get_signals_summary` (orient, check freshness) → `get_trending_startups` or `search_startups_by_sector` (explore) → `get_startup_signal(name)` (deep-dive) → `get_methodology` (explain). LIMITATIONS: Current-period snapshot only — no historical period metadata. For reproducing past weeks, download the CSV at `formats.csv` and ar…
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | yes | — |
| dashboard | string | — | — |
| formats | object | yes | — |
| lastDataRefresh | string | yes | ISO 8601 date. |
| period | string | yes | — |
| sectorsActive | integer | yes | — |
| startupsTracked | integer | yes | — |
| updateFrequency | string | — | — |
| website | string | — | — |
No examples provided.
get_startup_signal Get Startup Signal Profile ~671
Return the full engineering-acceleration profile for a single tracked startup: commit velocity, velocity change, contributor count and growth, new-repo count, signal classification, sector, stage, geography, and GitHub URL. WHEN TO USE: - The user names a specific company: 'tell me about Roboflow', 'what's Supabase's signal?', 'is Modular trending?', 'lookup SkyPilot'. - Preparing a deal memo, one-pager, or investor update about a named startup. - Verifying whether a startup is in the tracked universe before writing analysis. DO NOT USE FOR: - Discovering unknown companies or fuzzy exploration ('any good AI startups?') — call `get_trending_startups` or `search_startups_by_sector` first, then drill in here. - Listing candidates in a sector — call `search_startups_by_sector`. - Explaining what the signalType means — call `get_methodology`. BEHAVIOR: - Read-only, idempotent, no side effects. - Deterministic within a 7-day window: dataset refreshes every Monday ~09:00 UTC. - No authentication required. - Matching is case-insensitive and normalization-tolerant: whitespace, punctuation, and capitalization are stripped before comparison. 'Sky Pilot', 'skypilot', and 'SkyPilot' all resolve to the same entry. Accepts either the display name or the GitHub org slug. - On no match: returns `structuredContent: { found: false, suggestion: ... }`. This is an EXPECTED outcome (the startup is not in the tracked universe), NOT an error — do not retry, do not flag as failure. Instead surface the suggestion to the user and offer to run `get_trending_startups` or `search_startups_by_sector`. - On upstream failure: returns `isError: true` with HTTP status. - Open-world: only ~400 companies are tracked. This tool cannot add new ones — direct the user to the website submission form if needed. PARAMETERS: - `name` (required, string, 1–100 chars) — Startup display name OR GitHub org name. Case-insensitive; punctuation and whitespace are ignored during matching. RETURNS: `{ found: boole…
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Startup name or GitHub org name. Case-insensitive; punctuation and whitespace are ignored during matching. |
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | — | — |
| found | boolean | yes | — |
| startup | object | — | A single startup ranked by engineering acceleration, as derived from public GitHub activity. |
| suggestion | string | — | When found=false, a hint on how to discover the correct name or alternative tools to call. |
No examples provided.
get_trending_startups Get Trending Startups ~547
Return the top 20 startups ranked by engineering acceleration across all 20 sectors for the current reporting period. Each row includes commit velocity, contributor count, signal classification, and GitHub URL. WHEN TO USE: - A VC, scout, or analyst asks 'who's trending this week', 'what's hot right now', 'who should I look at', or 'what to watch'. - You need a fresh cross-sector shortlist for a deal-flow meeting or weekly watchlist. - You want to surface breakout companies before they appear in Crunchbase / PitchBook / press. DO NOT USE FOR: - Narrowing to one vertical — call `search_startups_by_sector` instead. - Looking up a named company — call `get_startup_signal` with the company name. - Explaining the ranking methodology — call `get_methodology`. - Discovering what sectors exist or how fresh the data is — call `get_signals_summary`. BEHAVIOR: - Read-only, idempotent, no side effects. Safe to call repeatedly. - Deterministic within a 7-day window: the dataset refreshes every Monday ~09:00 UTC, so identical calls within the same week return identical results. - No authentication required. No rate limit enforced by this server; the upstream CDN absorbs typical agent traffic. - Returns exactly 20 rows when the dataset is healthy; fewer only if the upstream feed is degraded. - On upstream failure: returns `isError: true` with the HTTP status in the text block — retry once after a short delay before escalating to the user. - Open-world: the tracked universe (~400 companies) evolves week to week as new orgs qualify or drop out. PARAMETERS: None. RETURNS: `{ period, startups[20], citation, source }`. Each startup row contains rank, name, sector, stage, geography, commitVelocity14d, commitVelocityChange, contributors, contributorGrowth, newRepos, signalType ('breakout' | 'acceleration' | 'steady' | 'cooling'), description, githubUrl, websiteUrl (when known, ~90% coverage), linkedinUrl (when known, partial coverage), profileUrl. TYPICAL WORKFLOW: `get_trending_s…
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | yes | Suggested citation string for reports. |
| period | string | yes | Reporting period label, e.g. 'Q2 2026'. |
| source | string | yes | — |
| startups | array | yes | Top 20 startups ranked by engineering acceleration. |
No examples provided.
predict_funding Predict Funding Likelihood (with provenance) ~613
Return a TRANSPARENT, scored funding-likelihood claim for a single tracked startup, with the full evidence chain and citable provenance. This is the agentic counterpart to the browser-only /predict page: instead of an opaque number, it hands back the score, every component that produced it, a confidence level, honest caveats, and links to the methodology + SSRN paper so a downstream agent can cite the derivation. WHAT IT IS (and is NOT): - IS: a deterministic heuristic over public GitHub engineering-acceleration signals (commit velocity, contributor growth, new-repo creation, signal class). Same company → same score within a weekly period. - IS NOT: an ML black box, a guarantee of any financing event, or anything derived from private/cap-table/revenue data. The disclaimer is returned in every response — surface it. WHEN TO USE: - 'Is X likely to raise soon?', 'how strong is X's momentum?', 'should we reach out to X before they raise?' - Drafting a memo where you need a defensible, citable signal read rather than a gut call. DO NOT USE FOR: - Discovering candidates — use `shortlist_signals` or `get_trending_startups`. - A plain data row with no scoring — use `get_startup_signal`. BEHAVIOR: - Read-only, idempotent, no auth. Deterministic within the weekly period (refreshes Mondays ~09:00 UTC). - On no match: returns `{ found: false, suggestion }` — an EXPECTED outcome, not an error. SCORING (auditable — also returned in evidence.scoreBreakdown): - velocity: up to 40 pts, saturating at +300% commit-velocity change. - contributorGrowth: up to 25 pts, saturating at +200% (absolute contributor count is capped in the feed, so growth-rate is what matters). - newRepos: up to 15 pts, saturating at 10 new public repos in 30d. - signalType: up to 20 pts (Deploy frequency spike 20, Engineering hiring burst 17, Infrastructure buildout 14, Framework migration 8). - total 0-100 → raiseLikelihood band: >=70 high, 45-69 elevated, 25-44 moderate, <25 low. PARAMETERS: { name: st…
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Startup display name or GitHub org slug. Case-insensitive; punctuation and whitespace are ignored during matching. |
| Name | Type | Req | Description |
|---|---|---|---|
| caveats | array | — | — |
| company | object | — | — |
| disclaimer | string | yes | — |
| evidence | object | — | The evidence chain — every input that produced the score. |
| found | boolean | yes | — |
| prediction | object | — | — |
| provenance | object | yes | — |
| suggestion | string | — | — |
No examples provided.
research_company Research Company (paid) ~265
PAID AGENT TOOL — €0.10 per call. Returns an enriched dossier for a single tracked startup: full signal row, sector rank, top-5 peers in the same sector, period label, and citation. WHEN TO USE: VC, scout, or analyst wants more than a one-row signal — they want the company in context (rank, peers, trajectory) for a 1-pager or memo prep. DO NOT USE FOR: simple lookup of one row (free `get_startup_signal` is enough), browsing a sector (use `search_startups_by_sector` free), or composing an investment thesis (use `compose_thesis`). AUTH: Requires `GITDEALFLOW_API_KEY` in the MCP server env. Without it, the tool returns a polite hint pointing to /pricing. PARAMETERS: { name: string } — company display name or GitHub org (case-insensitive). RETURNS: { startup, sectorRank: { rank, of }, peers[5], period, citation, _meter }. The `_meter` block reports the tier (`payg` | `insider`), remaining balance for PAYG, calls-today for Insider.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Startup display name or GitHub org slug. |
| Name | Type | Req | Description |
|---|---|---|---|
| _meter | object | — | Billing meter. `tier` is 'payg' or 'insider'. |
| citation | string | — | — |
| peers | array | — | — |
| period | string | — | — |
| sectorRank | object | — | — |
| startup | object | — | A single startup ranked by engineering acceleration, as derived from public GitHub activity. |
No examples provided.
search_startups_by_sector Search Startups by Sector ~901
Return every tracked startup within one of 20 supported sectors, ranked by engineering acceleration for the current reporting period. WHEN TO USE: - The user names a specific vertical: 'show me AI/ML startups', 'who's moving in fintech?', 'cybersecurity deal flow', 'climate-tech picks'. - You need a focused list for a thesis-driven investor or a sector report. - You're comparing momentum inside a defined market before a sourcing cycle. DO NOT USE FOR: - Cross-sector discovery — call `get_trending_startups` for the top-20 across all sectors. - Looking up a named company — call `get_startup_signal(name)`. - Discovering which sectors exist or how many startups are tracked overall — call `get_signals_summary` (it returns live counts and URLs). - Multi-sector filtering — the tool accepts exactly one slug per call; issue parallel calls if you need several. BEHAVIOR: - Read-only, idempotent, no side effects. - Deterministic within a 7-day window: dataset refreshes every Monday ~09:00 UTC. - No authentication required. No rate limit enforced by this server. - Returns between 5 and 30 startups per sector depending on open-source density. Dense: ai-ml, developer-tools, data-infrastructure. Sparse: legal-tech, proptech, agtech. - On unknown sector slug: returns `isError: true` with the full list of valid slugs in `structuredContent.availableSectors` so the agent can retry with a correct value. - On upstream failure: returns `isError: true` with the HTTP status. - Open-world: the tracked universe changes week to week. PARAMETERS: - `sector` (required, string) — MUST be one of the 20 enumerated slugs in `inputSchema.properties.sector.enum`. Map fuzzy user input BEFORE calling: 'AI' / 'artificial intelligence' / 'ML' → 'ai-ml'; 'crypto' / 'blockchain' → 'web3'; 'cyber' / 'infosec' / 'security' → 'cybersecurity'; 'SaaS' → 'enterprise-saas'; 'devtools' / 'developer experience' → 'developer-tools'; 'climate' / 'clean energy' / 'cleantech' → 'climate-tech'; 'biotech' / 'health'…
| Name | Type | Req | Description |
|---|---|---|---|
| sector | string | yes | Sector slug. Must be one of the 20 supported values. Map fuzzy user input to the closest slug (e.g. 'AI' → 'ai-ml', 'crypto' → 'web3', 'cyber' → 'cybersecurity', 'SaaS' → 'enterprise-saas'). |
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | yes | — |
| period | string | yes | — |
| sector | object | yes | — |
| startupCount | integer | yes | — |
| startups | array | yes | Startups within the sector, ranked by engineering acceleration. |
No examples provided.
shortlist_signals Shortlist Strongest Signals ~741
Return a ranked shortlist of the strongest engineering-acceleration signals matching a set of filters — the entire sourcing workflow in ONE call. Replaces the 'browse a sector, read each row, eyeball the strongest' loop: 'give me the 5 strongest signals in observability HQ'd in the US', 'top fintech breakouts in the EU', 'who's accelerating hardest in AI right now'. WHEN TO USE: - Any 'top N in <sector> / <region> / <signal type>' sourcing request. - Building a corp-dev or scout watchlist filtered by thesis. - You want results already ranked by a defensible acceleration score, each with a one-line rationale and the evidence behind it. DO NOT USE FOR: - A single named company — use `get_startup_signal` or `predict_funding`. - Comparing 2-5 specific companies head-to-head — use `compare_signals`. BEHAVIOR: - Read-only, idempotent, no auth. Deterministic within the weekly period. - Scans the full tracked universe (~140 rows), scores each with the transparent engine (same scoring as predict_funding), applies filters, sorts by accelerationScore desc, returns the top `limit`. - GEOGRAPHY IS REGION-LEVEL ONLY. The feed has no city granularity — values are US / EU / UK / APAC / LATAM / Canada / Unknown. City or country aliases (e.g. 'NYC', 'New York', 'Berlin', 'London', 'Singapore') are normalized up to the enclosing region and the response `notes` says so. There is no way to filter to a city. PARAMETERS (all optional — omit to scan the whole universe): - `sector` — one of the 20 sector slugs (map fuzzy input first, e.g. 'AI'→'ai-ml'). - `geography` — a region token (US/EU/UK/APAC/LATAM/Canada) or a city/country alias that normalizes to one. Unrecognized values return a note and are ignored (no filtering on geography). - `signalType` — exact label: 'Deploy frequency spike' | 'Engineering hiring burst' | 'Infrastructure buildout' | 'Framework migration'. - `minAccelerationScore` — integer 0-100; drop anything below. - `minVelocityChangePct` — integer; drop anything who…
| Name | Type | Req | Description |
|---|---|---|---|
| geography | string | — | Optional region filter. Region tokens: US, EU, UK, APAC, LATAM, Canada. City/country aliases are normalized up to the region (no city-level filtering exists). |
| limit | integer | — | How many results to return. Default 5, max 25. |
| minAccelerationScore | integer | — | Optional floor on the 0-100 acceleration score. |
| minVelocityChangePct | integer | — | Optional floor on commit-velocity change, in percent (e.g. 50 means >= +50%). |
| sector | string | — | Optional sector slug. One of the 20 supported values. |
| signalType | string | — | Optional exact signal-class filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | yes | — |
| consideredCount | integer | — | — |
| disclaimer | string | — | — |
| matchedCount | integer | yes | — |
| methodologyUrl | string | — | — |
| notes | array | — | — |
| period | string | yes | — |
| query | object | yes | — |
| results | array | yes | — |
| source | string | — | — |
No examples provided.