Skip to main content
Glama

candidate_search

Find candidates in Ashby ATS using email or name search to locate specific applicant profiles for hiring pipeline management.

Instructions

Search candidates by email and/or name. Not paginated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoEmail to search for
nameNoName to search for

Implementation Reference

  • Tool definition for candidate_search.
    types.Tool(
        name="candidate_search",
        description="Search candidates by email and/or name. Not paginated.",
        inputSchema={
            "type": "object",
            "properties": {
                "email": {"type": "string", "description": "Email to search for"},
                "name": {"type": "string", "description": "Name to search for"},
            },
        },
    ),
  • The general tool handler that routes 'candidate_search' to the /candidate.search endpoint.
    @server.call_tool()
    async def handle_call_tool(name: str, arguments: dict[str, Any]) -> list[types.TextContent]:
        """Route tool calls to the correct Ashby endpoint, passing arguments directly."""
        endpoint = TOOL_ENDPOINT_MAP.get(name)
        if not endpoint:
            return [types.TextContent(type="text", text=f"Unknown tool: {name}")]
    
        try:
            # Pass arguments straight through -- tool schemas already use Ashby's
            # camelCase param names so no translation is needed.
            response = ashby.post(endpoint, data=arguments if arguments else None)
            return [types.TextContent(type="text", text=json.dumps(response, indent=2))]

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/PlenishAI/mcp-ashby'

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