Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻译准备中
Auto-Apply That Ends on an Interview. Applies on the employer's own hiring system across 34 hiring systems (Workday, Greenhouse, Lever, Ashby, iCIMS, Workable and more) and keeps the confirmation they return. Plus ATS scoring, per-role resumes, cover letters and interview prep. Remote MCP at mcp.aiapplyd.com
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Stop applying. Start interviewing.
Score your resume the way the screening software scores it, rewrite it for the exact role,
write the cover letter, prepare for the interview, and send the application in on the
employer's own hiring system. All from inside the assistant you already work in.
And it keeps the employer's own confirmation. Most tools count applications sent, which is
a number the tool awards itself off its own button click. This one reports what the employer's
system actually returned, so a real rejection is distinguishable from a form that quietly
dropped your application.查看完整 README ↗Version 1.12.0. It includes fourteen portable job-search skills. See the changelog.
Auto-Apply That Ends on an Interview
Stop applying. Start interviewing.
Score your resume the way the screening software scores it, rewrite it for the exact role, write the cover letter, prepare for the interview, and send the application in on the employer's own hiring system. All from inside the assistant you already work in.
And it keeps the employer's own confirmation. Most tools count applications sent, which is a number the tool awards itself off its own button click. This one reports what the employer's system actually returned, so a real rejection is distinguishable from a form that quietly dropped your application.
Listing page · Website · Privacy · Terms
Most applicants are screened out by software before a person reads a word, and a good number are never screened at all, because the form silently dropped a required field or the upload never attached. From the candidate's side those look identical to rejection, which is why so many people rewrite a CV nobody ever read.
This server puts both halves of that process in your hands: the screening, and the proof that the application arrived.
From the first match to the interview invite. Every application carries the employer's own confirmation.
Every application goes in on the company's real careers page, under your name, with your own materials. It lands on 30+ hiring systems, including Greenhouse, Lever, Ashby, Workday, Personio, Teamtailor, SmartRecruiters, Recruitee, Breezy, Workable, Rippling, BambooHR, JazzHR, softgarden, Jobvite, Gem, Zoho Recruit, Dayforce, Hireology, Dover, Oracle Recruiting Cloud, Paylocity, Oracle Taleo, UKG Pro Recruiting, ADP, Avature, CareerPlug, Pinpoint, Manatal, and Eightfold.
Nothing to install. Connect once and run it from Claude, ChatGPT, Codex, Cursor, Gemini CLI, VS Code or any MCP client, and from your phone over iMessage through Poke.
The whole job search in five calls: see your matches (getmattered_get_matches), apply to one
(getmattered_apply, sent automatically or held for your yes), approve what is waiting
(getmattered_approve_applications), track every application to the employer's own receipt
(getmattered_get_applications), and check your plan and what is left (getmattered_get_account).
The full list is under Tools.
90 seconds: resume upload, job matching, a real application sent on the employer's own form, the employer's confirmation email, interview prep, and applying from ChatGPT, Claude and Cursor.
One click, if your app supports it:
GetMattered is a hosted remote MCP server. Point your client at one URL:
https://mcp.getmattered.com/mcp
The first tool call opens an OAuth sign-in. Sign in with Google, and you are connected. A free account needs no card and arrives with a one-time 10,000-token starter grant.
Settings → Connectors → Add custom connector
| Field | Value |
|---|---|
| Name | GetMattered |
| Remote MCP server URL | https://mcp.getmattered.com/mcp |
In Claude Code, one line does it:
claude mcp add --transport http getmattered https://mcp.getmattered.com/mcp
~/.cursor/mcp.json:
{
"mcpServers": {
"getmattered": {
"url": "https://mcp.getmattered.com/mcp"
}
}
}
GetMattered is an app in ChatGPT. Open GetMattered in ChatGPT, add it, and sign in with your GetMattered account when ChatGPT asks. Then ask for your job matches in a new chat. There is no Action schema to import and nothing to host.
code --add-mcp '{"name":"getmattered","type":"http","url":"https://mcp.getmattered.com/mcp"}'
This repository is a plugin marketplace. The getmattered plugin bundles the MCP server with fourteen
skills, in the portable plugin.json format that Codex, ChatGPT, Claude Code and Cursor read:
| Skill | Use it when |
|---|---|
using-getmattered | You want the assistant to pick the right tool and order for your request |
setup-job-search | You want to set your base resume, finish your profile or check readiness |
find-matching-jobs | You want your job matches, want to save or skip one, or want to change what it looks for |
apply-to-a-job | You want to apply, or you paste a job link and say "apply" |
review-and-send | You want to see what is waiting for you, change it, and send it |
tailor-for-a-job | You want a posting analysis, an ATS score or a resume rewrite for one role |
track-applications | You ask "did it go through", or how many applications you have left |
write-cover-letter | You want a letter for one job or changes to an existing letter |
The hosted skill index is at
getmattered.com/.well-known/agent-skills/index.json.
The plugin files are in plugins/getmattered/skills/. The root skills/ link points to that same
directory so Gemini CLI discovers the workflows without a second set of skill files.
Skills check account limits before metered work and get approval before credit-consuming actions or sending an application. Installing a plugin does not buy a GetMattered plan. Public directory approval is separate from installing this repository directly.
Codex:
codex plugin marketplace add getmattered/getmattered-mcp
codex plugin add getmattered@getmattered
Claude Code:
claude plugin marketplace add getmattered/getmattered-mcp
claude plugin install getmattered@getmattered
codex mcp add getmattered --url https://mcp.getmattered.com/mcp
codex mcp login getmattered
The Codex CLI, the IDE extension and the ChatGPT desktop app share this configuration.
This repository is also a Gemini CLI extension (gemini-extension.json, GEMINI.md and the same
fourteen skills):
gemini extensions install https://github.com/getmattered/getmattered-mcp
Or add the server by hand in ~/.gemini/settings.json:
{
"mcpServers": {
"getmattered": { "httpUrl": "https://mcp.getmattered.com/mcp" }
}
}
Settings → AI → MCP Servers → Add Remote Server, then paste https://mcp.getmattered.com/mcp.
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"getmattered": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.getmattered.com/mcp"] }
}
}
Each has a custom connector screen that takes a remote MCP URL. Paste
https://mcp.getmattered.com/mcp and choose OAuth.
npx poke@latest mcp add https://mcp.getmattered.com/mcp -n "GetMattered"), sign in, then text Poke:
"find me remote product designer jobs and apply to the best two".This repository ships a thin bridge. It relays the protocol to the hosted server and adds nothing of its own.
npx -y github:getmattered/getmattered-mcp
Or with Docker:
docker build -t getmattered-mcp .
docker run --rm -i getmattered-mcp
{
"mcpServers": {
"getmattered": {
"command": "docker",
"args": ["run", "--rm", "-i", "getmattered-mcp"]
}
}
}
| Environment variable | Default | Meaning |
|---|---|---|
GETMATTERED_MCP_URL | https://mcp.getmattered.com/mcp | Endpoint to relay to. Point it at https://mcp-preview.getmattered.com/mcp to test against preview. The variable name used before the rename is still read when this one is unset. |
GETMATTERED_TOKEN | unset | Optional bearer token. Without it the server still answers introspection; tool calls return 401 until an account is connected. The variable name used before the rename is still read when this one is unset. |
The same package is a small CLI, so a script, a cron job or a chat bot (Telegram, WhatsApp, iMessage) can run the whole job search without an MCP client.
npx getmattered-mcp login # sign in once in the browser
npx getmattered-mcp tools # list the tools
npx getmattered-mcp call getmattered_get_matches '{"limit": 5}' # matched jobs as JSON
npx getmattered-mcp call getmattered_apply '{"job_match_id": 123, "mode": "review"}'
npx getmattered-mcp call getmattered_get_applications '{"status": "waiting_for_review"}'
npx getmattered-mcp call getmattered_approve_applications '{"application_ids": [456]}'
login runs the same OAuth sign-in a desktop client runs and stores the token in
~/.config/getmattered/credentials.json (mode 600). It refreshes on its own, so an unattended bot
keeps working. call prints the tool's structured result as JSON. Exit code 0 means success,
1 means the tool reported an error, 2 means you are not signed in.
Run with no arguments and it is a stdio MCP server that relays to https://mcp.getmattered.com/mcp,
signed in with the stored login. GETMATTERED_TOKEN overrides the stored login and
GETMATTERED_MCP_URL overrides the endpoint.
This package was renamed to getmattered-mcp. Existing setups keep working:
getmattered_<name>. Earlier tool ids are accepted as aliases.GETMATTERED_* ones are unset.login or token refresh
writes ~/.config/getmattered/credentials.json.| Environment | Streamable HTTP (modern) | SSE (legacy bridges) |
|---|---|---|
| Production | https://mcp.getmattered.com/mcp | https://mcp.getmattered.com/sse |
| Preview | https://mcp-preview.getmattered.com/mcp | https://mcp-preview.getmattered.com/sse |
Use /mcp. /sse remains only for clients that cannot speak Streamable HTTP.
The table below is generated from the live tools/list of https://mcp.getmattered.com/mcp.
Every tool runs on the caller's own GetMattered account. Reading matches, applications
and account limits does not run AI generation. AI work and applications use the
account's allowance. Tool calls require sign-in; introspection is public.
Since 1.10.2 every tool does exactly one thing, with its own description, input schema and
annotations. No tool takes an action or decision argument that picks between operations.
The server lists 40 tools.
On a new account, getmattered_get_matches comes back empty with nextStep, the one thing to ask
for: the resume (getmattered_set_resume), then the roles and places (getmattered_update_job_preferences).
The first matches usually arrive within about 10 minutes, and GetMattered emails you when they do.
Five tools run the whole job search from a chat, or from a bot where a match drops and you reply "yes":
getmattered_get_matches -> getmattered_apply -> getmattered_get_applications -> getmattered_approve_applications
getmattered_get_account (plan, what is left, readiness)
| Tool | Title | Hints | What it does |
|---|---|---|---|
getmattered_get_matches | Get Job Matches | read-only, idempotent, open-world | Your matched jobs, best first, each with the job_match_id that apply takes. Also reads full postings, or any posting from a link without saving it |
getmattered_apply | Apply to Job | destructive, open-world | Apply to one job by job_match_id or job_url on the employer's own hiring system. mode: "auto" sends it, mode: "review" holds it for your yes |
getmattered_get_applications | Get Applications | read-only, idempotent | Every application and where it stands, the review queue, and the employer's own confirmation when it exists |
getmattered_approve_applications | Approve Applications | destructive, open-world | Sends applications held for your review to their employers, up to 25 at once. Cannot be undone |
getmattered_get_account | Get Account | read-only, idempotent | Your plan, token balance, applications left, job preferences, and whether your profile is ready to apply. Never passwords, tokens or card details |
getmattered_get_profile | Get Profile | read-only, idempotent | Which GetMattered account the connection is signed in as: account id, name and email. ChatGPT labels each connected account with it |
| Tool | Title | Hints | What it does |
|---|---|---|---|
getmattered_reject_applications | Reject Applications | destructive, idempotent | Skips applications held for your review. Nothing is sent |
getmattered_cancel_applications | Cancel Applications | destructive, idempotent | Stops applications still queued or being prepared, before they are sent |
getmattered_refine_application_documents | Rewrite Application Documents | destructive | Rewrites an application's resume or cover letter from your instructions, before it is sent. Uses AI credits |
getmattered_reprepare_applications | Prepare Applications Again | destructive | Builds an application's tailored documents again. Uses AI credits |
getmattered_set_application_stage | Record Application Stage | writes, idempotent | Records how an application is going: callback, interview, offer or rejection |
| Tool | Title | Hints | What it does |
|---|---|---|---|
getmattered_set_resume | Set Resume | destructive, open-world | Put your resume on your account as the base every application is tailored from: pasted text, a file link, or a saved resume |
getmattered_save_matches | Save Job Matches | writes, idempotent | Saves matches to your saved list. Undone by getmattered_unsave_matches |
getmattered_skip_matches | Skip Job Matches | writes, idempotent | Skips matches with a reason, so a job you declined stops coming back. Undone by getmattered_restore_matches |
getmattered_unsave_matches | Remove Saved Matches | writes, idempotent | Takes matches off your saved list |
getmattered_restore_matches | Restore Skipped Matches | writes, idempotent | Brings back skipped matches while the posting is open |
getmattered_update_job_preferences | Update Job Preferences | destructive, idempotent | Point GetMattered at the roles, locations, salary and seniority you want, and re-run discovery |
getmattered_update_automatic_apply_settings | Update Auto Apply Settings | destructive, idempotent, open-world | Turns Auto Apply on or off and sets whether applications go out on their own or wait for your review |
getmattered_get_application_profile | Get Application Profile | read-only, idempotent | The answers employer forms are filled from, and what is still missing |
getmattered_update_application_profile | Update Application Profile | destructive, idempotent | Saves only the fields you give. EEO answers are optional and accept prefer not to say |
getmattered_list_saved_searches | List Saved Searches | read-only, idempotent | Your saved searches and their email alerts |
getmattered_create_saved_search | Save Current Search | writes | Saves your current job preferences as a named search, with optional email alerts |
| Tool | Title | Hints | What it does |
|---|---|---|---|
getmattered_get_inbox | Get Recruiter Inbox | read-only, idempotent | The emails employers send about your applications, with the full conversation and suggested replies |
getmattered_reply_to_email | Reply to an Employer Email | destructive, open-world | Sends your reply to an employer from your GetMattered address, only after you approve the exact text |
getmattered_list_due_follow_ups | List Due Follow-ups | read-only, idempotent | Applications that went quiet and are due a follow-up, most urgent first |
getmattered_list_sent_follow_ups | List Sent Follow-ups | read-only, idempotent | The follow-ups you already sent or recorded |
getmattered_draft_follow_up | Draft a Follow-up | writes | Drafts a follow-up for one application. Nothing is sent. Uses AI credits |
getmattered_send_follow_up | Send a Follow-up Email | destructive, open-world | Sends a follow-up from your connected Gmail or Outlook, only after you approve the exact text |
getmattered_record_follow_up | Record a Follow-up | writes | Records a follow-up you sent yourself, so the next one is timed right |
| Tool | Title | Hints | What it does |
|---|---|---|---|
getmattered_score_resume | Score Resume | writes | An ATS score with section scores, the keywords you match and the ones you are missing, and what to change |
getmattered_analyze_job_description | Analyze Job Description | writes | What a posting screens on, in its own language, so the resume can mirror it |
getmattered_optimize_resume | Optimize Resume | writes | A resume rewritten to pass ATS screening and still reach a human reader |
getmattered_generate_interview_questions | Generate Interview Questions | writes, open-world | The questions this role is asked, with answer guidance, STAR scenarios and negotiation prep |
getmattered_translate_resume | Translate Resume | writes | Translates your resume into another language as a separate document. Works from the resume on file, or a resume pasted or attached in chat |
getmattered_generate_cover_letter | Generate Cover Letter | destructive | A cover letter in your own voice, written from the resume on your account or one pasted in chat |
getmattered_get_resume_pdf_link | Get Resume PDF Link | read-only, idempotent | The private link to the PDF of your resume on file. Creates nothing |
getmattered_share_resume_pdf | Share Resume PDF Publicly | writes, idempotent, open-world | Makes a public link to your resume PDF, only when you ask. Turn it off on the documents page |
getmattered_create_resume_draft | Create Resume Builder Draft | writes, open-world | An editable resume-builder draft from a summary of up to 2,000 characters, to finish in the builder. It creates no PDF |
Tool names from 1.10.1 and earlier keep working. They are not listed in tools/list. The server
runs each one as the tool that does that operation now:
| Earlier name | Runs as |
|---|---|
getmattered_review_application | by decision: approve, reject, cancel, refine, re_prepare and set_stage run getmattered_approve_applications, getmattered_reject_applications, getmattered_cancel_applications, getmattered_refine_application_documents, getmattered_reprepare_applications and getmattered_set_application_stage |
getmattered_triage_matches | by action: save, skip, unsave and restore run getmattered_save_matches, getmattered_skip_matches, getmattered_unsave_matches and getmattered_restore_matches |
getmattered_manage_follow_ups | by action: list, history, draft, send and record_sent run getmattered_list_due_follow_ups, getmattered_list_sent_follow_ups, getmattered_draft_follow_up, getmattered_send_follow_up and getmattered_record_follow_up |
getmattered_manage_saved_searches | by action: list, save, update and delete run getmattered_list_saved_searches, getmattered_create_saved_search, getmattered_update_saved_search and getmattered_delete_saved_search |
getmattered_build_pdf | with resume_text: getmattered_create_resume_draft. Without it: getmattered_share_resume_pdf when make_public is true, else getmattered_get_resume_pdf_link |
getmattered_update_auto_apply | getmattered_update_automatic_apply_settings, same arguments |
getmattered_auto_apply | getmattered_apply, same arguments |
An unknown action or decision value answers "tool not found". New code should call the
listed names.
Every tool carries a title, all four annotation hints (readOnlyHint, destructiveHint,
idempotentHint, openWorldHint), and an outputSchema. Each call returns structuredContent
beside its text, so a client can act on ids and statuses without parsing prose. The server also
sends the main loop as its MCP instructions.
getmattered_apply and getmattered_approve_applications submit a real application to a
real employer, under your name. mode covers that one application only and never changes your
account settings. Leave it out to follow your own default.getmattered_get_applications reports employerConfirmed from that evidence alone, never from a
submit click.getmattered_get_matches never writes. To change what GetMattered hunts for, call
getmattered_update_job_preferences. It is marked destructive because a list you pass replaces the
saved one.| Prompt | Title | What it does |
|---|---|---|
review_my_resume | Review My Resume | Scores a resume against a posting and returns the three changes that move it past the filter |
prepare_for_interview | Prepare for an Interview | Prepares the questions this company asks for this role, with structured answers ready |
apply_to_my_matches | Apply to My Matches | Shows your best matches, then applies to the ones you pick, each held for your approval |
find_jobs_like_this | Find Jobs Like This | The strongest matches for a target role, ranked by fit |
| Resource | URI | Contents |
|---|---|---|
ats-best-practices | getmattered://resources/ats-best-practices | Canonical guide to passing Applicant Tracking Systems in 2026. Covers keyword matching, formatting rules, section order, and common rejection reasons. |
interview-frameworks | getmattered://resources/interview-frameworks | Reference frameworks for structuring interview answers: STAR, CARL, SOAR, and PAR. |
resume-section-order | getmattered://resources/resume-section-order | Recommended section order by career stage (new grad, mid-career, executive) for ATS and human readability. |
Resource URIs from earlier versions still resolve.
OAuth 2.1, and it is the full specification rather than a subset:
client_id instead of
registering (client_id_metadata_document_supported: true)iss parameter on the authorization response (RFC 9207)An unauthenticated tools/call returns HTTP 401 with a WWW-Authenticate header pointing at
the metadata document. Introspection (initialize, tools/list, prompts/list,
resources/list) is open, so any directory or client can read the tool surface before a user
signs in.
SID=$(curl -s -D- -o /dev/null -X POST https://mcp.getmattered.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' \
| grep -i '^mcp-session-id' | tr -d '\r' | awk '{print $2}')
curl -s -X POST https://mcp.getmattered.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H "Mcp-Session-Id: $SID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
Your resume and profile stay on your GetMattered account. Tools read and write that account and nothing else. The privacy policy and terms are the binding statement.
The hosted server runs on Cloudflare Workers and its source is not public. This repository is
the public home of the MCP server: the server.json manifest, the connection documentation,
and the small stdio bridge above. The bridge is MIT licensed and forwards messages verbatim,
so you can read every line of what runs on your machine.
Built by GetMattered. Questions: [email protected]
prepare-for-interview |
| You want role-specific questions and to practise answers from your own experience |
handle-recruiter-replies | An employer wrote back and you want to read it and send a reply you approved |
follow-up-on-applications | An application has gone quiet and you want to follow up |
manage-saved-searches | You want to save a search and get emailed about its new jobs |
translate-resume | You want your resume in another language |
build-resume-document | You want the PDF link of your resume on file, or a private editable summary draft to finish in the builder |
getmattered_update_saved_search | Update Saved Search | writes, idempotent | Renames a saved search or turns its email alerts on or off |
getmattered_delete_saved_search | Delete Saved Search | destructive, idempotent | Deletes a saved search, only when you ask |
getmattered_search_jobs |
getmattered_get_matches, with job_title as query |
getmattered_update_application_profile with no arguments | getmattered_get_application_profile |