Apply Remote MCP Server

Connect your AI agent to Apply Remote to search open remote jobs, work on your CV and cover letters, and check your LinkedIn profile. Works with any AI tool that supports MCP, such as Claude, ChatGPT and Perplexity.

Terminal
$ claude mcp add --transport http apply-remote \
    https://applyremote.co/mcp

Tools your agent gets

search_jobslist_countriesget_jobsearchfetch+ 12 for your CVs, letters and LinkedIn

Price

Free

Sign-in

Required, once

Tools

17

Transport

Streamable HTTP

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-only

Search 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-only

The 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-only

One 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

fetchRead-only

Read 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 read

The 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 read

The person's saved CVs, newest change first: id, name and template.

This tool takes no input.

get_my_cvRead-onlyNeeds the permission to read

One 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 changes

Save 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 changes

Change 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 read

The person's saved cover letters: id, title, job and company.

This tool takes no input.

get_my_cover_letterRead-onlyNeeds the permission to read

One cover letter in full.

cover_letter_idrequired
The id from list_my_cover_letters.Type: text
create_cover_letterChanges dataNeeds the permission to make changes

Save 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 changes

Replace 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 read

The 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 read

One 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 changes

Run 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

Nothing is applied, sent or deleted for you. The tools that save something are marked as changing data, so your AI app can ask you before they run. To apply to a job, you open the link and use the employer's own page.

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
  1. 1Open Settings and go to Connectors.
  2. 2Choose Add custom connector.
  3. 3Name it Apply Remote and paste https://applyremote.co/mcp as the address.
  4. 4Claude opens an Apply Remote page. Sign in and press Approve.
  5. 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. 1

    Add the address. Your AI app opens an Apply Remote page in your browser.

  2. 2

    Sign in to Apply Remote. Use your normal login, or create an account. The password goes to Apply Remote only.

  3. 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. 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

Your profile, your CVs, your cover letters and your LinkedIn reports. It cannot see your applications, your billing, your password or other people's data.

You can end it any time

Open Settings, then MCP, and press Disconnect. The app loses access at once. Changing your password does the same for every app.

Your plan still applies

Saving a CV or letter follows the limits of your plan, and needs a confirmed email address. A LinkedIn check uses your daily checks, which are capped at 10 a day.

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. 1

    Add Apply Remote MCP. One address, about a minute, no key.

  2. 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. 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. 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. 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?

Tell us and we will fix these docs.