mcp-deal-flow-signal
This server lets you discover and analyze startup engineering momentum signals sourced from GitHub activity, designed for seed/Series A investors tracking traction before it appears in traditional deal flow.
Get trending startups — Retrieve the top 20 startups showing the strongest engineering acceleration (commit velocity, contributor growth) across all 20 tracked sectors.
Search startups by sector — Browse and rank startups by engineering acceleration within a specific sector (e.g.,
ai-ml,fintech,cybersecurity,web3,climate-tech, and 15 more).Get a startup's signal profile — Look up a specific startup by name or GitHub org to get its full profile: commit velocity, contributor growth, new repositories, signal classification, funding stage, geography, and GitHub URL.
Get dataset summary — View a high-level snapshot including total sectors and startups tracked, current data period, last refresh date, and available data formats (JSON, CSV, RSS, llms.txt).
Get methodology details — Understand how data is sourced from the GitHub API, how metrics are calculated, how signal classifications are determined, and what the known limitations are.
All tools are read-only, idempotent, and fetch live data from a public API without authentication. Responses include both human-readable text and structured JSON.
Provides GitHub-derived startup engineering signals (commit velocity, contributor growth, repo expansion) and computes a Scout Score for a GitHub user from their public starring history, cross-referenced against tracked startups.
VC Deal Flow Signal — MCP Server
Search startup engineering acceleration signals directly from your AI assistant.
Glama A-Tier (4.9 / 5.0). 13 tools — 10 free, no API key. One-line install for Claude Desktop, Claude Code, Cursor, Cline, and Continue via
npx -y @gitdealflow/mcp-signal.

