DevMatch - AI Recruiting & Mission-Aligned Engineer Discovery
Server Details
AI recruiting for mission-aligned engineers — verified across GitHub, X, YouTube, Medium, and more
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.8/5 across 3 of 3 tools scored.
Each tool has a clearly distinct purpose: find_candidates for engineer searches, find_similar_projects for project discovery, and get_profile for individual profile lookups. The descriptions explicitly state when to use each, preventing confusion.
All tool names follow the verb_noun pattern with snake_case (find_candidates, find_similar_projects, get_profile), ensuring predictability and consistency.
Three tools cover the core functionality of candidate search, project similarity, and individual profile retrieval without being redundant or insufficient. The count is well-scoped for the server's purpose.
The tool surface covers the primary use cases, but lacks advanced features like batch operations or filtering. However, for the stated purpose of discovery and profiling, it is nearly complete.
Available Tools
3 toolsfind_candidatesARead-onlyIdempotentInspect
Search the DevMatch index for engineers matching a role or project.
Input: pass the richest context you have — (1) a full job description (most common), (2) a synthesized brief after reviewing a company's public repo (README + stack + role needs — preferred over a bare URL when you've evaluated the project), (3) a public github.com repo URL (server fetches README/topics; private repos → paste README as text), or (4) an informal role brief. Longer, more specific input ranks better.
Returns up to limit ranked candidates (default 20, max 50) with full inline profiles in structuredContent: login, name, bio, location, followers, html_url, top_repos, top_topics, signals, matched_projects, and contact (recommended_contact, contact.emails[], contact.guessed_emails[], contact.urls{}).
Results never include bots, CI, or service accounts — they are filtered out automatically. Use the optional exclude array (GitHub logins or org names) to drop additional accounts: pass a company's GitHub org to keep that company's own engineers out of a shortlist you're building FOR them, or pass handles you've already contacted.
MANDATORY: After calling this tool, format your user-facing reply using the REQUIRED OUTPUT FORMAT in server instructions — one block per candidate, every email and every url listed verbatim. Forbidden: collapsing contact to shorthand like "GitHub, LinkedIn, X" or "no email".
Do not call get_profile for handles already in these results unless the user asks for deeper detail.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Search brief: full JD, repo-derived summary (preferred when you've reviewed the project), README excerpt, informal role brief, or a PUBLIC github.com repo URL. Private repos: paste README content as text. | |
| limit | No | Max candidates to return. Default 20, max 50. | |
| exclude | No | Optional. GitHub logins or org names to exclude from results (case-insensitive). Matches a candidate's login AND the owner/org of every repo they matched on — so passing a company's GitHub org (e.g. "livekit", which also covers "livekit-cloud") keeps that company's own engineers out of a shortlist you're building FOR them. Also use it to suppress specific handles you've already contacted. Bots and CI/service accounts are excluded automatically and need not be listed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query_ms | No | End-to-end query time in milliseconds |
| candidates | Yes | Ranked engineer candidates, strongest fit first. When presenting to the user, format each item using FindCandidatesPresentationTemplate from server instructions — list every contact.urls entry and every email verbatim. |
| total_count | Yes | Count of candidates returned (≤ requested limit) |
| cache_source | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds behavioral context: automatic filtering of bots/CI, return rank order, and output structure, but does not disclose any side effects beyond 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 long but well-structured with numbered and bulleted lists. Each section adds necessary information, though some redundancy exists (e.g., private repo note repeated).
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 complexity (3 params, output schema present, annotations rich), the description covers input options, output fields, exclusions, integration with other tools, and mandatory formatting. No notable gaps.
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 good descriptions. Description adds significant value: input types ranking guidance, default limit value (20), and detailed exclude matching logic with use cases.
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 states 'Search the DevMatch index for engineers matching a role or project,' with specific verb and resource, and distinguishes from siblings by clarifying this tool is for candidate search (not projects or profiles).
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 guidance: detailed instructions on input types, recommends preferred input, notes not to call get_profile for results unless needed, and specifies mandatory output format.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similar_projectsARead-onlyIdempotentInspect
Find open-source projects similar to a seed GitHub repo, ranked by semantic similarity to its description/topics/README. Each result includes top contributors as leads — not JD-ranked candidates. Use for landscape mapping or to discover anchor repos; follow with find_candidates for hiring matches.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Seed repo in `owner/name` form (e.g. 'karpathy/llm.c'). A full github.com URL is also accepted; the server strips the prefix. | |
| limit | No | Number of similar projects to return. Defaults to 10, max 25. |
Output Schema
| Name | Required | Description |
|---|---|---|
| seed | No | The owner/name searched against |
| projects | Yes | Similar projects, ranked by vector similarity to the seed repo. |
| query_ms | No | |
| total_count | No | |
| cache_source | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds context about results including top contributors and not being JD-ranked, which is helpful. No behavioral contradictions.
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?
Three sentences: purpose, result clarification, usage guidance. No wasted words, front-loaded with key action, highly 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?
Given the presence of an output schema, the description covers purpose, usage, parameter details, and outcome (top contributors). It provides complete context for a low-complexity tool with good annotations.
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%, but description adds value by noting that repo accepts full GitHub URLs and servers strip the prefix, and specifies limit's default and max. This enriches parameter understanding beyond the 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?
The description clearly states the tool finds open-source projects similar to a seed repo, ranked by semantic similarity. It distinguishes from sibling tools by mentioning 'not JD-ranked candidates' and explicitly names find_candidates for hiring matches.
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?
Directly advises when to use: 'Use for landscape mapping or to discover anchor repos' and explicitly guides to 'follow with find_candidates for hiring matches', providing clear context versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileARead-onlyIdempotentInspect
Fetch one contributor's profile card for a GitHub handle not already returned by find_candidates — e.g. the user names a specific person, references an external handle, or wants verification before outreach. find_candidates already returns full inline profiles; use get_profile only for handles outside those results or when the user asks for deeper detail.
IMPORTANT — interpreting recent_activities: indexed GitHub activity in the current ingestion window (2025–2026), up to ~20 events per recent project. NOT a complete career history. Empty or older activity does not mean inactive.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | The GitHub handle to look up. Plain login name, no '@' prefix (e.g. 'karpathy', not '@karpathy'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| bio | No | |
| name | No | |
| No | ||
| company | No | |
| html_url | No | Profile URL on GitHub |
| location | No | |
| followers | No | |
| avatar_url | No | |
| login_name | Yes | GitHub handle |
| display_name | No | |
| public_repos | No | |
| top_projects | No | Highest-contribution projects this user worked on |
| profile_readme | No | User's profile README content if present |
| social_accounts | No | Social URLs (twitter, linkedin, etc.) |
| recent_activities | No | Indexed GitHub events from current ingestion window (2025–2026). NOT a full career timeline. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, etc.), description clarifies that recent_activities are limited to current ingestion window (2025-2026) and not complete history, addressing potential misinterpretation.
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?
Concise yet informative; no wasted words. Well-structured with purpose, guidelines, and an important behavioral note. Front-loaded with key context.
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 simple tool with one param, output schema exists, and annotations cover safety, description fully covers usage context, parameter formatting, and behavioral nuances.
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 already covers handle parameter (100% coverage), but description adds formatting guidance: 'Plain login name, no '@' prefix', providing extra value.
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 clearly states 'Fetch one contributor's profile card' with specific verb and resource. It distinguishes from sibling find_candidates by specifying it's for handles not already returned.
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?
Explicitly states when to use (handles outside find_candidates results, for deeper detail or verification) and when not to use (find_candidates already returns inline profiles). Provides concrete examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!