Skip to main content
Glama
githunt-agent

GitHunt MCP

githunt-mcp

npm version node license MCP

An MCP server that gives your AI assistant a recruiter's view of GitHub. It wraps GitHunt's API so Claude, Cursor, and other MCP clients can search a pre-indexed pool of GitHub developers, look up a ranked profile, and run deep AI analysis on a candidate - all from a chat prompt.

Ask "find backend engineers in Berlin who know Go and Kubernetes" and get back a ranked, scored shortlist with activity signals and contact info.

Prefer zero setup? GitHunt also runs a hosted MCP server at https://mcp.githunt.ai/mcp. Add it as a custom connector in Claude (Settings -> Connectors) or as a remote MCP server in your client and sign in with your GitHunt account - no API key or local process needed. This package is the self-hosted (stdio) alternative.

Quickstart

  1. Grab an API key from your GitHunt account.

  2. Run the server:

    GITHUNT_API_KEY=your-key-here npx githunt-mcp
  3. Wire it into your client (see below), then just ask.

Environment variables

Variable

Required

Description

GITHUNT_API_KEY

yes

Your GitHunt API key

GITHUNT_API_URL

no

API base URL (default https://api.githunt.ai)

Claude Code

claude mcp add githunt -e GITHUNT_API_KEY=your-key-here -- npx githunt-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "githunt": {
      "command": "npx",
      "args": ["githunt-mcp"],
      "env": {
        "GITHUNT_API_KEY": "your-key-here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "githunt": {
      "command": "npx",
      "args": ["githunt-mcp"],
      "env": {
        "GITHUNT_API_KEY": "your-key-here"
      }
    }
  }
}

Any MCP client that speaks stdio works the same way: run npx githunt-mcp with GITHUNT_API_KEY in the environment.

Related MCP server: Repo Radar MCP

Try it

Once connected, prompt your assistant naturally:

  • "Find senior frontend developers in Warsaw who know React and TypeScript."

  • "Show me hireable DevOps engineers in Poland with 5+ years on GitHub."

  • "Give me the next 25 candidates for that search." (paging via offset)

  • "Pull up octocat's GitHunt profile."

  • "Do a deep analysis of torvalds - proficiency, best-fit roles, any public emails."

  • "Search for ML engineers in San Francisco, then analyze your top 3."

Tools

Tool

What it does

Speed

search_developers

Search GitHunt's pre-indexed pool by location, role, skills, languages, and more. Returns candidates ranked by fit with scores, activity, and contact info. Pages via offset (0-200). Returns a markdown table plus structured JSON. If a location matches nothing, it suggests similar supported locations instead of an empty page.

Fast (pool-served, no live crawl)

get_developer

Get one developer's ranked profile by login/username: overall, profile, tech-stack, and activity scores, experience, commit activity, top repos, and contact info.

Fast (cache-first)

analyze_profile

Deep AI analysis of a profile from live GitHub data: proficiency level, best-fit roles, and extracted emails. Use it to vet a shortlisted candidate.

Slower (live crawl)

Supported role values: fullstack, frontend, backend, mobile, devops, ai-engineer, ai-orchestrator, ml-engineer, data-scientist, data-engineer, security, cloud, blockchain, embedded, gamedev, ios-developer, android-developer, sre, platform-engineer, qa-engineer, solutions-architect, cto, vp-engineering, head-engineering, engineering-manager, tech-lead, product-manager, director-engineering.

Skills are matched with synonyms (k8s -> kubernetes), and locations are normalized (SF, NYC, UK, Warszawa).

Full API reference: https://docs.githunt.ai

Scoring

Each candidate carries an overall score built from three dimensions, all surfaced in get_developer:

  • Profile score - bio, seniority signals, and account maturity.

  • Tech-stack score - how well their languages and repos match the requested skills and role.

  • Activity score - recency and volume of public contributions (commits, frequency, commit-message quality).

search_developers ranks the pool by fit for your query; analyze_profile recomputes proficiency and role fit against fresh GitHub data.

Quotas

Requests count against your GitHunt plan's quota. Every response includes your current usage (used / limit for the month), and a quota_exceeded error tells you when you've hit the cap. See your account for plan limits.

Limitations & responsible use

GitHunt reads public GitHub activity, which is strong evidence of technical work but far from the whole picture:

  • It's blind to private-repo, internal, and enterprise contributions - many excellent engineers have quiet public profiles.

  • The candidate pool is pre-indexed, so brand-new or rarely-active accounts may be missing; analyze_profile fetches live data for a specific person.

  • Public-activity signals can skew by geography, employer, and career stage.

Use this as a lead generator, not an automated filter. Treat scores as a starting point for a human conversation, not a hiring decision. GitHub is not the whole engineer.

Contributing

Issues and pull requests are welcome. Please open an issue describing the change before sending a large PR. For API behavior and endpoint details, see https://docs.githunt.ai.

License

MIT - see LICENSE.

Available Tools

