mcpField
M
mcp-github-organization-signal-scanner

mcp-github-organization-signal-scanner

Local
github.com/mambalabsdevBusiness & Marketing0Updated 1w ago

About mcp-github-organization-signal-scanner

An MCP server for business and sales teams that maps a company domain to its GitHub organization and summarizes public repository signals. It uses GitHub’s documented REST API and reports metadata without cloning or assessing source code.

Key features

  1. 01Resolves organizations from company domains
  2. 02Reports repository, follower, and star counts
  3. 03Summarizes top languages and recent activity
  4. 04Detects public SDK signals
  5. 05Records rejected identity candidates

Use cases

  1. 01Find a company’s GitHub organization
  2. 02Compare public repository activity across accounts
  3. 03Check whether a company publishes a public SDK

MCP support

Exposes the `scan_github_organization_signals` tool to MCP clients. The thin client calls an Apify actor and returns its flat JSON result.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-mambabuilt-mcp-github-organization-signal-scanner": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-github-organization-signal-scanner"
],
"env": {
"APIFY_TOKEN": "<APIFY_TOKEN>"
}
}
}
}
Run commandnpx -y @mambalabsdev/mcp-github-organization-signal-scanner
Environment variables to set
APIFY_TOKENSecretApify API token from https://console.apify.com/account/integrations

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mambalabsdev/mcp-github-organization-signal-scanner1.2.0

Tools

1

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
skipCachebooleanNoWhen false (default) a successful lookup is cached for seven days and reused, which costs you nothing on a repeated run. Set true to force a fresh fetch.
github_orgstringNoOptional. If you already know the organization login, for example "stripe", put it here and the actor skips discovery entirely and goes straight to the API, which is faster and spends fewer of your rate limited requests.
githubTokenstringNoYOUR OWN GitHub personal access token, free to create at github.com/settings/tokens with no scopes at all for public data. OPTIONAL: without it the actor runs at GitHub 60 requests per hour, which is enough for a handful of companies and not enough for a list. With it the limit is 5,000 per hour. A token passed here travels in the tool call and stays in the chat transcript, so prefer setting GITHUB_TOKEN in this server's environment: when this argument is omitted the server sends that variable instead.
company_namestringNoOptional but strongly recommended. It is what the identity gate checks a discovered record against, so supplying it is the single cheapest way to reduce wrong matches.
company_domainstringNoBare company domain, for example stripe.com. This is the only required input and it is the join key for every other actor in the fleet.
repoPageBudgetenumNoHow many pages of 100 repositories to read for a large organization. This is a cost and completeness dial, not a change of answer: the row always reports how many repositories were actually sampled and whether the sample is complete.1 | 2 | 3 | 5
activeWindowDaysenumNoHow recently a repository must have been pushed to count as active. 90 days by default. This changes what "active" means on the row, so pick the window your own definition of an engaged engineering team uses.30 | 90 | 180 | 365
includeRepoDetailbooleanNoWhen true (default) the organization repositories are read and the language, star, activity and SDK signals are derived from them. Set false to return the organization record only, which is one request instead of several and is much friendlier to the unauthenticated rate limit.
includeContributorEstimatebooleanNoWhen true the actor spends one extra request to read the contributor count of the organization most starred repository, as a floor on the size of its public engineering surface. Default false, because one extra request per company is real money against a 60 per hour unauthenticated budget.

Details

From the project README

GitHub Organization Signal Scanner MCP Server

Smithery Glama score MCP Registry npm version npm downloads license mcpservers.org

GitHub Organization Signal Scanner MCP server

An MCP server that resolves a company domain to its GitHub organization with repo, language and activity signals. It wraps the Mamba Labs GitHub Organization Signal Scanner actor on Apify and returns a Clay-ready flat JSON row to any MCP client.

What's Inside

What it does

Give it a company domain and it finds that company's GitHub organization and returns repository count, followers, creation date, top languages, total stars, the most recent push, how many repositories are actively worked on, and whether the company ships a public SDK. One flat row per company, read through GitHub's own documented REST API.

Forks and archived repositories are excluded from the language and star derivations, and the exclusion is counted on the row. A rate limited request reports not_extractable and never a zero, because a zero is a number a buyer would filter on. A login that resolves to a personal user account rather than an organization is reported as identity_mismatch. It reads organization and repository metadata only: it does not clone repositories, read source, scan for secrets or assess code quality.

All of the scanning runs on Apify. This package is a thin client that calls the actor and hands back the result unchanged.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config:

