Skip to main content
Glama
strelov1

freehire

by strelov1

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FREEHIRE_TOKENNoYour freehire API token (fhk_...). Can also be stored in ~/.freehire/creds.json.
FREEHIRE_API_URLNoBase URL of the freehire API (default: https://freehire.dev).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
whoamiA

Return the authenticated freehire user (verifies the API key). Call this to confirm auth before other tools.

facetsA

List the market's filter vocabulary: every facet's live values with a vacancy count each, plus the skills list and numeric ranges. Call this FIRST to discover real values for search and market_fit — do not invent facet values.

searchA

Search open jobs by keyword with optional facet filters. Returns matching jobs (title, company, location, public_slug) and the total match count. Use the returned slug with job, apply, save, etc.

market_fitA

Score a skill list against the live open-vacancy market for a filtered role: headline coverage (% of vacancies listing ≥1 skill), must-have skills held, and the missing skills that unlock the most vacancies. Here skills is the MEASURED set, not a filter — use facet params to define the role. One skill probes that skill's demand.

jobA

Fetch a single job's full content by slug (title, company, location, posting URL, description).

companyA

Fetch a company and its open jobs by company slug.

applyB

Mark a job as applied for the authenticated user. Idempotent.

saveA

Bookmark a job for later. Idempotent.

unsaveA

Remove a job's bookmark. A no-op if it was not saved.

stageA

Set a job's application stage. The server validates the value; valid stages are applied/screening/responded/interview/offer/accepted/rejected/withdrawn.

noteA

Attach a free-text note to a tracked job (overwrites the existing note).

myA

List the caller's tracked jobs (viewed/saved/applied) with their stage and note. Filter narrows the set.

submitB

Submit a vacancy for moderation. The server stores it as pending and returns it. URL (the dedup key), title, and company are required.

my_submissionsA

List the caller's own vacancy submissions with their moderation status.

jobs_addA

Moderator: create a hand-curated job. URL is the dedup key — re-adding the same URL updates the posting. description is stored and rendered as HTML. Requires the moderator role (403 otherwise).

jobs_editA

Moderator: partially update a manual job by slug. Only the provided fields change; the URL identity is not editable. Requires the moderator role (403 otherwise).

submissions_pendingA

Moderator: list the pending submission review queue. Requires the moderator role (403 otherwise).

submission_approveA

Moderator: approve a pending submission, minting a live job. Requires the moderator role (403 otherwise).

submission_rejectA

Moderator: reject a pending submission with an optional reason. Requires the moderator role (403 otherwise).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 19 tools

Disambiguation5/5

Each tool targets a distinct action or resource. User interactions (apply, save, unsave, note, stage, my), moderator actions (jobs_add, jobs_edit, submission_*), data retrieval (job, company, search, facets, market_fit), and auth (whoami) are clearly separated with no significant overlap.

Naming Consistency3/5

Naming is inconsistent: single-word verbs (apply, save, note) mix with compound underscore names (jobs_add, market_fit, submission_approve) and a noun-only style (company, facets, job, my). While readable, there is no single predictable pattern.

Tool Count4/5

With 19 tools, the server covers user, moderator, and search functionality thoroughly. This is slightly above the ideal 3-15 range but still well-scoped and each tool earns its place.

Completeness4/5

The tool surface covers core workflows: job browsing, searching, applying, tracking, and moderation. Minor gaps exist, such as no explicit job deletion or submission withdrawal, but these are not critical for typical usage.

Maintenance

ActivityMaintained
ResponsivenessNo issues