Overview
What is Apply Remote MCP
Apply Remote MCP is the official way to use our job board from an AI agent. It is built on the Model Context Protocol (MCP), the open standard that lets AI apps connect to outside services. Add it once, and your agent can search the open remote jobs on Apply Remote for you.
You sign in to Apply Remote once, when you add the connector. After that the agent can search jobs, and it can read your CVs, cover letters and LinkedIn reports and save changes when you agree.
You describe what you want in your own words. The agent picks the right tool, runs it and shows you the result with links.
At a glance
- Address
https://applyremote.co/mcp- Cost
- Free
- Sign-in
- Once, when you add the connector. You use your Apply Remote account, or create one.
- Works with
- Claude, ChatGPT, Perplexity, Claude Code and other apps that support MCP.
- Jobs
- The same open jobs as applyremote.co/jobs.
- Your data
- Your profile, CVs, cover letters and LinkedIn reports, only after you approve the app.
Reference
Available tools
There are 17 tools: five to search jobs and twelve for your own profile, CVs, cover letters and LinkedIn. Your agent picks the right tool from what you ask, so you never have to name one yourself.
Job search tools
Search and read open jobs. They need no permission beyond signing in.
Find jobs
search_jobsRead-onlySearch open remote jobs. Every filter is optional and they can be combined. Returns up to 25 jobs a page, with featured and newest jobs first.
query- Words to look for in the job title and description.Type: text
company- A company name.Type: text
country- A country the job hires from, such as Germany. Use list_countries for the names.Type: text
region- A wider area the job hires from.Type: worldwide, americas, europe, asia or africa
type- The kind of role.Type: full-time, part-time, contract, internship or freelance
level- The seniority of the role.Type: entry, mid, senior or lead
category- A job category, such as engineering or design.Type: text
posted_within_days- Only jobs posted in the last so many days.Type: number, 1 to 365
has_salary- Only jobs that show a salary.Type: true or false
limit- Jobs per page. The default is 10.Type: number, 1 to 25
page- Which page of results to return.Type: number
list_countriesRead-onlyThe countries that have open jobs, with the number of jobs in each. Use a name from this list as the country filter in search_jobs.
This tool takes no input.
Read a job
get_jobRead-onlyOne open job in full: the description as plain text, the salary when it is listed, where the job hires from, when it closes and the link to apply.
idrequired- The job id that search_jobs returned.Type: text
Search and fetch
searchRead-onlySearch the open jobs on Apply Remote by keywords and get a short list. It searches only Apply Remote. Some AI tools, such as ChatGPT deep research, look for a tool with this name.
queryrequired- Search words, such as senior python developer.Type: text
fetchRead-onlyRead one Apply Remote job in full by the id that search returned. It reads jobs by id only and does not fetch web addresses. Some AI tools, such as ChatGPT deep research, look for a tool with this name.
idrequired- The job id from a search result.Type: text
Account tools
They work on your own data. The tools that save something need the permission to make changes, which you can leave out in the approval step.
Your profile
get_my_profileRead-onlyNeeds the permission to readThe name, headline, summary, location and links from the person's Apply Remote profile.
This tool takes no input.
Your CVs
list_my_cvsRead-onlyNeeds the permission to readThe person's saved CVs, newest change first: id, name and template.
This tool takes no input.
get_my_cvRead-onlyNeeds the permission to readOne CV in full: target role, summary, skills, work entries numbered from 0, education and certifications.
cv_idrequired- The CV id from list_my_cvs.Type: text
create_cvChanges dataNeeds the permission to make changesSave a new CV. It counts toward the CV limit of the person's plan.
title- The name of the CV.Type: text
target_role- The role the CV is aimed at.Type: text
summary- The summary at the top of the CV.Type: text
skills- The skills. A new list replaces the old one.Type: list of text
experiences- Changes to work entries that exist, by index (starting at 0): a new description and new bullets, which replace the old ones.Type: list
new_work- Work entries to add: title, company, dates, description and bullets.Type: list
new_education- Education entries to add.Type: list
new_certifications- Certifications to add: name and issuer.Type: list
update_cvChanges dataNeeds the permission to make changesChange a saved CV. Only what is passed changes.
cv_idrequired- The CV id from list_my_cvs.Type: text
title- The name of the CV.Type: text
target_role- The role the CV is aimed at.Type: text
summary- The summary at the top of the CV.Type: text
skills- The skills. A new list replaces the old one.Type: list of text
experiences- Changes to work entries that exist, by index (starting at 0): a new description and new bullets, which replace the old ones.Type: list
new_work- Work entries to add: title, company, dates, description and bullets.Type: list
new_education- Education entries to add.Type: list
new_certifications- Certifications to add: name and issuer.Type: list
Your cover letters
list_my_cover_lettersRead-onlyNeeds the permission to readThe person's saved cover letters: id, title, job and company.
This tool takes no input.
get_my_cover_letterRead-onlyNeeds the permission to readOne cover letter in full.
cover_letter_idrequired- The id from list_my_cover_letters.Type: text
create_cover_letterChanges dataNeeds the permission to make changesSave a new cover letter. It counts toward the cover letter limit of the person's plan.
titlerequired- A name for the letter.Type: text
contentrequired- The complete letter.Type: text, 80 to 8,000 characters
job_title- The job the letter is for.Type: text
company- The company the letter is for.Type: text
update_cover_letterChanges dataNeeds the permission to make changesReplace the text of a saved cover letter.
cover_letter_idrequired- The id from list_my_cover_letters.Type: text
contentrequired- The complete new text.Type: text, 80 to 8,000 characters
title- A new name for the letter.Type: text
Your LinkedIn profile
list_my_linkedin_reportsRead-onlyNeeds the permission to readThe person's earlier LinkedIn checks: id, profile, target role, score and date.
This tool takes no input.
get_my_linkedin_reportRead-onlyNeeds the permission to readOne LinkedIn check in full: the score, what was found on the profile and the suggestions.
report_idrequired- The id from list_my_linkedin_reports.Type: text
analyze_linkedin_profileChanges dataNeeds the permission to make changesRun the LinkedIn optimizer on a public profile that belongs to the person and return the score and suggestions. Each check counts toward their daily LinkedIn checks, which are capped at 10 a day.
profile_urlrequired- The link to the profile, such as linkedin.com/in/their-name.Type: text
confirm_own_profilerequired- Must be true. It states that the profile belongs to the signed-in person.Type: true or false
target_role- The role they are aiming for.Type: text
You stay in control
Get started
Set up Apply Remote MCP
The server is hosted, so there is nothing to install. It takes about a minute. You sign in to Apply Remote once, and there is no key to copy.
Server URL
https://applyremote.co/mcp- 1Open Settings and go to Connectors.
- 2Choose Add custom connector.
- 3Name it Apply Remote and paste https://applyremote.co/mcp as the address.
- 4Claude opens an Apply Remote page. Sign in and press Approve.
- 5Start a chat, open the tools menu and switch on Apply Remote.
Custom connectors are not on every Claude plan. If you do not see the option, check the Claude help pages for what your plan includes.
You can disconnect the app at any time in your Apply Remote settings, under MCP.
Your account
Sign in and permissions
The connector uses the same sign-in standard as most apps, so you never give your password to Claude, ChatGPT, Perplexity or anyone else.
- 1
Add the address. Your AI app opens an Apply Remote page in your browser.
- 2
Sign in to Apply Remote. Use your normal login, or create an account. The password goes to Apply Remote only.
- 3
Check what the app asks for and press Approve. You see the app's name and what it can do. Read access is always shown. A box lets you allow changes too, and you can untick it.
- 4
Use it. The app gets a token that works for one hour and renews itself for up to 30 days.
What it can see
You can end it any time
Your plan still applies
For developers
See it work
A tool call is a single POST request. This one searches for React jobs in Europe that show a salary. The reply holds the same data as text and as structured content.
Request
curl -X POST https://applyremote.co/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_jobs",
"arguments": { "query": "react", "region": "europe", "has_salary": true, "limit": 2 }
}
}'Result, shortened
{
"total": 42,
"page": 1,
"has_more": true,
"jobs": [
{
"id": "cm0example0000000000000000",
"title": "Senior React Developer",
"company": "Example Co",
"location": "Germany",
"remote": true,
"employment_type": "Full-Time",
"salary": "EUR 60,000-80,000",
"posted_at": "2026-11-01T08:54:40.000Z",
"url": "https://applyremote.co/jobs/senior-react-developer-example-co-cm0example0000000000000000"
}
]
}The values in this result are made up to show the shape. Real results hold the jobs that are open when you ask.
Ideas
Example prompts
Not sure what to ask? Copy any of these into your AI agent once Apply Remote is connected.
- Looking for a jobFind senior React jobs that hire in Europe and show a salary.
- Moving to another countryWhich countries have the most open remote jobs, and what is open in Portugal?
- Keeping an eye on one companyWhat is Acme hiring for right now? Give me the links.
- Part time or on the sideShow part-time design jobs that were posted this week.
- Not sure where to startI do data work and want a remote job. Search for a few roles that fit and tell me what each one asks for.
- Improving your CVRead my default CV and tell me what to improve for a senior data analyst role. Do not save anything yet.
- Writing a cover letterFind a remote product designer job, then write a cover letter for it from my CV and save it as a new cover letter.
- Fixing your LinkedInLook at my last LinkedIn report and tell me the three changes that would raise my score the most.
Steps
How it works
- 1
Add Apply Remote MCP. One address, about a minute, no key.
- 2
Ask your agent in your own words. For example, find remote Python jobs that hire in Germany. If your request is vague, a good agent asks a quick question first.
- 3
Review the results. The agent shows the matching jobs with a link to each. Ask it to narrow by level, role type, country or pay.
- 4
Read a job in full. Ask the agent to open one. It returns the description, the salary when it is listed and how to apply.
- 5
Apply on the job page. Open the link and apply there. Apply Remote or the employer takes it from there.
Help
Troubleshooting
- Apply Remote does not appearCheck that the address is exactly https://applyremote.co/mcp. Restart your AI app if it was open when you added the server.
- The assistant answers without searchingSwitch the connector on for the chat, then ask again with something like “search Apply Remote for …”.
- No jobs come backLoosen the filters. A country name has to match the list from list_countries, so ask the assistant to check it.
- It says the job is no longer openJobs close when the employer fills them or the posting ends. Search again for a similar role.
- Too many requestsThe server allows 120 requests a minute for each person. Wait a minute and ask again.
- The app asks you to sign in againAccess ends when you disconnect the app in Settings, when you change your password or when the sign-in is 30 days old. Remove the connector and add it again.
- Saving a CV or letter is refusedThe same plan limits apply as on the site, and saving needs a confirmed email address. The message from the server says which one it is.
- The assistant says it can only readYou approved the connection without the option to allow changes. Disconnect it in Settings, add it again and keep the box ticked.
- An error after the connection droppedDisconnect the connector and add it again to start a fresh session.
Questions
FAQ
What is Apply Remote MCP?
It is a connector that lets an AI assistant search the open remote jobs on Apply Remote. It uses the Model Context Protocol (MCP), an open standard for connecting AI apps to outside services.
Is it official?
Yes. Apply Remote runs the server at applyremote.co/mcp, and it reads the same jobs as the website.
Is it free?
Yes. The connector costs nothing. Your AI app may limit custom connectors to some plans, and saving CVs and cover letters follows the limits of your Apply Remote plan.
Do I need an Apply Remote account?
Yes. When you add the connector, your AI app opens an Apply Remote page where you sign in or create an account and approve the app. A free account is enough.
Which AI apps work with it?
Claude, ChatGPT, Perplexity, Claude Code and other apps that support remote MCP servers over Streamable HTTP with OAuth.
Can it see my CV or my applications?
Yes, once you sign in and approve the app. It can read your profile, CVs, cover letters and LinkedIn reports. It cannot see your applications, your billing or your password.
Can it change my CV or cover letters?
Only if you leave the box for changes ticked when you approve. It can then save a new CV or cover letter, change a saved one and run a LinkedIn check on your own profile. It cannot delete anything. The tools that change data are marked, so your AI app can ask you before they run.
Can it apply to a job for me?
No. It searches and reads jobs. To apply, you open the link it gives you.
Does Apply Remote see what I type to my assistant?
No. Your chat goes to your AI provider under their privacy terms. Apply Remote only receives the tool calls the assistant makes. The content of a CV or letter that the assistant reads or saves passes through your AI provider as part of your chat.
What does Apply Remote keep about the connection?
For every tool call it keeps the tool name, whether it worked and how long it took. It does not keep the words of a search or the text of a CV. For the sign-in it keeps the app's name, the permissions you gave, and hashes of the tokens.
How do I disconnect it?
Open Settings, then MCP, and press Disconnect next to the app. It loses access at once. You can also remove the connector in your AI app.
Can I use it on my phone?
It works wherever your AI app supports custom connectors. Add it on the web version first, and it usually appears on your phone too.
Reference
Technical details
For people who build with MCP.
- Endpointhttps://applyremote.co/mcp
- TransportStreamable HTTP. Each request is answered on its own, with no session and a JSON reply.
- MethodsPOST for tool calls. OPTIONS for browsers. GET returns 405.
- AuthenticationOAuth 2.1 with PKCE (S256) and dynamic client registration. Without a valid token the server answers 401 with a WWW-Authenticate pointer to its metadata, which tells the AI app to start the sign-in.
- OAuth metadata/.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource/mcp
- OAuth endpoints/oauth/register, /oauth/authorize, /oauth/token and /oauth/revoke
- Scopesaccount:read to see CVs, cover letters, profile and LinkedIn reports. account:write to also save changes and run a LinkedIn check. Job search needs no scope.
- TokensAccess tokens last 1 hour. Refresh tokens last 30 days and are replaced each time they are used. Only hashes are stored. The person can disconnect an app in Settings, and changing the password disconnects all of them.
- Tools17. The tools that only read are marked read-only. The tools that change data are marked as such, so AI apps can ask before they run.
- Rate limit120 requests a minute for each person. After that the server answers 429.
- Request sizeUp to 200 KB. A larger request gets 413.
- ResultsText, and the same data in structuredContent for clients that read it.
- Serverapply-remote, version 1.0.0
Claude and Claude Code are trademarks of Anthropic, ChatGPT is a trademark of OpenAI, and Perplexity is a trademark of Perplexity AI. Apply Remote is not affiliated with or endorsed by them.
Something missing or wrong?