{
  "mcpServers": {
    "mamba-github-organization-signal-scanner": {
      "command": "npx",
      "args": ["-y", "@mambalabsdev/mcp-github-organization-signal-scanner"],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Get your token at https://console.apify.com/account/integrations, paste it in, and restart Claude Desktop. The scan_github_organization_signals tool will be available.

Prerequisites

  • Node.js 18 or newer
  • An Apify account with an API token
  • Optional: your own GitHub personal access token, free to create at github.com/settings/tokens with no scopes at all for public data, if you want to scan more than a handful of companies

Example prompts

  • "Find the GitHub organization for stripe.com and summarize its activity."
  • "Scan the GitHub org vercel and tell me its top languages and total stars."
  • "Does figma.com ship a public SDK? Check its GitHub organization."
  • "Scan notion.so's GitHub org, counting a repo as active if it was pushed in the last 30 days."

Inputs

  • company_domain (optional): bare company domain, for example stripe.com. This is the lookup key and the join key for every other actor in the fleet.
  • company_name (optional but strongly recommended): what the identity gate checks a discovered record against, so supplying it is the cheapest way to reduce wrong matches.
  • github_org (optional): if you already know the organization login, for example stripe, put it here and the tool skips discovery entirely and goes straight to the API, which is faster and spends fewer rate limited requests.
  • includeRepoDetail (optional): when true (the default) the organization repositories are read and the language, star, activity and SDK signals are derived from them. Set false to return the organization record only, which is one request instead of several and is friendlier to the unauthenticated rate limit.
  • includeContributorEstimate (optional): when true one extra request reads the contributor count of the organization's most starred repository, as a floor on the size of its public engineering surface. False by default, because one extra request per company is real money against a 60 per hour unauthenticated budget.
  • activeWindowDays (optional): how recently a repository must have been pushed to count as active. One of 30, 90, 180 or 365, with 90 the default. This changes what active means on the row.
  • repoPageBudget (optional): how many pages of 100 repositories to read for a large organization. One of 1, 2, 3 or 5. This is a cost and completeness dial, not a change of answer: the row always reports how many repositories were sampled and whether the sample is complete.
  • githubToken (optional): your own GitHub personal access token, free to create with no scopes at all for public data. Without it the tool runs at GitHub's 60 requests per hour, which is enough for a handful of companies and not enough for a list. With it the limit is 5,000 per hour.
  • skipCache (optional): when false (the default) a successful lookup is cached for seven days and reused. Set true to force a fresh fetch.
  • max_charge_usd (optional): a cost cap in USD for this run. The actor stops before an item that could take its charges past this amount. Omit it to rely on the maximum cost per run set in Apify.

Output

The tool returns the actor's flat JSON row for the company, with 32 snake_case fields and no nested objects. github_discovery says how the organization was found, github_rejected_candidate records a candidate the identity gate turned away, repos_sampled and repos_complete say how much of the organization was read, and repos_excluded counts the forks and archived repositories left out. See the Apify Store page for the full output schema.

Example output

{
  "degraded": false,
  "degradation_reason": null,
  "company_domain": "stripe.com",
  "company_name": "Stripe",
  "github_org": "stripe",
  "github_url": "https://github.com/stripe",
  "github_discovery": "homepage_link",
  "github_rejected_candidate": null,
  "github_account_type": "Organization",
  "public_repos": 98,
  "followers": 3469,
  "org_created_at": "2011-06-17T15:42:37Z",
  "org_location": "San Francisco, CA",
  "top_languages": "TypeScript, Go, Ruby, JavaScript, HTML",
  "total_stars": 42821,
  "most_starred_repo": "stripe-node",
  "most_starred_repo_stars": 4485,
  "most_recent_push_at": "2026-08-22T18:33:15.000Z",
  "active_repos_90d": 56,
  "has_public_sdk": true,
  "repos_sampled": 98,
  "repos_complete": true,
  "repos_excluded": "forks=6, archived=5",
  "rate_limit_remaining": 57,
  "coverage": 1,
  "fetch_status": "ok",
  "run_date": "2026-08-22T19:23:50.177Z"
}

Features

  • Resolves a GitHub organization starting from a company domain
  • Repository count, stars, followers and top languages
  • Recent push activity and repositories active in a window you choose
  • Public SDK detection, a direct developer tooling signal
  • Runs keyless, with your own GitHub token available for scale
  • Rejected candidates recorded in github_rejected_candidate
  • 32 flat snake_case fields, one row per company

Pricing

Price per event on the Apify FREE plan, from the live pricing record; paid Apify plans pay less per event.

EventPrice (USD)
Actor Start (apify-actor-start)0.00005
Company checked (company-checked)0.003
Organization resolved (org-resolved)0.0025
Repository signals extracted (repo-signals-extracted)0.003

Full actor documentation

This server is a thin client and holds no scanning logic. For the complete input and output reference, pricing, and run history, see the Apify Store page:

https://apify.com/mambalabs/github-organization-signal-scanner


Mamba Labs GTM Suite

This server is one of the Mamba Labs GTM Suite MCP servers. Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything. The actor behind this server is the GitHub Organization Signal Scanner, immutable Apify actor ID ahF8RRpv5mzPao5CN.

Built by Mamba Labs | npm | Apify Store

License

MIT

Built by Mamba Labs. https://apify.com/mambalabs

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.