3 tools
analyze_profileAnalyze GitHub profileA
Read-only
Inspect

Deep analysis of a GitHub profile from live GitHub data: proficiency level, best-fit roles, extracted emails. Slower and heavier than get_developer; use it to vet a shortlisted candidate.

ParametersJSON Schema
NameRequiredDescriptionDefault
loginNoAlias for username; provide either.
usernameNoGitHub username (login), e.g. 'octocat'.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds behavioral context: it's slower, heavier, and uses live GitHub data, which is useful for an agent to manage expectations and resource allocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences: first sentence states what it does, second sentence contrasts with sibling and gives use case. No wasted words, information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, description mentions key outputs (proficiency, roles, emails) and notes performance characteristics. It is sufficient for an agent to invoke correctly, though could include a note on authentication requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions for both parameters. Description adds value by clarifying that 'login' and 'username' are aliases: 'provide either', which prevents confusion and duplication.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states the tool performs deep analysis of a GitHub profile, listing specific outputs: proficiency level, best-fit roles, extracted emails. It also differentiates from sibling tool get_developer by noting it's slower and heavier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description clearly tells when to use: 'vet a shortlisted candidate', and contrasts with get_developer: 'Slower and heavier than get_developer', implying alternative for quick lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_developerGet developer profileA
Read-only
Inspect

Get a single GitHub developer's ranked profile by username: overall/profile/tech/activity scores, experience, commit activity, top repos, and contact info. Cache-first and fast; use analyze_profile for deep AI analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
loginNoGitHub username (login), e.g. 'octocat'.
usernameNoAlias for login; provide either.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds value by revealing cache-first behavior (potential staleness) and performance characteristics, which are not present in annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core function, and no redundant information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description adequately lists returned data. For a simple get tool with two parameters, the behavioral and result information is sufficient. Could mention error handling, but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters (login and username) clearly described. The description does not add new semantic meaning beyond what is already in the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves a single developer's ranked profile by username, listing specific data points. It distinguishes itself from sibling tools: cache-first and fast versus analyze_profile for deep analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool ('cache-first and fast') and when not to ('use analyze_profile for deep AI analysis'), providing clear guidance alongside sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_developersSearch developersA
Read-only
Inspect

Search GitHunt's pre-indexed pool of GitHub developers by location, role, and skills. Returns candidates ranked by fit with scores, activity, and contact info. Fast (pool-served, no live crawl); page with offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoRole to rank candidates for. One of: fullstack, frontend, backend, mobile, devops, ai-engineer, ai-orchestrator, ml-engineer, data-scientist, data-engineer, security, cloud, blockchain, embedded, gamedev, ios-developer, android-developer, sre, platform-engineer, qa-engineer, solutions-architect, cto, vp-engineering, head-engineering, engineering-manager, tech-lead, product-manager, director-engineering.
offsetNoTop-ranked candidates to skip, for paging (0-200, default 0). Use with maxResults to fetch the next page. Each search scores at most ~200 candidates, so pages past that are empty.
skillsNoTechnologies or keywords to match, e.g. ['react', 'typescript']. Synonyms are handled (k8s -> kubernetes).
locationYesCity or country to search, freeform, e.g. 'Warsaw', 'San Francisco', 'Poland'. Common abbreviations and native names are normalized (SF, NYC, UK, Warszawa).
languagesNoProgramming languages to prefer, e.g. ['Python', 'Go'].
isHireableNoOnly candidates whose GitHub profile sets the 'hireable' flag.
maxResultsNoCandidates to return per call (1-100, default 25).
strictSkillsNoIf true, exclude candidates that match none of the given skills.
minExperienceYearsNoMinimum years since the GitHub account was created.

Output Schema

ParametersJSON Schema
NameRequiredDescription
offsetNo
resultsYes
totalCountNoTotal candidates matched before paging.
matchedCountYesCandidates returned in this page.
locationSuggestionsNoSimilar supported locations, present when the location matched nothing.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true. Description adds speed (no live crawl), pool-served nature, and paging details, all consistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no fluff. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage, output schema, and paging details, description is complete for understanding tool behavior and expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The tool description provides a high-level summary but does not add new meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches a pre-indexed pool of GitHub developers by location, role, skills. Distinct from siblings get_developer (single profile) and analyze_profile (analysis).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions 'fast (pool-served, no live crawl)' and paging, giving context but not explicitly when not to use or alternatives. Implicitly distinct via tool name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool serves a distinct purpose: searching, retrieving pre-indexed profiles, and deep live analysis. There is no overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (search_developers, get_developer, analyze_profile), making them predictable and easy to understand.

Tool Count5/5

With only 3 tools, the server is highly focused on the core workflow of finding and evaluating developers. The count is appropriate for the domain.

Completeness4/5

The set covers the main tasks: search, basic retrieval, and deep analysis. The only minor gap is a tool for managing shortlists or comparisons, but the workflow is well-supported.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/githunt-agent/githunt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server