Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Remoet is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Job platform for AI agents. Track tech jobs from companies that match your stack.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http remoet-mcp https://api.remoet.dev/mcp/oauth
# 2 — ask your agent for something these tools do
# get_profile, update_profile, save_work_experience and 21 more
Remoet costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http remoet-mcp https://api.remoet.dev/mcp/oauthReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
24 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
The user's complete Remoet profile in one call: profile core (summary, links, location, avatar), workExperience, projects, and education (each section entry carries an id for update/delete) plus the current visibility setting. The ids it returns are the ones the save_* and delete_profile_item tools take. What the fields affect: the summary is the first thing companies read; the technologies array
No parameter schema on file.
Update the user's Remoet profile core and/or their visibility. Only provide the fields you want to change. Omitted fields are left as-is; pass null to clear a field. If the source data (CV, website, etc.) is missing a field, ask the user rather than guessing. Never copy placeholder text like "lorem ipsum". VISIBILITY: pass visibility to control who can see the profile in company candidate lists:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string/null | no | Your public profile URL slug (must be unique) |
| string/null | no | Update your email address | |
| name | no | Your full name | |
| avatarUrl | no | Your avatar/photo URL | |
| phone | no | Your phone number | |
| url | no | Your personal website URL | |
| summary | no | A brief professional summary or bio | |
| location | no | Your location | |
| githubUrl | no | Your GitHub profile URL | |
| facebookUrl | no | Your Facebook profile URL | |
| twitterUrl | no | Your Twitter/X profile URL | |
| linkedinUrl | no | Your LinkedIn profile URL | |
| youtubeUrl | no | Your YouTube channel URL | |
| visibility | string | no | Who can see the profile in company candidate lists: NONE (hidden), STARRED (only companies the user has starred, recommended), ALL (every company). Explain the trade-off before changing. |
Add or update a work experience entry (upsert). Omit id to create a new entry (title and startDate are required); pass an id (from get_profile) to update an existing one, changing only the fields you send. Every description should cover WHAT was built, HOW (technologies), IMPACT (users served, performance gains, revenue, uptime), and SCOPE (team size, scale). Push for measurable outcomes ("Built R
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Present: update this work-experience entry (only the fields you pass change). Omit: create a new one (title and startDate are required to create). |
| title | string | no | Job title |
| companyName | no | Company name | |
| companyUrl | no | Company website URL | |
| startDate | string | no | Start date: a date, e.g. "2024-01-15" |
| endDate | no | End date: a date, e.g. "2024-01-15". Omit it for a current role | |
| isCurrent | boolean | no | Whether this is your current job (default false on create) |
| isRemote | boolean | no | Whether this job is remote (default false on create) |
| technologies | array | no | Technologies used (e.g. ["React", "Node.js"]). They feed job matching |
| description | no | Job description |
Add or update a portfolio project (upsert). Omit id to create (title and shortDescription are required); pass an id (from get_profile) to update, changing only the fields you send. Projects are the #1 differentiator for junior/mid developers. Help the user recognize work they might not think of: side projects, open-source contributions, hackathon entries, internal tools, time-saving scripts, blogs
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Present: update this project (only the fields you pass change). Omit: create a new one (title and shortDescription are required to create). |
| title | string | no | Project title |
| shortDescription | string | no | A one-line summary of the project |
| description | no | Full project description | |
| role | no | Your role in the project | |
| technologies | array | no | Technologies used |
| isCurrent | boolean | no | Whether this is an ongoing project (default false on create) |
| isRemote | boolean | no | Whether this was remote work (default false on create) |
| isOpenSource | boolean | no | Whether this is open source (default false on create) |
| startDate | no | Start date: a date, e.g. "2024-01-15" | |
| endDate | no | End date: a date, e.g. "2024-01-15" | |
| repoUrl | no | Repository URL | |
| demoUrl | no | Live demo URL |
Add or update an education entry (upsert). Omit id to create (institution is required); pass an id (from get_profile) to update, changing only the fields you send. Ask about degrees, bootcamps, and notable certifications. Confirm approximate dates with the user rather than guessing; don't fabricate. Saving without an id always creates a new entry.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Present: update this education entry (only the fields you pass change). Omit: create a new one (institution is required to create). |
| institution | string | no | Institution name (e.g. "MIT", "Lund University") |
| institutionUrl | no | Institution website URL | |
| studyLevel | no | Level of study: HIGH_SCHOOL, ASSOCIATE, BACHELOR, MASTER, DOCTORATE, BOOTCAMP, or OTHER | |
| fieldOfStudy | no | Field of study (e.g. "Computer Science") | |
| startDate | no | Start date: a date, e.g. "2024-01-15" | |
| endDate | no | End date: a date, e.g. "2024-01-15" | |
| isCurrent | boolean | no | Whether you are currently studying here (default false on create) |
| description | no | Description of studies, achievements, etc. |
Delete a profile item: a work experience entry, a project, or an education entry (set type accordingly). Use this to clean up duplicates, placeholder/test entries, or clearly wrong data. Ids come from get_profile. Always confirm with the user before deleting anything that could be real.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| type | string | yes | Which kind of profile item to delete |
| id | string | yes | The ID of the item to delete (get its id from get_profile) |
Works without a Remoet account, except starred: true. Search companies on Remoet, or list the user's starred companies (starred: true). Returns a summary per result. Full detail (description, perks, URLs) is on get_listing, by slug. Job boards and aggregators are excluded; talent networks that post direct roles (e.g. Toptal) appear as companies. CRITICAL, star quality: only star companies whose t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| starred | boolean | no | Set true to list the user's STARRED companies instead of searching the full catalog. In this mode searchQuery/experienceLevel/sort/pagination are ignored; pass techStack to get a matchedTechStack per |
| searchQuery | string | no | Search keyword: matches company name, description, and about text |
| techStack | array | no | Filter by technologies (e.g. ["React", "Node.js", "TypeScript"]). Each result's matchedTechStack shows which matched. Technologies are auto-normalized. |
| techStackMatch | string | no | How techStack combines: "any" (default, at least one technology) or "all" (every technology required; use for must-have stacks) |
| experienceLevel | array | no | Only companies with at least one open role at any of these seniorities (e.g. ["junior"] for entry-level-friendly companies). Each result's experienceLevels field shows its per-seniority role counts; a |
| sortBy | string | no | Sort results by: stars (most popular), jobCount (most active hiring), or name (alphabetical). Default: relevance when searching/filtering, stars when browsing |
| page | integer | no | Page number, starting from 1 (default: 1). Without a Remoet account the first 10 pages are available. |
| pageSize | integer | no | Results per page, max 20 without a Remoet account (default: 20) |
Works without a Remoet account. Get detailed information about a specific company listing by its slug. Use this to review a company before deciding whether to star it. Returns the company's full description, perks, job count, and URLs. NOTE: the tech stack is a small preview unless the company is starred. Starring unlocks the full stack (techStackCount shows the true total, e.g. a 3-tag preview of
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | The URL slug of the listing (e.g. "digital-ocean", "stripe") |
| checkTechStack | array | no | Technologies to verify against the company's full stack (auto-normalized, max 50); matches are returned in matchedTechStack |
Star/save a company listing. Starring subscribes you to their job postings. Starred company jobs appear in get_starred_jobs. Starring also unlocks the company's FULL tech stack (unstarred listings only show a small preview). Starring is FREE. It does not consume budget. However, there is a limit on how many active stars you can have at once. Remaining star slots are reported by get_account. CRITIC
| Parameter | Type | Required | Notes |
|---|---|---|---|
| listingId | string | yes | The ID of the listing to star |
Remove a star from a company listing. WARNING: Unstarring consumes from your unstar budget (per 30-day period), EXCEPT when the user is over their star cap (then trimming back to the limit is free). This prevents unlimited cycling of stars. The remaining unstar budget is reported by get_account. Only unstar if the company is truly not relevant. Do NOT mass-unstar to get a user under their cap unle
| Parameter | Type | Required | Notes |
|---|---|---|---|
| listingId | string | yes | The ID of the listing to unstar |
Works without a Remoet account. Search Remoet's PUBLIC job catalogue: every role on the open board at remoet.dev/jobs, across all companies, not just the ones the user has starred. No star is needed and none is consumed. Use this to answer "what is out there" for any technology, title or company; use get_starred_jobs instead for the user's own curated feed. Each result carries the role's public R
| Parameter | Type | Required | Notes |
|---|---|---|---|
| searchQuery | string | no | Free text, matched against the job title, Remoet's own summary of the role and its tech stack. Comma-separate keywords to require ALL of them (e.g. "react, typescript"). |
| techStack | array | no | Match roles carrying ANY of these technologies (e.g. ["React", "Go"]), or EVERY one of them under techStackMatch: "all". Matched case-insensitively against the exact stored technology, so use whole na |
| techStackMatch | string | no | How techStack combines: "any" (default, at least one technology) or "all" (every technology required ON THE SAME ROLE; use for a must-have stack). Spelling variants stay grouped per technology, so "al |
| companySlug | string | no | Restrict to one company by its Remoet slug (the same slug get_listing takes, e.g. "stripe"). An unknown or delisted company returns an empty page, not an error. |
| remotePolicy | array | no | Match roles with ANY of these remote policies: "remote", "hybrid", "onsite" or "remote-restricted" (max 5). |
| experienceLevel | array | no | Match roles at ANY of these experience levels: "junior", "mid" or "senior" (max 5). |
| salaryMin | number | no | Minimum salary, against the role's normalized salaryEnriched.from. Roles Remoet holds no numeric salary for are EXCLUDED by this filter, so a floor narrows the board to the ~55% of roles that publish |
| location | array | no | Match roles in ANY of these places (max 5), e.g. ["Berlin"] or ["Germany", "Netherlands"]. Matched against the canonical place names Remoet stores per role, not the free-text location string, so a cou |
| sortBy | string | no | Sort field: "newest" (default) or "salary". Under "salary", roles with no known salary sort LAST whichever direction is asked for, so they never head the list. |
| sortOrder | string | no | Sort direction (default: desc) |
| page | integer | no | Page number, starting from 1 (default: 1). Without a Remoet account the first 10 pages are available; connect an account to page deeper. |
| pageSize | integer | no | Results per page, max 20 without a Remoet account (default: 20) |
Get job postings from the user's starred companies. This is the user's own curated feed. If the user has no stars, this returns nothing. In that case, use search_jobs instead: it reads the public catalogue. Supports filtering by search query, location, tech stack, remote policy, experience level, and minimum salary. Results are paginated. Same-title postings from one company are grouped into a sin
| Parameter | Type | Required | Notes |
|---|---|---|---|
| searchQuery | string | no | Search keywords for job title, summary, or tech stack |
| locationQuery | string | no | Filter by location or remote restrictions |
| techStack | array | no | Filter by technologies (e.g. ["React", "Node.js"]) |
| techStackMatch | string | no | How techStack combines: "any" (default, at least one technology) or "all" (every technology required) |
| remotePolicy | array | no | Filter by remote policy: "remote", "hybrid", "onsite", or "remote-restricted" |
| experienceLevel | array | no | Filter by experience level: "junior", "mid", or "senior" |
| salaryMin | number | no | Minimum salary filter |
| sortBy | string | no | Sort field (default: createdAt) |
| sortOrder | string | no | Sort direction (default: desc) |
| page | integer | no | Page number, starting from 1 |
| pageSize | integer | no | Results per page (max 50, default 20) |
Save a job to the user's list for later. Supports both AI-extracted jobs (from search_jobs or get_starred_jobs) and internal partner jobs. This gives the agent memory across sessions. Saved jobs persist so the user doesn't lose track of interesting roles. Optionally attach a note (e.g. "Great fit for React skills", "Follow up next week"). Each job can only be saved once.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | The ID of the job to save |
| jobType | string | no | Type of job: "ai_job" (from search_jobs or get_starred_jobs, default) or "listing_job" (internal partner job) |
| note | no | Optional note about why this job is interesting |
Get the user's saved jobs list. This is the user's job search memory: shows all jobs they've bookmarked across sessions, with notes and job details. Includes both AI-extracted jobs and internal partner jobs (see jobType field). It shows the user's existing pipeline, so jobs they have already saved can be told apart from new ones. Paginated, newest saves first. Each saved job includes isActive and
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | no | Page number, starting from 1 (default: 1) |
| pageSize | integer | no | Results per page, max 50 (default: 20) |
Update the note on a saved job. Use this to add context, track application status, or record follow-up reminders. Pass null to clear the note.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedJobId | string | yes | The ID of the saved job entry (not the job ID) |
| note | yes | Updated note, or null to clear |
Remove a job from the user's saved list. Saved job ids come from get_saved_jobs. Confirm with the user before removing.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| savedJobId | string | yes | The ID of the saved job entry to remove |
The user's dashboard feed as ONE composed stream, chronological newest first. Each entry has a kind: 'item' (per-company job items from their starred companies - the company, when it landed, role snapshots with job id/title/application URL/salary/remote policy/experience level/tech stack, and per-role flags isActive, savedJobId, matchesFilters, plus per-item isStarred: false means the user unstarr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageSize | integer | no | Items per page (default 20, max 50). |
| cursor | string | no | nextCursor from the previous page. Omit for the newest page. |
HISTORICAL ONLY: the user's archived job digests, the email summaries Remoet used to send about new jobs from their starred companies. No new digest has been generated since 2026-07-06, when the feed roundup replaced that pipeline, so this returns nothing at all for an account created since then. What carries new roles now is get_feed (the composed dashboard stream, and what the roundup emails are
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Fetch one digest in full by id. Omit to list recent digests. |
List approved apps built on the Remoet platform. These are community and official apps that extend Remoet's functionality. Each app has a repo URL for deployment and a demo URL to try it out. Use this to help users discover tools that complement their Remoet workflow, e.g. portfolio sites, CV generators, job trackers, etc. You can filter by category or tag.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Filter by category |
| tag | string | no | Filter by tag |
| page | integer | no | Page number, starting from 1 (default: 1) |
| pageSize | number | no | Results per page, max 50 (default: 20) |
The user's link tree pages: shareable single-page URLs for a CV, email signature, or job application, with per-link view/click tracking so recruiter engagement is measurable. Without a slug: all of the user's link trees (each with its id and slug). With a slug: that page's content plus its engagement data (views, clicks per link), which answers "has anyone looked at my link tree?".
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | no | Fetch one link tree in full by its public slug (with engagement data). Omit to list all of the user's link trees. |
Create a link tree page: a shareable page with the user's links (social media, portfolio, GitHub, etc.). Each account can create up to 10. The slug becomes the public URL. Slug rules: 5-20 characters, lowercase letters, numbers, and hyphens only, cannot start/end with a hyphen. Must be unique. Use the user's name or handle as a base for the slug. The usual links are the ones on the user's profile
| Parameter | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | URL slug (5-20 chars, lowercase, hyphens allowed, must be unique) |
| title | string | yes | Page title (e.g. "Carl Igelström: Links") |
| description | yes | Short description for the page | |
| links | array | yes | Array of links to display on the page (max 50) |
Delete a link tree page. Link tree ids come from get_linktrees. Confirm with the user before deleting.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | The ID of the link tree to delete |
Apply to a job on behalf of the user, or get its application link. Two outcomes by job type: internal jobs (posted directly through Remoet's partner system) are applied to end-to-end and return the created application; scraped jobs (most of the platform) return applicationType "external" with the applicationUrl where the user applies on the company's site. Share that link with the user; Remoet can
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jobId | string | yes | The ID of the job to apply to |
The user's account status in one call: every budget the platform enforces (active stars vs cap, unstars used vs the 30-day unstar budget, MCP requests today vs daily cap, REST API requests today vs daily cap, each with a resetsAt), the remaining limits (link-tree cap), and any over-cap/grace state. Calling it is free and never counts against a cap. Every limit is a plain number. Remoet is free.
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Remoet or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Remoet can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.