Candidate MCP Server Library
@jhgaylor
A Model Context Protocol (MCP) server library that gives LLMs access to information about a candidate.
Overview
What is Candidate MCP Server Library?
A Model Context Protocol (MCP) server library that gives LLMs access to information about a candidate. It is designed to be integrated into other applications, not run as a standalone service, and provides resources and tools for retrieving candidate resume content, URLs, and contact details.
How to use Candidate MCP Server Library?
Install via npm install @jhgaylor/candidate-mcp-server. Import createServer, configure with serverConfig and candidateConfig, then connect to an MCP transport (Stdio, Streamable HTTP, or Express). The library provides resource URIs like candidate-info://resume-text and tools like get_resume_text and contact_candidate.
Key features of Candidate MCP Server Library
- Library-first design for easy application integration
- Modular resource system extensible with custom data
- Full Model Context Protocol specification implementation
- Supports STDIO, Streamable HTTP, and Express transports
- TypeScript for type safety and developer experience
- Minimal dependencies
Use cases of Candidate MCP Server Library
- Allowing LLMs to retrieve a candidate's resume text during an interview workflow
- Providing LLMs with links to a candidate's LinkedIn, GitHub, or personal website
- Enabling LLMs to contact a candidate via email when configured with Mailgun
FAQ from Candidate MCP Server Library
What is the purpose of this server?
It gives LLMs access to candidate information (resume, profile URLs, website content) through the Model Context Protocol, intended as a library to embed in other applications.
How do I configure candidate information?
Pass a candidateConfig object to createServer containing fields like name, email, resumeUrl, and other candidate properties. The email is required for the contact_candidate tool.
What dependencies and runtime are required?
Node.js 20+ and npm or yarn. No other required runtime dependencies are mentioned beyond the MCP SDK and Mailgun (optional).
Does this server support multiple transports?
Yes. The README demonstrates Stdio, Streamable HTTP, and Express transports. Transport choice depends on your integration environment.
Can I extend the server with custom resources or tools?
Yes. The library is designed to be extended. Examples show adding custom resource classes and registering custom tools with Zod schema validation.