In-depth architectural comparison of the Hirejack MCP and Google Workspace MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Hirejack MCP
Workplace & Productivity · Local stdio
Quality: 60/100 (Good) | Auth: OAuth 2.0
Google Workspace MCP
Workplace & Productivity · Local stdio
Quality: 67/100 (Great) | Auth: OAuth 2.0
Verdict Summary: Choose Hirejack MCP if you need specialized Workplace & Productivity tools running via a local process. Choose Google Workspace MCP if your workspace requires Workplace & Productivity integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Hirejack MCP when:
You need dedicated capabilities in the Workplace & Productivity domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: OAuth 2.0 (Freemium).
You need dedicated capabilities in the Workplace & Productivity domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: OAuth 2.0 (Free / Open Source).
You have access to required keys: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_OAUTH_REDIRECT_URI, WORKSPACE_MCP_LOG_LEVEL, WORKSPACE_MCP_PORT, WORKSPACE_MCP_HOST.
Live tech-hiring intelligence from HireJack: search 130K+ live job postings collected daily from 500 tech companies' own career sites, plus company hiring profiles and tech stacks, salary benchmarks, market pulse, and skill trends. Five tools need no account (npx -y @hirejack/mcp); the hosted OAuth endpoint unlocks the full 22-tool career-intelligence surface.
Comprehensive Google Workspace MCP server with full support for Google Calendar, Drive, Gmail, and Docs, Forms, Chats, Slides and Sheets over stdio, Streamable HTTP and SSE transports.
Category & Scope
Tools & Capabilities Breakdown
Hirejack MCP Tools (31)
search_jobs
Search HireJack's database of live tech job postings. Filter by keyword, role family, seniority, skill, location, salary, remote policy, or visa sponsorship, and sort by newest or highest pay. Returns a slim list of jobs with title, company, location, salary range, posted date, and key skills. Use this for queries like 'remote senior backend roles paying $200K+', 'highest paying Rust jobs' (sort='salary'), 'data engineer jobs at fintech companies', 'who is hiring Rust developers in NYC'. Not for a single known posting (`get_job`), company-level questions (`get_company_profile`), personalized ranking (`recommendations`), or aggregate market stats (`get_market_pulse`).
get_job
Fetch one job posting by domain + jobId, or by HireJack detail URL. Returns title, company, location, salary, skills, seniority, posted date, visa/remote/education metadata, and (when available) the AI summary. Use after `search_jobs` when the user picks a specific role to discuss, or when the user pastes a HireJack job URL. Not for browsing or filtering postings (`search_jobs`) or personal fit scoring (`match_job`).
get_company_profile
Fetch HireJack's full hiring profile for a single company by domain. Returns: tech stack (top skills with counts), role distribution, seniority breakdown, location breakdown, hiring trend (% MoM), salary medians where disclosed, and an AI-generated hiring brief. Use this for queries like 'what is Stripe hiring?', 'what tech does Anthropic use?', or before comparing companies. Not for historical trends (`get_company_history`, Analyst) or the user's personal fit (`company_fit`).
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Hirejack MCP is categorized under Workplace & Productivity and uses a local stdio subprocess. In contrast, Google Workspace MCP belongs to Workplace & Productivity using local stdio subprocess. Select Hirejack MCP when you need capabilities focused on workplace & productivity and Google Workspace MCP when you require tools for workplace & productivity.
List HireJack's tracked companies with hiring volume. Filter by name/domain (`q`) or industry. Returns slim records with domain, name, industry, total open jobs, and engineering job count. Use this to find companies in a sector ('which fintech companies are hiring?') or to resolve a company name to its domain before calling get_company_profile. Not for deep per-company data (`get_company_profile`) or multi-axis segmentation by trend/skill/job-count (`find_companies`, Analyst).
get_market_pulse
Get HireJack's market-wide snapshot: total open tech jobs, tracked companies, remote share, top skills by demand, top companies by hiring volume, and trending skills (week-over-week movers). Use for high-level market questions like 'how is the tech job market right now?' or 'what skills are trending?'. Not for history or time-series (`get_market_history`, Analyst) or job-level search (`search_jobs`).
match_job
Score how well the authenticated user matches a specific job. Pro tier. Returns matchPct (0-100, the same score the website shows for this job), requirementsPct (how much of this posting's own requirement list the user meets), a dimension breakdown (skills, role, seniority, location, remote — plus experience when both the user's resume-derived years and the job's required years are known, and semantic when both the user's profile and the job carry embeddings), matched/missing/bonus skill lists, an experienceFit comparison, ATS-specific resume tips for the company's ATS, and a priorityScore that factors hiring velocity. Use for queries like 'how well do I match this job?' or 'should I apply?'. Not for company-level fit (`company_fit`) or discovering new jobs (`recommendations`).
company_fit
Score how well the authenticated user fits a company. Pro tier. Returns fitScore (0-100), 5-dimension breakdown (tech stack 40%, roles 25%, seniority 15%, location 10%, hiring trend 10%), matching skills, skill gaps, role alignment, and a hiring-momentum signal. Use for 'is Anthropic a good fit for me?' or 'compare these companies for me'. Not for scoring a specific job posting — use `match_job` for that.
recommendations
Get top job recommendations for the authenticated user, scored against their profile (skills, desired roles, seniority, location, remote preference) and hard-filtered by their remote/US-only/minimum-salary preferences. Pro tier. Returns jobs ranked by composite match score with per-job match details (default 10, `limit` up to 50). Use for 'show me jobs that match me' or 'what should I apply to this week?'. Not for unpersonalized filter searches (`search_jobs`) or scoring one known job (`match_job`).
salary_benchmark
Compare a salary against the live HireJack market for a role family + seniority slice. Pro tier. Returns precomputed P10/P25/P50/P75/P90 percentiles, the user's percentile ranking (when `salary` is supplied), and a career-ladder progression of medians by seniority. Use for 'am I paid well as a senior backend engineer?' or 'what should I ask for?'. Not for a specific job's posted range (`get_job`) or market-wide comp stats (`get_market_pulse`).
skill_gap
Analyze the gap between the authenticated user's current skills and what their desired roles require in the live market. Pro tier. Returns matchPct (0-100), the list of skills the user already has that map to their target roles, and the list of missing skills ranked by impact (how often the skill appears in target-role postings). Use for 'what should I learn next?' or 'how close am I to senior PM roles?'. Not for simulating the payoff of skills the user might LEARN — use `skill_impact` for that.
market_position
Compute the authenticated user's market position score (0-100). Pro tier. Weighted: 50% skill demand against current market, 20% seniority fit, 15% remote availability for the user's preference, 15% skill breadth. Returns score, matchingJobs count, salaryMedian for matching roles, per-skill demand breakdown, and the top companies whose tech stacks align best with the user's skills. Use for queries like 'how do I stack up against the market?' or 'what's my market position right now?'. Not for job-specific (`match_job`) or company-specific (`company_fit`) scores.
skill_impact
For each skill the authenticated user does NOT have, simulate adding it and compute the market impact. Pro tier. Returns a ranked list of skills with: newJobsUnlocked (jobs that previously didn't match but would after learning the skill), boostedJobs (existing matches that would score higher), companiesNeedingIt, relevantRoles, and a composite impactScore. Also returns profileCompleteness so the caller can suggest filling missing profile fields. Use for queries like 'what should I learn next?' or 'which skill would unlock the most jobs for me?'. Not for auditing the user's CURRENT skills against their target roles — use `skill_gap` for that.
+19 more tools listed on main page
Google Workspace MCP Tools (123)
start_google_auth
Manually initiate Google OAuth authentication flow.
NOTE: This is a legacy OAuth 2.0 tool and is disabled when OAuth 2.1 is enabled.
The authentication system automatically handles credential checks and prompts for
authentication when needed. Only use this tool if:
1. You need to re-authenticate with different credentials
2. You want to proactively authenticate before using other tools
3. The automatic authentication flow failed and you need to retry
In most cases, simply try calling the Google Workspace tool you need - it will
automatically handle authentication if required.
search_gmail_messages
Searches messages in a user's Gmail account based on a query.
Returns both Message IDs and Thread IDs for each found message, along with Gmail web interface links for manual verification.
Supports pagination via page_token parameter.
get_gmail_message_content
Retrieves the full content (subject, sender, recipients, body) of a specific Gmail message.
Bodies are returned inline and truncated at 20,000 characters. Set full=True to
get the complete, untruncated message instead: it is exported to disk and the
response carries a short-lived download URL (HTTP transport) or file path (stdio
transport) rather than the body, so large messages never stream through the model
context. Stateless deployments have no file storage, so there full=True returns the
untruncated body inline.
get_gmail_messages_content_batch
Retrieves the content of multiple Gmail messages in a single batch request.
Supports up to 25 messages per batch to prevent SSL connection exhaustion.
get_gmail_attachment_content
Downloads an email attachment and saves it to local disk.
In stdio mode, returns the local file path for direct access.
In HTTP mode, returns a temporary download URL (valid for 1 hour).
May re-fetch message metadata to resolve filename and MIME type.
send_gmail_message
Sends an email using the user's Gmail account. Supports new emails, replies, and
forwards, with optional attachments. Supports Gmail's "Send As" feature to send
from configured alias addresses.
To forward an existing message, pass forward_message_id. The original subject,
body (quoted with a "Forwarded message" header), and attachments are carried over.
In forward mode, body (if any) is prepended as a note and subject is optional.
Threading, reply, and signature options do not apply when forwarding.
THIS TOOL SENDS IMMEDIATELY AND CANNOT SCHEDULE. Gmail's REST API exposes no
send-time parameter; Schedule send is a web-UI feature with no API equivalent,
so no argument to this tool can defer delivery. Never tell a user a message
was scheduled. For "prepare now, deliver later", create a draft with
draft_gmail_message. An external scheduler must retain the message data to
create and send a new message via send_gmail_message at the chosen time, or
call users.drafts.send with the draft ID returned by draft_gmail_message.
Alternatively, let the user schedule that draft in the Gmail UI.
draft_gmail_message
Creates a draft email in the user's Gmail account. Supports both new drafts and reply drafts with optional attachments.
Supports Gmail's "Send As" feature to draft from configured alias addresses.
SCHEDULED SEND IS NOT AVAILABLE. Gmail's REST API exposes no send-time
parameter; the Schedule send feature is web-UI only, and a message cannot be
placed in the Scheduled folder through the API. Do not claim a message was
scheduled. To deliver at a chosen time, create a draft with
draft_gmail_message. An external scheduler must retain the message data to
create and send a new message via send_gmail_message then, or call
users.drafts.send with the draft ID returned by draft_gmail_message.
Alternatively, let the user schedule the draft in the Gmail UI.
get_gmail_thread_content
Retrieves the complete content of a Gmail conversation thread, including all messages.
Optionally also returns structured ownership analysis so a caller can
determine who sent the last message and who owes whom a response without
re-parsing the formatted string or making a second tool call.
get_gmail_threads_content_batch
Retrieves the content of multiple Gmail threads in a single batch request.
Supports up to 25 threads per batch to prevent SSL connection exhaustion.
list_gmail_labels
Lists labels in the user's Gmail account.
manage_gmail_label
Manages Gmail labels: create, update, or delete labels.
list_gmail_filters
Lists all Gmail filters configured in the user's mailbox.