Employed connector for Claude, ChatGPT and other AI assistants
Employed by Guaq AI is a job search for people who can actually apply. The connector lets an AI assistant search the same live index: open roles read straight from about 5,000 employers' own applicant-tracking systems, filtered by role, seniority, location, work mode, skills and visa signals, each with a link to the employer's own application page. It is read-only: it never applies for you and never changes your account.
Connect
Server URL: https://jobs.guaqai.me/mcp (Streamable HTTP, JSON-RPC 2.0). Sign in with your
Employed account when the assistant asks; no API key is needed. OAuth 2.1 with PKCE and dynamic client
registration is supported, with discovery at
/.well-known/oauth-protected-resource and
/.well-known/oauth-authorization-server.
- Claude (claude.ai, Desktop, mobile): Settings, Connectors, Add custom connector, paste the server URL, then Connect.
- ChatGPT: Settings, Apps and Connectors, add the Employed app or a custom connector with the server URL, then sign in.
- Claude Code:
claude mcp add --transport http employed https://jobs.guaqai.me/mcp - Cursor, VS Code and other MCP clients: add this to the MCP configuration, or use the stdio package
npx -y employed-mcp:
{
"mcpServers": {
"employed": {
"url": "https://jobs.guaqai.me/mcp"
}
}
}
Programmatic access without a browser: send an API key from your profile page as
Authorization: Bearer guaq_sk_....
What you can ask
- Find entry-level software engineering jobs in Bengaluru that were posted this week.
- Which employers are hiring remote data engineers right now, and how many roles does each have?
- Show me roles that state visa sponsorship for new graduates in the UK.
- Give me the hiring profile of Stripe: which seniority levels and technologies are they hiring for?
- How many open kubernetes roles are there in India compared with the US?
Tools
Every tool is read-only and returns both readable text and structured data. Search results render as job cards with an Apply button in assistants that support interactive apps; other assistants show the same information as text.
search_jobs (Search live jobs)
Use this to find specific open roles. Searches live job postings read from ~5,000 employers' own application systems and returns at most 50 rows (title, employer, location, seniority, posted date, visa signal, apply url) plus has_more/next_cursor. Narrow with filters rather than paging far, and call count_jobs if you need the size of the match. Annotations: read-only, not destructive, idempotent, does not reach the open internet.
| Parameter | Type | Description |
|---|---|---|
q | string | Text to match in the job title or company name. |
company | string | Employer name, case-insensitive. Comma-separated for several. |
domain | string: ai_ml, business, consulting, data, design_media, devops_cloud, embedded, finance, hardware_engineering, hr_people, law_policy, life_sciences, marketing, operations, product, research, security, tech, unspecified | Industry domain (exact id). |
category | string | Taxonomy path prefix, e.g. 'engineering/software' - matches that node and everything under it. |
role_type | string: internship, new_grad, junior, mid, senior, lead_exec, founding_engineer | Seniority tier. |
employment_type | string: internship, apprenticeship, trainee, new_grad_program, campus_hire, full_time, part_time, contract, permanent, fellowship, postdoc, freelance, volunteer | Employment type - the exact id, with underscores (full_time, part_time). |
location_scope | string | Country bucket, lowercase: india, us, uk, sg, or a lowercase ISO country code for anywhere else (de, ca, jp, ...); also remote, multiple, unspecified. India is 'india' (not 'in') and the UK is 'uk' (not 'gb'). There is no 'eu' bucket. |
city | string | City name. Matched as a substring with synonyms, so 'bangalore' also finds 'Bengaluru'. |
work_mode | string: remote, hybrid, on_site, unspecified | Work arrangement. |
tech | string | A technology named in the stack, e.g. kubernetes. Comma-separated for several. |
visa | string: stated, likely, refused | stated (the posting says it sponsors), likely (stated or inferred), or refused. |
yoe_min | string | Minimum years of experience. |
yoe_max | string | Maximum years of experience. |
grad_year | string | Graduating cohort the role targets. |
seen_after | string | ISO date. Only roles confirmed live on or after this date. |
limit | integer | Rows to return, 1-50. Default 25. |
cursor | integer | next_cursor from a previous search_jobs call, for the next page. |
count_jobs (Count matching jobs)
Use this when the question is 'how many' or 'what share' rather than about specific roles. Returns the number of live postings matching a set of filters. Cheap, and the right first call before searching a broad filter. Annotations: read-only, not destructive, idempotent, does not reach the open internet.
| Parameter | Type | Description |
|---|---|---|
q | string | Text to match in the job title or company name. |
company | string | Employer name, case-insensitive. Comma-separated for several. |
domain | string: ai_ml, business, consulting, data, design_media, devops_cloud, embedded, finance, hardware_engineering, hr_people, law_policy, life_sciences, marketing, operations, product, research, security, tech, unspecified | Industry domain (exact id). |
category | string | Taxonomy path prefix, e.g. 'engineering/software' - matches that node and everything under it. |
role_type | string: internship, new_grad, junior, mid, senior, lead_exec, founding_engineer | Seniority tier. |
employment_type | string: internship, apprenticeship, trainee, new_grad_program, campus_hire, full_time, part_time, contract, permanent, fellowship, postdoc, freelance, volunteer | Employment type - the exact id, with underscores (full_time, part_time). |
location_scope | string | Country bucket, lowercase: india, us, uk, sg, or a lowercase ISO country code for anywhere else (de, ca, jp, ...); also remote, multiple, unspecified. India is 'india' (not 'in') and the UK is 'uk' (not 'gb'). There is no 'eu' bucket. |
city | string | City name. Matched as a substring with synonyms, so 'bangalore' also finds 'Bengaluru'. |
work_mode | string: remote, hybrid, on_site, unspecified | Work arrangement. |
tech | string | A technology named in the stack, e.g. kubernetes. Comma-separated for several. |
visa | string: stated, likely, refused | stated (the posting says it sponsors), likely (stated or inferred), or refused. |
yoe_min | string | Minimum years of experience. |
yoe_max | string | Maximum years of experience. |
grad_year | string | Graduating cohort the role targets. |
seen_after | string | ISO date. Only roles confirmed live on or after this date. |
get_job (Get one job posting)
Use this to read one posting in full by its numeric id (the id field of a search_jobs row). Annotations: read-only, not destructive, idempotent, does not reach the open internet.
| Parameter | Type | Description |
|---|---|---|
id (required) | integer |
list_companies (List hiring employers)
Use this to see which employers are hiring. Returns employers with their live role counts, most roles first. Accepts the same filters as search_jobs, so it answers 'who is hiring quant developers in Bengaluru' directly. Annotations: read-only, not destructive, idempotent, does not reach the open internet.
| Parameter | Type | Description |
|---|---|---|
q | string | Text to match in the job title or company name. |
company | string | Employer name, case-insensitive. Comma-separated for several. |
domain | string: ai_ml, business, consulting, data, design_media, devops_cloud, embedded, finance, hardware_engineering, hr_people, law_policy, life_sciences, marketing, operations, product, research, security, tech, unspecified | Industry domain (exact id). |
category | string | Taxonomy path prefix, e.g. 'engineering/software' - matches that node and everything under it. |
role_type | string: internship, new_grad, junior, mid, senior, lead_exec, founding_engineer | Seniority tier. |
employment_type | string: internship, apprenticeship, trainee, new_grad_program, campus_hire, full_time, part_time, contract, permanent, fellowship, postdoc, freelance, volunteer | Employment type - the exact id, with underscores (full_time, part_time). |
location_scope | string | Country bucket, lowercase: india, us, uk, sg, or a lowercase ISO country code for anywhere else (de, ca, jp, ...); also remote, multiple, unspecified. India is 'india' (not 'in') and the UK is 'uk' (not 'gb'). There is no 'eu' bucket. |
city | string | City name. Matched as a substring with synonyms, so 'bangalore' also finds 'Bengaluru'. |
work_mode | string: remote, hybrid, on_site, unspecified | Work arrangement. |
tech | string | A technology named in the stack, e.g. kubernetes. Comma-separated for several. |
visa | string: stated, likely, refused | stated (the posting says it sponsors), likely (stated or inferred), or refused. |
yoe_min | string | Minimum years of experience. |
yoe_max | string | Maximum years of experience. |
grad_year | string | Graduating cohort the role targets. |
seen_after | string | ISO date. Only roles confirmed live on or after this date. |
limit | integer | Default 50. |
company_profile (Employer hiring profile)
Use this to research one employer. Returns its hiring profile: open roles, seniority mix, function mix, top cities, technologies, longest-open roles, and the flow of postings over recent weeks. Annotations: read-only, not destructive, idempotent, does not reach the open internet.
| Parameter | Type | Description |
|---|---|---|
name (required) | string |
market_signal (Hiring market signals)
Aggregate hiring-market intelligence derived from the whole index, for analysts. Only available to organisation accounts; other accounts get an explanatory message. Signals: overview, technologies, vendors, flow, india, gcc, quant, it_services, semis, baskets, sector, function_mix. Annotations: read-only, not destructive, idempotent, does not reach the open internet.
| Parameter | Type | Description |
|---|---|---|
signal (required) | string | Which signal to fetch. |
company | string | |
city | string | |
category | string | |
ticker | string | |
tickers | string | Comma-separated. |
weeks | integer |
api_meta (Account, quota and filter values)
Returns the caller's plan, remaining daily quota, and the exact vocabularies the filters accept (domains, role types, cities). Worth calling once before guessing a filter value. Annotations: read-only, not destructive, idempotent, does not reach the open internet.
No parameters.
Plans, quota and rate limits
The connector uses your Employed account's API allowance: it needs a plan that includes
API access (Pro, Ultimate, or an organisation seat). Daily call quotas depend on the plan and
reset at 00:00 UTC. Until 11 November 2026, free accounts can try it too: 50 calls in total, no card needed. Each tool call counts as one call; a search returns at most 50 postings. The
api_meta tool reports your plan and remaining quota. Plans and prices are on the
home page. Market signals are available to organisation accounts only.
Data handling
- The connector reads job postings that employers have published on their own career pages.
- Search filters you ask for are sent to our server to run the search. We keep the usual request logs and per-day call counts for quota and abuse control. We do not store the text of your conversation with the assistant and we never receive it.
- The access token lets the assistant call the tools above and nothing else. Disconnect the connector in the assistant's settings to stop access; tokens expire on their own after 30 days, and support@guaqai.me can revoke them on request.
- Visa sponsorship marked "likely" is an inference from the employer's history, not a promise. Always confirm on the employer's page.
- See the Privacy Policy and Terms of Service.
Support
Email support@guaqai.me or see the support page. Plugin packages and source: https://github.com/Guaq-AI/employed-plugins.