nicehire-mcp
v0.2.0
Published
MCP connector for the NiceHire jobs platform. Runs a local stdio MCP server that proxies to the remote NiceHire MCP endpoint, forwarding your NiceHire personal access token.
Maintainers
Readme
nicehire-mcp
MCP connector for the NiceHire jobs platform.
It runs a local Model Context Protocol server over stdio and
proxies all tool traffic to the remote NiceHire MCP endpoint
(https://www.nicehire.ai/mcp, Streamable HTTP). Use it with MCP clients that launch stdio
servers — Claude Code, Claude Desktop, Codex CLI, Cursor, and others. Clients that support
remote Streamable HTTP servers directly can skip this package and connect to the endpoint
itself (see the Claude Code section below).
The connector performs no writes. Which tools your assistant sees is decided by the server from the account your access token belongs to.
Access token (required)
The NiceHire MCP server requires a personal access token on every request. Create one in your NiceHire dashboard: log in at www.nicehire.ai, open your dashboard Settings → MCP access, and create a token. The token is displayed once at creation — copy it then. You can revoke a token from the same page at any time.
Pass the token to this connector with the NICEHIRE_MCP_TOKEN environment variable or the
--token flag (the flag wins). The connector forwards it upstream as an
Authorization: Bearer header and sends it nowhere else. Without a token the proxy prints a
note on stderr about where to get one, and the connection attempt then fails with the
server's authentication error, because the server rejects every unauthenticated request.
Persona packages
Three persona-branded launchers wrap this package: nicehire-mcp-talent,
nicehire-mcp-employer, and nicehire-mcp-mentor. They run this same proxy against the same
endpoint — only the process name differs — and each README lists the tools that persona's
account gets. The tool set always comes from the token's account, not from the package chosen.
Tools
Available to every authenticated account:
| Tool | What it does |
| --- | --- |
| search_jobs | Searches live job listings by keyword, location, company, and source, with pagination. |
| get_job | Returns the public detail of one job listing by its id, with a link to the posting on nicehire.ai. |
| list_companies | Lists hiring companies with a count of their live job listings. |
| get_platform_overview | Returns a factual description of the NiceHire platform, its apps, and the current pricing plan names and prices. |
Accounts with a talent, employer, or mentor role additionally get that role's read-only tools —
see the persona package READMEs (nicehire-mcp-talent, nicehire-mcp-employer,
nicehire-mcp-mentor) for the per-role lists.
Install / configure
Requires Node.js 18 or newer for the npx variants. Replace YOUR_TOKEN with a token from
your dashboard (Settings → MCP access).
Claude Code
claude mcp add nicehire --env NICEHIRE_MCP_TOKEN=YOUR_TOKEN -- npx -y nicehire-mcpOr connect to the remote endpoint directly, without this package:
claude mcp add --transport http nicehire https://www.nicehire.ai/mcp --header "Authorization: Bearer YOUR_TOKEN"Claude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"nicehire": {
"command": "npx",
"args": ["-y", "nicehire-mcp"],
"env": { "NICEHIRE_MCP_TOKEN": "YOUR_TOKEN" }
}
}
}Codex CLI
Add to ~/.codex/config.toml:
[mcp_servers.nicehire]
command = "npx"
args = ["-y", "nicehire-mcp"]
env = { "NICEHIRE_MCP_TOKEN" = "YOUR_TOKEN" }Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"nicehire": {
"command": "npx",
"args": ["-y", "nicehire-mcp"],
"env": { "NICEHIRE_MCP_TOKEN": "YOUR_TOKEN" }
}
}
}Options
| Option | Effect |
| --- | --- |
| --token <access token> | Personal access token forwarded to the server as a Bearer header. |
| NICEHIRE_MCP_TOKEN (env) | Same as --token; the flag takes precedence. |
| --url <endpoint> | Proxy to a different MCP endpoint instead of the default. |
| NICEHIRE_MCP_URL (env) | Same as --url; the flag takes precedence. |
| --version | Print the launching package's name and version and exit (a persona package reports itself). |
| --help | Print usage and exit. |
How it works
On startup the process connects to the remote endpoint over Streamable HTTP and performs the
MCP handshake, attaching your token as an Authorization: Bearer header on every upstream
request. It then serves MCP over stdio, advertising the remote server's name, version, and tool
capability, and forwards tools/list and tools/call requests to the remote. If the server
rejects the handshake as unauthenticated (missing, invalid, or revoked token), the startup
error says authentication failed and where to get a token; if the remote is unreachable, it
reports that instead. Either way it prints an error to stderr and exits with a non-zero code;
errors during a proxied request are returned to the client as JSON-RPC errors.
License
MIT