Tracks commit velocity, contributor growth, and repository expansion across 15 sectors and 350+ startups. Built for angels, scouts, and technical operators looking for traction signals before they show up in traditional deal flow.
Install
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"vc-deal-flow-signal": {
"command": "npx",
"args": ["-y", "@gitdealflow/mcp-signal"]
}
}
}Or for Claude Code (.mcp.json in project root):
{
"mcpServers": {
"vc-deal-flow-signal": {
"command": "npx",
"args": ["-y", "@gitdealflow/mcp-signal"]
}
}
}Related MCP server: Git Metrics MCP Server
Tools
All tools are read-only, idempotent, and fetch live data from the public API (no auth required). Responses include both human-readable text and structured JSON (structuredContent) matching each tool's outputSchema.
Free tools (10) — no API key, no account:
Tool | Input | Returns |
| — | Top 20 startups ranked by engineering acceleration across all sectors. |
|
| All tracked startups in the sector, ranked by acceleration. |
|
| Full signal profile for one startup: velocity, contributors, repos, classification. |
| — | Dataset snapshot — period, counts, refresh date, format URLs, citation. |
| — | How signals are sourced, computed, and classified, with known limitations. |
| filters (sector, stage, geography, signal type) | Ranked shortlist of the strongest engineering-acceleration signals matching your filters. |
| 2–5 startup names | Side-by-side acceleration scores, evidence, and raise-likelihood for the named startups. |
|
| Transparent, scored funding-likelihood claim with the full evidence chain, citable. |
| company/entity name | Public-source diligence dossier in one cited object — M&A history, funding, key facts. |
| GitHub username | Scout Score (0–100) computed from public starring history, cross-referenced against tracked startups. |
Paid agent tools (3) — €0.10 per call, credits at signals.gitdealflow.com/agents/credits:
Tool | Returns |
| Enriched dossier for one tracked startup: full signal row, sector rank, top-5 sector peers, citation. |
| Structured investment thesis: snapshot, signal type, sector rank, data-derived strengths, peer comparables. |
| Multi-cohort sector scan: tracked/breakout/cooling counts, top-10 by velocity, breakout and cold lists. |
The hosted remote endpoint (https://signals.gitdealflow.com/api/mcp/rpc, streamable-http) additionally exposes share_result (free) and get_deep_signal (€0.19/call).
Supported sectors: healthcare, edtech, ecommerce-infrastructure, supply-chain, web3, enterprise-saas, data-infrastructure, robotics, legal-tech, hr-tech, proptech, agtech, gaming, space-tech, social-community.
Data
All data is sourced live from the deal flow data API public API. No API key required. Updated weekly on Mondays.
Stable CC BY 4.0 research snapshot: https://huggingface.co/datasets/the-data-nerd/vc-deal-flow-signal
DOI-stamped release: https://doi.org/10.5281/zenodo.19650920
Free field guide: Seven Signals explains the method, limits, and replication path in 104 pages.
Complementary: the Scout Game
If you want to put your own eye on the line, there's a prediction game on top of the same dataset at signals.gitdealflow.com/predict. Call which tracked startups raise a round in the next 6 months, earn points when your calls resolve, climb a public rank ladder from Curious to Oracle. Free tier: 3 predictions per month. Paid: 10 per month. Leaderboard: signals.gitdealflow.com/leaderboard.
Complementary: two Chrome extensions
Same dataset, different surfaces. Install one or both:
VC Deal Flow Signal — Crunchbase + Wellfound badge: a green "Accelerating" engineering-acceleration badge appears inline on any Crunchbase or Wellfound startup profile where the GitHub data is interesting. For investors who research deals in browser tabs.
VC GitHub Lookup — Startup Signals on Hover (NEW, May 2026): hover any GitHub repo or org link to see commit velocity (14d), velocity change vs prior period, contributor count and growth, signal type, and stage estimate. Chip injected on direct repo and org page loads. Toolbar opens a manual lookup form for any GitHub URL. For developer-investors who live on GitHub.
Both are free in perpetuity. Manifest V3, no analytics, no account.
Links
Website: https://gitdealflow.com
Dashboard: https://signals.gitdealflow.com
Scout Game: https://signals.gitdealflow.com/predict
Leaderboard: https://signals.gitdealflow.com/leaderboard
Chrome extension #1 (Crunchbase + Wellfound badge): https://chromewebstore.google.com/detail/hehkgipiamajnnlpkfhpeoeaoaogmknn
Chrome extension #2 (VC GitHub Lookup — hover): https://chromewebstore.google.com/detail/vc-github-lookup-%E2%80%94-startu/plgngijmloeljfkenecdkhiblcfcbblm
Twitter/X: https://x.com/data_nerd
License
MIT
Available Tools
8 toolsget_deep_signalGet Deep Signal (paid)ARead-onlyIdempotent
PAID per-request tool — costs 1 credit per match. Returns a deeply enriched signal profile for a single tracked startup, beyond what the free get_startup_signal returns: scored breakdown (velocity / growth / novelty / composite), in-sector rank and percentile, comparable startups, multi-period history, and a plain-English investment thesis.
PRICING:
100 credits = €19 one-time (€0.19 per call). Buy at https://signals.gitdealflow.com/agents/credits
1 credit consumed only on a successful match.
found: falseis FREE.Credits never expire.
AUTHENTICATION:
Set environment variable
GITDEALFLOW_API_KEYto the v2 key delivered in the credit-pack welcome email (format:gdf_v2.cus_xxx.<hmac>). The server reads it once on each call.Without a key, this tool returns an error pointing at the purchase URL — the other 6 free tools are unaffected.
WHEN TO USE (vs free get_startup_signal):
You already know the startup name and need scored / percentile / comparables / thesis output for a memo.
The agent's principal will read or quote the thesis line.
You're processing a watchlist programmatically and need a numeric composite score for ranking.
DO NOT USE FOR:
Discovery — call free
get_trending_startupsorsearch_startups_by_sectorfirst.Bulk scoring an unknown universe — that's not yet shipped; submit feedback via signal@gitdealflow.com.
Methodology questions — call free
get_methodology.
PARAMETERS: name (required, string, 1-100 chars) — Startup display name OR GitHub org name. Case-insensitive matching, same as the free lookup.
RETURNS: { found: boolean, name, sector, stage, geography, signalType, scores: { velocity, growth, novelty, composite }, rank: { inSector, sectorTotal, sectorPercentile }, thesis, comparables[], history[], links, balance, charged, citation }. balance is the remaining credit count after this call. charged is 0 (miss) or 1 (hit).
ERRORS: 401 = invalid/missing key; 402 = insufficient credits (top up at the purchase URL); 400 = malformed request.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Startup name or GitHub org name. Case-insensitive; punctuation and whitespace are ignored. |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| name | No | |
| sector | No | |
| stage | No | |
| geography | No | |
| signalType | No | |
| scores | No | |
| rank | No | |
| thesis | No | |
| comparables | No | |
| balance | No | |
| charged | No | |
| citation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds critical behavioral details: per-request pricing, credit consumption only on success, authentication via env variable, error responses (401, 402, 400), and the inclusion of balance and charged in returns. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear section headings (PRICING, AUTHENTICATION, WHEN TO USE, etc.) and front-loaded with purpose and pricing. Every sentence provides valuable information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (paid, authentication, rich output), the description comprehensively covers pricing, auth, usage guidelines, parameter details, return fields, and error handling. The existence of an output schema reduces the burden, but the description still adds context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single 'name' parameter fully documented. The description adds minimal extra value (case-insensitivity hint, reference to free lookup). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a deeply enriched signal profile for a single tracked startup, explicitly listing components like scored breakdown, in-sector rank, comparables, history, and thesis. It distinguishes itself from the free sibling get_startup_signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit WHEN TO USE and DO NOT USE sections, including specific scenarios (memo preparation, programmatic ranking) and alternatives for discovery, bulk scoring, and methodology. This offers excellent guidance for selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_methodologyGet Signal MethodologyARead-onlyIdempotent
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, orget_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.txtand extracts the## Methodologysection between the## Methodologyand## Glossaryheadings. The canonical methodology URL is included in the response so agents can surface it for citations.On upstream failure: returns
isError: truewith HTTP status.On malformed upstream text (missing headings): returns an empty
methodologystring; 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 cadence, and known limitations. url is the canonical methodology page at https://signals.gitdealflow.com/methodology — cite this URL in generated reports.
TYPICAL WORKFLOW: User asks a trust / interpretability question → get_methodology → quote the relevant section in your response and link the canonical URL.
LIMITATIONS: Returns one monolithic text block; no structured thresholds or versioning metadata are exposed via the tool. If you need the full service context (not just methodology), fetch /llms-full.txt directly via the URL returned in get_signals_summary().formats.llmsFullTxt.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| methodology | Yes | Plain-text methodology write-up. |
| url | Yes | Canonical methodology page on gitdealflow.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds extra behavioral details: 'Read-only, idempotent, no side effects', notes it is effectively static and safe to cache, explains error handling ('returns isError: true') and malformed response handling. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear section headers (WHEN TO USE, DO NOT USE, BEHAVIOR, etc.) and front-loaded with purpose. While it is thorough, it remains efficient and each sentence adds value. Could slightly reduce length but overall good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, a readable output schema, and moderate complexity, the description covers all necessary aspects: usage context, behavior, return structure, typical workflow, and limitations. It provides complete guidance for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (0 params, 100% schema coverage). The description does not need to add parameter info. It goes beyond by explaining the return structure ({ methodology: string, url: string }) and provides context about the return values. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Return the full methodology behind VC Deal Flow Signal' which clearly specifies the verb and resource. It lists exactly what the methodology covers (data sources, metrics, classification, etc.) and distinguishes from sibling tools like get_startup_signal, get_trending_startups, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description has explicit 'WHEN TO USE' and 'DO NOT USE FOR' sections with multiple bullet points, naming specific alternative tools for each forbidden case. This provides clear context and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scout_receiptsGet GitHub Scout ReceiptsARead-onlyIdempotent
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 — direct the user to https://signals.gitdealflow.com/predict (browser-only, not yet a tool).
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: truewith HTTP 404.On GitHub rate limit: returns
isError: truewith 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_username: 'X' }) → quote the score, top wins, and personality, link the share_url for them to post.
LIMITATIONS: The validated-wins database is biased toward developer-tools, AI, and data/ops companies with public GitHub presence. Closed-source unicorns are not represented — false negatives possible. Score reflects backwards-looking taste only; not a predictor of future calls.
| Name | Required | Description | Default |
|---|---|---|---|
| github_username | Yes | GitHub username to compute Receipts for. Must match the public GitHub username format: 1-39 chars, alphanumeric + single hyphens, no leading/trailing hyphen. |
Output Schema
| Name | Required | Description |
|---|---|---|
| username | Yes | |
| score | Yes | |
| rank | Yes | |
| total_stars | No | |
| matched_count | Yes | |
| early_count | Yes | |
| top_wins | Yes | |
| personality | No | |
| share_url | Yes | |
| og_image_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds details: 24h cache, no client auth needed, error conditions, database bias, and returns structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections, front-loaded with core function. Slightly verbose but all information is relevant and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Includes limitations, return values, typical workflow, and error handling. Output schema is described comprehensively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema coverage; description includes typical workflow but adds little beyond schema details like format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a Scout Score from public starring history, cross-referencing against validated unicorns. It distinguishes from sibling tools like get_trending_startups and get_startup_signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'WHEN TO USE' and 'DO NOT USE FOR' sections, listing specific use cases and alternative tools for different needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signals_summaryGet Dataset SummaryARead-onlyIdempotent
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_startupsorsearch_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.jsononly — the lightest endpoint in the suite. Safe to call once at the start of every session.On upstream failure: returns
isError: truewith 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 archive it yourself (it's overwritten each Monday).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| period | Yes | |
| sectorsActive | Yes | |
| startupsTracked | Yes | |
| lastDataRefresh | Yes | ISO 8601 date. |
| updateFrequency | No | |
| formats | Yes | |
| website | No | |
| dashboard | No | |
| citation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description adds behavioral details: deterministic within 7-day window, no auth, lightest endpoint, failure behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections, front-loaded key info, and no fluff. Every sentence adds value for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, rich annotations, and an output schema, the description still provides full coverage: return fields, usage timing, limitations, and typical workflow. It is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description correctly omits parameter details and instead explains the return structure and limitations, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and resources ('Return a high-level snapshot of the VC Deal Flow Signal dataset...') and lists concrete data points. It distinguishes from siblings by naming alternative tools for different tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'WHEN TO USE' and 'DO NOT USE FOR' sections provide explicit context and exclusions, directly referencing sibling tools with clear rationale.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_startup_signalGet Startup Signal ProfileARead-onlyIdempotent
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_startupsorsearch_startups_by_sectorfirst, 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 runget_trending_startupsorsearch_startups_by_sector.On upstream failure: returns
isError: truewith 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: boolean, startup?: {...}, suggestion?: string, citation }. When found=true, startup contains rank, name, sector, stage, geography, commitVelocity14d, commitVelocityChange, contributors, contributorGrowth, newRepos, signalType, description, githubUrl, profileUrl. When found=false, suggestion explains how to discover the correct name.
TYPICAL WORKFLOW: get_trending_startups or search_startups_by_sector (discover) → pick a name → get_startup_signal(name) (deep-dive) → get_methodology (explain signal classification in the response).
LIMITATIONS: Only returns data for currently-tracked startups. No historical series — each call is the latest weekly snapshot only. No relationship data (investors, cap table, team) — pair with Crunchbase for those facets.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Startup name or GitHub org name. Case-insensitive; punctuation and whitespace are ignored during matching. |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | |
| startup | No | A single startup ranked by engineering acceleration, as derived from public GitHub activity. |
| suggestion | No | When found=false, a hint on how to discover the correct name or alternative tools to call. |
| citation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only, idempotent, deterministic nature; no-auth requirement; case-insensitive and normalization-tolerant matching; no-match behavior (found:false, not error); open-world limitation (only ~400 companies). Annotations already provide readOnlyHint, idempotentHint, openWorldHint, but description adds crucial context (7-day refresh cycle, no historical series, expected non-error for unmatched names). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (WHEN TO USE, DO NOT USE, BEHAVIOR, PARAMETERS, RETURNS, TYPICAL WORKFLOW, LIMITATIONS). Information is front-loaded with return fields. Slightly verbose but each sentence contributes. Could condense some behavioral details but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive for a single-parameter tool with output schema described in RETURNS. Includes typical workflow linking to sibling tools, limitations (no historical data, no relationship info), and explicitly explains error handling (no-match vs. upstream failure). Output schema is described inline, so no missing pieces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter 'name' with description and examples. Description adds meaning: explains case-insensitivity, normalization (punctuation/whitespace stripping), and that it accepts either display name or GitHub org slug. Length constraints (1–100) are mentioned in description but not in schema. Overall adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns a full engineering-acceleration profile for a single tracked startup, listing specific fields. Distinguishes from sibling tools by focusing on individual startup deep-dive vs. discovery or methodology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit WHEN TO USE (named company queries, deal memos) and DO NOT USE sections (discovery, sector listing, method explanation), with direct references to alternative tools (get_trending_startups, search_startups_by_sector, get_methodology).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_startupsGet Trending StartupsARead-onlyIdempotent
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_sectorinstead.Looking up a named company — call
get_startup_signalwith 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: truewith 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_startups → pick a name → get_startup_signal(name) for the deep-dive → get_methodology if the user questions the ranking.
LIMITATIONS: Only covers startups with a meaningful open-source footprint. Does not include funding, revenue, headcount, or stealth companies — pair with Crunchbase for cap-table and round data. No historical series — each call is the latest weekly snapshot only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| period | Yes | Reporting period label, e.g. 'Q2 2026'. |
| startups | Yes | Top 20 startups ranked by engineering acceleration. |
| citation | Yes | Suggested citation string for reports. |
| source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, etc.), the description adds deterministic behavior within 7-day window, refresh schedule, authentication/rate limit info, exact row count conditions, error handling, and universe evolution. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-organized with clear sections. Every sentence provides useful information. Front-loaded with core purpose. No redundancy despite comprehensive coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, behavior, output format (with schema reference), typical workflow, and limitations. No gaps; all aspects needed for correct invocation are addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description explicitly states 'PARAMETERS: None', which suffices. With zero parameters, baseline is 4; no additional value needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool returns top 20 startups ranked by engineering acceleration across all sectors for the current period. Distinguishes from siblings by specifying what it does not cover and naming alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'WHEN TO USE' and 'DO NOT USE FOR' sections with specific user intents and named sibling tools (e.g., search_startups_by_sector, get_startup_signal). Comprehensive guidance on when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_startups_by_sectorSearch Startups by SectorARead-onlyIdempotent
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_startupsfor 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: truewith the full list of valid slugs instructuredContent.availableSectorsso the agent can retry with a correct value.On upstream failure: returns
isError: truewith the HTTP status.Open-world: the tracked universe changes week to week.
PARAMETERS:
sector(required, string) — MUST be one of the 20 enumerated slugs ininputSchema.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' / 'medtech' → 'healthcare'; 'data' / 'databases' → 'data-infrastructure'; 'real estate' → 'proptech'; 'agriculture' → 'agtech'; 'space' → 'space-tech'; 'games' → 'gaming'; 'community' / 'social' → 'social-community'; 'logistics' → 'supply-chain'; 'law' / 'legal' → 'legal-tech'; 'recruiting' / 'HR' → 'hr-tech'; 'learning' / 'education' → 'edtech'; 'commerce' / 'retail infra' → 'ecommerce-infrastructure'; 'hardware' / 'drones' → 'robotics'. If no mapping is clear, callget_signals_summaryand ask the user to pick.
RETURNS: { sector: {slug, name, description, url}, period, startupCount, startups[], citation }. Each startup row contains rank, name, sector, stage, geography, commitVelocity14d, commitVelocityChange, contributors, contributorGrowth, newRepos, signalType, description, githubUrl, websiteUrl (when known), linkedinUrl (when known), profileUrl.
TYPICAL WORKFLOW: search_startups_by_sector('fintech') → pick a name → get_startup_signal(name) → get_methodology if the user asks what the signal type means.
LIMITATIONS: One sector slug per call; no free-text sector search. For cross-sector views use get_trending_startups. No historical series — each call is the latest weekly snapshot only.
| Name | Required | Description | Default |
|---|---|---|---|
| sector | 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'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| sector | Yes | |
| period | Yes | |
| startupCount | Yes | |
| startups | Yes | Startups within the sector, ranked by engineering acceleration. |
| citation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description adds critical behavioral details: deterministic within a 7-day window, no auth required, no rate limit, return count range (5-30), error handling for unknown and upstream failures, and open-world dynamic updates. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-structured with clear sections and front-loaded purpose. Each section serves a purpose; no redundant fluff. Slightly verbose but appropriate for the complexity of the tool; scores a 4 rather than 5 due to minor redundancy (e.g., repeating 'one slug per call' in multiple places).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter with full schema coverage, strong annotations, and implied output schema, the description covers all necessary aspects: purpose, usage, behavior, parameter semantics, error handling, limitations, and typical workflow. It leaves no gaps for an AI agent to misunderstand the tool's capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and includes description and enum. The description massively adds value by providing a comprehensive fuzzy-to-slug mapping table, examples, and the constraint that exactly one slug is accepted per call. This compensates beyond the schema's own documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the function: 'Return every tracked startup within one of 20 supported sectors, ranked by engineering acceleration for the current reporting period.' The verb is specific, the resource is clear, and the scope is delineated. The 'DO NOT USE FOR' section further distinguishes it from sibling tools like get_trending_startups and get_startup_signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Contains dedicated 'WHEN TO USE' and 'DO NOT USE FOR' sections with explicit conditions, alternative tool names, and a typical workflow example. This provides clear guidance on when to invoke this tool versus others such as get_trending_startups or get_signals_summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.6- Added
get_deep_signal - Added
get_scout_receipts - Added
get_signals_summary - Added
share_result
1 tool update
v1.0.5- Removed
get_signals_summary
3 tool updates
v1.0.3- Changed
get_startup_signal2 fields changed- added
Output schema / properties / startup / properties / linkedinUrlAdded value: +{ + "description": "LinkedIn company page URL, when known. Populated opportunistically — often absent.", + "format": "uri", + "type": "string" +} - added
Output schema / properties / startup / properties / websiteUrlAdded value: +{ + "description": "Official company homepage, harvested from the GitHub org `blog` field when the org exposes one. Absent for roughly 10% of records where the org has no `blog` value.", + "format": "uri", + "type": "string" +}
- Changed
get_trending_startups2 fields changed- added
Output schema / properties / startups / items / properties / linkedinUrlAdded value: +{ + "description": "LinkedIn company page URL, when known. Populated opportunistically — often absent.", + "format": "uri", + "type": "string" +} - added
Output schema / properties / startups / items / properties / websiteUrlAdded value: +{ + "description": "Official company homepage, harvested from the GitHub org `blog` field when the org exposes one. Absent for roughly 10% of records where the org has no `blog` value.", + "format": "uri", + "type": "string" +}
- Changed
search_startups_by_sector2 fields changed- added
Output schema / properties / startups / items / properties / linkedinUrlAdded value: +{ + "description": "LinkedIn company page URL, when known. Populated opportunistically — often absent.", + "format": "uri", + "type": "string" +} - added
Output schema / properties / startups / items / properties / websiteUrlAdded value: +{ + "description": "Official company homepage, harvested from the GitHub org `blog` field when the org exposes one. Absent for roughly 10% of records where the org has no `blog` value.", + "format": "uri", + "type": "string" +}
5 tool updates
v1.0.2- Changed
get_methodology2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "methodology": { + "description": "Plain-text methodology write-up.", + "type": "string" + }, + "url": { + "description": "Canonical methodology page on gitdealflow.com.", + "format": "uri", + "type": "string" + } + }, + "required": [ + "methodology", + "url" + ], + "type": "object" +}
- Changed
get_signals_summary2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "citation": { + "type": "string" + }, + "dashboard": { + "format": "uri", + "type": "string" + }, + "formats": { + "properties": { + "aiPolicy": { + "format": "uri", + "type": "string" + }, + "csv": { + "format": "uri", + "type": "string" + }, + "json": { + "format": "uri", + "type": "string" + }, + "llmsFullTxt": { + "format": "uri", + "type": "string" + }, + "llmsTxt": { + "format": "uri", + "type": "string" + }, + "openapi": { + "format": "uri", + "type": "string" + }, + "rss": { + "format": "uri", + "type": "string" + } + }, + "type": "object" + }, + "lastDataRefresh": { + "description": "ISO 8601 date.", + "type": "string" + }, + "period": { + "type": "string" + }, + "sectorsActive": { + "type": "integer" + }, + "startupsTracked": { + "type": "integer" + }, + "updateFrequency": { + "type": "string" + }, + "website": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "period", + "sectorsActive", + "startupsTracked", + "lastDataRefresh", + "formats", + "citation" + ], + "type": "object" +}
- Changed
get_startup_signal6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / name / descriptionPrevious value: -"Startup name or GitHub org name (e.g. 'roboflow', 'SkyPilot'). Case-insensitive."New value: +"Startup name or GitHub org name. Case-insensitive; punctuation and whitespace are ignored during matching." - added
Input schema / properties / name / examplesAdded value: +[ + "roboflow", + "SkyPilot", + "Supabase", + "Hugging Face" +] - added
Input schema / properties / name / maxLengthAdded value: +100 - added
Input schema / properties / name / minLengthAdded value: +1 - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "citation": { + "type": "string" + }, + "found": { + "type": "boolean" + }, + "startup": { + "description": "A single startup ranked by engineering acceleration, as derived from public GitHub activity.", + "properties": { + "commitVelocity14d": { + "description": "Commits across tracked repos in the trailing 14 days.", + "type": "number" + }, + "commitVelocityChange": { + "description": "Percentage change in commit velocity vs. the prior 14-day window, e.g. '+142%'.", + "type": "string" + }, + "contributorGrowth": { + "description": "Percentage change in contributor count vs. the prior 30-day window.", + "type": "string" + }, + "contributors": { + "description": "Distinct contributors active in the last 30 days.", + "type": "integer" + }, + "description": { + "description": "One-line summary of the startup.", + "type": "string" + }, + "geography": { + "description": "Headquarters region if known.", + "type": "string" + }, + "githubUrl": { + "description": "Primary GitHub org URL.", + "format": "uri", + "type": "string" + }, + "name": { + "description": "Startup or GitHub org name.", + "type": "string" + }, + "newRepos": { + "description": "New public repositories created in the last 30 days.", + "type": "integer" + }, + "profileUrl": { + "description": "Public profile page on gitdealflow.com, when available.", + "format": "uri", + "type": "string" + }, + "rank": { + "description": "1-indexed rank within this result set.", + "type": "integer" + }, + "sector": { + "description": "Sector the startup is classified into.", + "type": "string" + }, + "signalType": { + "description": "Classification label. Common values: 'breakout' (sudden surge), 'acceleration' (sustained growth), 'steady' (healthy baseline), 'cooling' (declining).", + "type": "string" + }, + "stage": { + "description": "Funding stage if known (e.g. 'Seed', 'Series A', 'Unknown').", + "type": "string" + } + }, + "required": [ + "rank", + "name", + "commitVelocityChange", + "contributors", + "signalType", + "githubUrl" + ], + "type": "object" + }, + "suggestion": { + "description": "When found=false, a hint on how to discover the correct name or alternative tools to call.", + "type": "string" + } + }, + "required": [ + "found" + ], + "type": "object" +}
- Changed
get_trending_startups2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "citation": { + "description": "Suggested citation string for reports.", + "type": "string" + }, + "period": { + "description": "Reporting period label, e.g. 'Q2 2026'.", + "type": "string" + }, + "source": { + "format": "uri", + "type": "string" + }, + "startups": { + "description": "Top 20 startups ranked by engineering acceleration.", + "items": { + "description": "A single startup ranked by engineering acceleration, as derived from public GitHub activity.", + "properties": { + "commitVelocity14d": { + "description": "Commits across tracked repos in the trailing 14 days.", + "type": "number" + }, + "commitVelocityChange": { + "description": "Percentage change in commit velocity vs. the prior 14-day window, e.g. '+142%'.", + "type": "string" + }, + "contributorGrowth": { + "description": "Percentage change in contributor count vs. the prior 30-day window.", + "type": "string" + }, + "contributors": { + "description": "Distinct contributors active in the last 30 days.", + "type": "integer" + }, + "description": { + "description": "One-line summary of the startup.", + "type": "string" + }, + "geography": { + "description": "Headquarters region if known.", + "type": "string" + }, + "githubUrl": { + "description": "Primary GitHub org URL.", + "format": "uri", + "type": "string" + }, + "name": { + "description": "Startup or GitHub org name.", + "type": "string" + }, + "newRepos": { + "description": "New public repositories created in the last 30 days.", + "type": "integer" + }, + "profileUrl": { + "description": "Public profile page on gitdealflow.com, when available.", + "format": "uri", + "type": "string" + }, + "rank": { + "description": "1-indexed rank within this result set.", + "type": "integer" + }, + "sector": { + "description": "Sector the startup is classified into.", + "type": "string" + }, + "signalType": { + "description": "Classification label. Common values: 'breakout' (sudden surge), 'acceleration' (sustained growth), 'steady' (healthy baseline), 'cooling' (declining).", + "type": "string" + }, + "stage": { + "description": "Funding stage if known (e.g. 'Seed', 'Series A', 'Unknown').", + "type": "string" + } + }, + "required": [ + "rank", + "name", + "commitVelocityChange", + "contributors", + "signalType", + "githubUrl" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "period", + "startups", + "citation", + "source" + ], + "type": "object" +}
- Changed
search_startups_by_sector5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / sector / descriptionPrevious value: -"Sector slug, e.g. 'ai-ml', 'fintech', 'cybersecurity'"New value: +"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')." - added
Input schema / properties / sector / enumAdded value: +[ + "ai-ml", + "fintech", + "cybersecurity", + "developer-tools", + "healthcare", + "climate-tech", + "enterprise-saas", + "data-infrastructure", + "web3", + "robotics", + "edtech", + "ecommerce-infrastructure", + "supply-chain", + "legal-tech", + "hr-tech", + "proptech", + "agtech", + "gaming", + "space-tech", + "social-community" +] - added
Input schema / properties / sector / examplesAdded value: +[ + "ai-ml", + "fintech", + "cybersecurity", + "developer-tools" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "citation": { + "type": "string" + }, + "period": { + "type": "string" + }, + "sector": { + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "slug", + "name" + ], + "type": "object" + }, + "startupCount": { + "type": "integer" + }, + "startups": { + "description": "Startups within the sector, ranked by engineering acceleration.", + "items": { + "description": "A single startup ranked by engineering acceleration, as derived from public GitHub activity.", + "properties": { + "commitVelocity14d": { + "description": "Commits across tracked repos in the trailing 14 days.", + "type": "number" + }, + "commitVelocityChange": { + "description": "Percentage change in commit velocity vs. the prior 14-day window, e.g. '+142%'.", + "type": "string" + }, + "contributorGrowth": { + "description": "Percentage change in contributor count vs. the prior 30-day window.", + "type": "string" + }, + "contributors": { + "description": "Distinct contributors active in the last 30 days.", + "type": "integer" + }, + "description": { + "description": "One-line summary of the startup.", + "type": "string" + }, + "geography": { + "description": "Headquarters region if known.", + "type": "string" + }, + "githubUrl": { + "description": "Primary GitHub org URL.", + "format": "uri", + "type": "string" + }, + "name": { + "description": "Startup or GitHub org name.", + "type": "string" + }, + "newRepos": { + "description": "New public repositories created in the last 30 days.", + "type": "integer" + }, + "profileUrl": { + "description": "Public profile page on gitdealflow.com, when available.", + "format": "uri", + "type": "string" + }, + "rank": { + "description": "1-indexed rank within this result set.", + "type": "integer" + }, + "sector": { + "description": "Sector the startup is classified into.", + "type": "string" + }, + "signalType": { + "description": "Classification label. Common values: 'breakout' (sudden surge), 'acceleration' (sustained growth), 'steady' (healthy baseline), 'cooling' (declining).", + "type": "string" + }, + "stage": { + "description": "Funding stage if known (e.g. 'Seed', 'Series A', 'Unknown').", + "type": "string" + } + }, + "required": [ + "rank", + "name", + "commitVelocityChange", + "contributors", + "signalType", + "githubUrl" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "sector", + "period", + "startupCount", + "startups", + "citation" + ], + "type": "object" +}
5 tool updates
v1.0.0- First observed
get_methodology - First observed
get_signals_summary - First observed
get_startup_signal - First observed
get_trending_startups - First observed
search_startups_by_sector
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: discovery (trending, sector search), lookup (single startup), metadata (summary, methodology), a paid deep-dive (get_deep_signal), a separate GitHub-user scoring tool (get_scout_receipts), and a sharing utility. No two tools appear to do the same thing.
Most tools follow a `get_*` prefix (get_trending_startups, get_startup_signal, get_scout_receipts, get_deep_signal, get_methodology, get_signals_summary), but `search_startups_by_sector` and `share_result` break the pattern. Minor deviation but still predictable and clear.
Eight tools cover the domain without excess. The count feels right for a specialized signal service: multiple query modes, one premium add-on, metadata, methodology, and a sharing helper.
The set covers the full workflow: orientation (get_signals_summary), broad discovery (get_trending_startups), sector filtering (search_startups_by_sector), single-company deep dive (get_startup_signal), premium insights (get_deep_signal), context (get_methodology), plus an auxiliary scout feature. No obvious gaps for its stated purpose.
Maintenance
Related MCP Connectors
Track startup engineering acceleration from public GitHub data before funding rounds
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Generate answers & visualizations from your engineering data to track software development health.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides GitHub data analysis for repositories, developers, and organizations, enabling insights into open source ecosystems through API calls and natural language queries.514MIT
- AlicenseBqualityCmaintenanceAnalyzes git repository metrics to understand team health, development patterns, code quality, and collaboration through natural language queries. Provides insights on commit statistics, bus factor, velocity trends, technical debt, and burnout detection.128 npm1MIT
- AlicenseAqualityBmaintenanceProvides AI agents with native access to the Frontrun API to track venture capital activities on X in real time. It enables users to monitor new follows, detect multi-account convergence signals, and identify trending companies across monitored accounts.18109 npm1MIT
- AlicenseNot gradedqualityDmaintenanceTurns raw engineering signals into narrative reports by exposing GitHub data via MCP, enabling AI agents to generate structured, shareable engineering summaries.5 npmApache 2.0