Get the FREE Ultimate OpenClaw Setup Guide →

node-candidate

A Model Context Protocol (MCP) server library that gives LLMs access to information about a candidate.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio jhgaylor-node-candidate-mcp-server npm start \
  --env CONTACT_EMAIL="optional-contact-email@example.com" \
  --env MAILGUN_DOMAIN="your-mailgun-domain" \
  --env MAILGUN_API_KEY="your-mailgun-api-key"

How to use

This MCP server package provides a candidate information MCP server library that exposes both resources and tools for accessing a candidate's data. The resources include resume content (text and URL), LinkedIn and GitHub profiles, and personal website information. The tools mirror these resources and allow you to programmatically fetch the same data, as well as send an email to the candidate via the contact_candidate tool (when Mailgun configuration is provided). The library is intended to be integrated into your own application; it is not a standalone service. To use it, import the createServer function from the package and supply your server configuration along with a candidate configuration, then connect using your preferred transport (stdio, express, or stateless HTTP). You can expose the server via stdio for quick testing or bind it to an HTTP server for production-style usage. The library emphasizes stateless request handling for HTTP transports by creating a fresh server/transport per request when using stateless bindings.

How to install

Prerequisites:

  • Node.js (LTS version)
  • npm orpnpm

Installation steps:

  1. Create a project directory and initialize:
mkdir candidate-mcp-app
cd candidate-mcp-app
npm init -y
  1. Install the MCP server library:
npm install @jhgaylor/candidate-mcp-server
  1. Install TypeScript types and any transport bindings you plan to use (example uses stdio or Express bindings as shown in the README):
npm install @modelcontextprotocol/sdk
  1. Add a simple usage script (see example in the README) and run:
npm install
npm run build
npm start

Note: This library is designed to be embedded in your application; the start script in the README demonstrates startup via stdio for testing.

Additional notes

Tips and notes:

  • To enable contact via email, configure Mailgun by setting MAILGUN_API_KEY and MAILGUN_DOMAIN or supply a contactEmail in your candidate configuration as demonstrated in the examples.
  • The server is intended to be used as an integrated library; for production HTTP usage, pair it with a transport binding such as StreamableHTTPServerTransport or express-mcp-handler as shown in the README.
  • If you are testing, you can start the demo via stdio with npm start and interact with the MCP using the provided JSON-RPC messages.
  • Ensure environment variables used by the library are supplied in your deployment environment to avoid runtime errors (e.g., MAILGUN_API_KEY, MAILGUN_DOMAIN).
  • When using the stateless HTTP pattern, be mindful of per-request server/transport instantiation to avoid request ID collisions as described in the README.

Related MCP Servers

Sponsor this space

Reach thousands of developers