Skilark MCP Server adds real-time job market intelligence to your AI assistant. It gives Claude, ChatGPT, and Gemini awareness of skill demand, hiring trends, job opportunities, and mock interview prep — context they don't have on their own.
Go to Settings → Connectors → Add custom connector.
Set the name to Skilark and paste the URL below. Leave OAuth fields blank.
https://mcp.skilark.com/mcp
On first connect, you'll be prompted to sign in with GitHub, Google, or email magic link.
Go to Settings → Apps → Advanced settings → Create app.
Set the name to Skilark and paste the MCP Server URL below. You'll be prompted to sign in with GitHub, Google, or email magic link.
https://mcp.skilark.com/mcp
This creates a dev mode app. To use it in a chat, type /skilark to invoke the tools.
Add to ~/.gemini/settings.json (global) or .gemini/settings.json in your project root (project-level overrides global):
{
"mcpServers": {
"skilark": {
"type": "http",
"url": "https://mcp.skilark.com/mcp"
}
}
}
Then authenticate by running /mcp auth skilark in the CLI. Follow the browser link to sign in with GitHub, Google, or email magic link. Tokens are stored in ~/.gemini/mcp-oauth-tokens.json.
Note: gemini mcp add defaults to stdio transport — use the manual config above instead.
get_skill_trendsGet the most in-demand tech skills ranked by job listing count.
| Parameter | Type | Description |
|---|---|---|
days |
int, optional | Only count listings posted within this many days. |
limit |
int, default 20, max 50 | Maximum number of skills to return. |
get_company_trendsGet hiring activity across major tech companies, ranked by total open listings.
| Parameter | Type | Description |
|---|---|---|
days |
int, optional | Only count listings posted within this many days. |
browse_jobsSearch job listings with structured filters. Returns matching listings plus aggregated stats — top skills, seniority breakdown, and salary range. No raw descriptions: titles, companies, links, and analysis only.
| Parameter | Type | Description |
|---|---|---|
skills |
list, optional | Filter by required skills. Must match canonical names: Python, Rust, Go, Java, TypeScript, JavaScript, C++, Scala, SQL, PyTorch, TensorFlow, JAX, Transformers, LLMs, NLP, Computer Vision, MLOps, RAG, Kubernetes, Docker, Terraform, AWS, GCP, Azure, PostgreSQL, Redis, Kafka, Spark, Airflow, Snowflake, Databricks, dbt, Flink, React, GraphQL, Spring Boot, Linux, Distributed Systems, System Design, CI/CD, Git, REST APIs, Microservices, gRPC, Elasticsearch, MongoDB, DynamoDB, Cassandra, BigQuery, Tableau, Looker. |
seniority |
string, optional | Filter by level: intern, junior, mid, senior, staff, principal, director, vp, c_level. |
role_category |
string, optional | Filter by role type: swe, ai_ml, data_eng, platform, devops, security, product, design, research, other. |
company |
string, optional | Filter by company slug, e.g. stripe, openai. |
location |
string, optional | Filter by location. Supports US states (california), cities (san francisco), and remote. |
days |
int, optional | Only include listings posted within this many days. |
limit |
int, default 20, max 50 | Maximum number of listings to return. |
get_signalsMarket intelligence signals — hiring surges, salary insights, layoffs, funding, acquisitions, leadership changes, and more (12 signal types).
| Parameter | Type | Description |
|---|---|---|
limit |
int, default 5 | Number of signals to return. Pass 0 for all (max 100). |
get_nuggetGet a bite-sized learning nugget from the tech refresher library.
| Parameter | Type | Description |
|---|---|---|
category |
string, optional | Filter by topic area: languages, frameworks, data, devops, dsa. |
find_my_fitAI-powered semantic job search. Describe your ideal role in plain English. Slower than browse_jobs — uses vector search under the hood. Rate limited to 10 queries per minute.
| Parameter | Type | Description |
|---|---|---|
query |
string, required | Natural language description of your ideal role. |
watch_querySave a job search to monitor — get notified when new matches appear. Runs daily with semantic matching. Up to 5 active watches per account.
| Parameter | Type | Description |
|---|---|---|
label | string, required | Human-readable name (e.g. "Senior Rust at Stripe"). |
query | string, required | Natural language description of the role to watch for. |
seniority | string, optional | Filter by level: intern, junior, mid, senior, staff, principal, director, vp, c_level. |
company | string, optional | Filter by company slug (e.g. stripe). |
location | string, optional | Filter by location (e.g. remote, california). |
get_job_alertCheck for new job matches from your saved watches. Returns listings found since the last check, grouped by watch name. Alerts are marked as seen after retrieval.
No parameters required.
manage_watchesList, pause, resume, or delete your saved job searches.
| Parameter | Type | Description |
|---|---|---|
action | string, required | One of: list, delete, pause, resume. |
watch_id | string, optional | Required for delete/pause/resume. Get IDs from action="list". |
book_interviewBook a mock interview session. Standard types (behavioral, system design, etc.) require an invite code. quick_chat is a casual 10-minute intro with no invite needed (1/day limit). A Zoom meeting link is auto-created.
| Parameter | Type | Description |
|---|---|---|
role_title | string, required | The role to practice for (e.g. "Senior Software Engineer"). |
interview_type | string, required | One of: behavioral, technical_coding, system_design, product_sense, analytical, case_study, portfolio_review, role_play, quick_chat. |
scheduled_at | string, required | RFC3339 UTC timestamp (e.g. 2026-04-08T14:00:00Z). Must be in the future. |
invite_code | string, optional | Required for all types except quick_chat. |
company_slug | string, optional | Company to tailor the interview (e.g. google). |
get_interviewsList your mock interviews — upcoming, in-progress, and completed. Shows status, type, and whether AI feedback is available.
No parameters required.
get_interview_feedbackGet detailed AI-generated feedback for a completed interview. Includes score, summary, strengths, improvements, and per-question breakdown.
| Parameter | Type | Description |
|---|---|---|
interview_id | string, required | The interview UUID (from get_interviews results). |
cancel_interviewCancel a scheduled mock interview. Only interviews in "scheduled" status can be cancelled.
| Parameter | Type | Description |
|---|---|---|
interview_id | string, required | The interview UUID to cancel. |
get_account_infoShow who is currently signed in — display name, auth provider, and selected interests.
No parameters required.
Skilark uses OAuth 2.0. On first use, your AI assistant will open a browser window where you sign in with GitHub, Google, or email magic link. After that, your session stays active automatically.
read (job data), profile (career preferences), watch (job alerts).browse_jobs.find_my_fit is slower than browse_jobs — vector search under the hood.quick_chat interviews limited to 1 per day.