Promptlike Mcp

io.github.zeynepaslierhanPublished by GitHub account zeynepaslierhanv0.7.1Updated Nov 3, 2026

Your PromptLikeEngineer prompt library as MCP tools, slash prompts and resources. No delete tool.

Overview

AI-generated overview

Connects an assistant to a PromptLikeEngineer prompt library so it can list, search, fetch, fill in and save versioned prompts.

What you can do
  • List and search saved prompts, filtered by tag, repo or folder, with paging.
  • Fetch a prompt by name, title, id or version label, and fill its {{variable}} placeholders with values.
  • Suggest prompts from the library that match the current task.
  • Save new prompts, update existing ones as new versions, and move prompts between repos and folders.
  • Send a short feedback note about a missing or broken tool.
When to use it
Useful when you keep reusable prompts in PromptLikeEngineer and want an assistant to pull the right one by name instead of pasting it, or to save a good prompt back after a session. Also handy for running saved prompts as slash commands with variable arguments.
Requirements
Runs locally over stdio via npx, so Node.js 18 or newer and npx on the PATH are needed, plus npm registry access the first time. A PromptLikeEngineer account signed in through the ple login CLI is required for the tools to return prompts. Network access to promptlikeengineer.com, or the address in PROMPTLIKE_API_URL.
Before you install
The server reads and writes your PromptLikeEngineer account: save_prompt and update_prompt send prompt text to the service, and update_prompt overwrites fields you pass while keeping old versions. Fetching a prompt records a use event with prompt, version, access route and client name; suggest_prompts sends the task description (up to 2,000 characters) to the service. Content resembling API keys or tokens is refused, and plan limits can block saves. Sign-in tokens are stored by the CLI in its…

Installation

In SourceWeft

  1. Open Promptlike Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

promptlike — Claude Code plugin

Reach your PromptLikeEngineer prompt library from inside Claude Code. Your prompts stay versioned where you saved them; Claude pulls one by name at the moment it needs it — no copy-paste, no stale duplicates in a system prompt.

Install

From this repo's own marketplace — works today:

bash
claude plugin marketplace add zeynepaslierhann/promptlike-pluginclaude plugin install promptlike@promptlikeengineer

Inside a Claude Code session the same two steps are /plugin marketplace add zeynepaslierhann/promptlike-plugin and /plugin install promptlike@promptlikeengineer.

From the community marketplace (once this plugin is listed there):

bash
/plugin marketplace add anthropics/claude-plugins-community

Then install promptlike from @claude-community.

Or straight from a clone of this repo, handy for trying it without adding a marketplace:

bash
git clone https://github.com/zeynepaslierhann/promptlike-pluginclaude --plugin-dir ./promptlike-plugin

Sign in once so the server can read your library (it shares the CLI session):

bash
npm i -g [email protected] && ple login

Without signing in the plugin still loads and its tools are listed — each call just answers "Not logged in. Run ple login in a terminal first (install: npm i -g [email protected])." instead of returning prompts. The suggestion hook then uses your local prompts (ple save).

What it adds

ComponentWhat it is
promptlike MCP serverTools: list_prompts, search_prompts, get_prompt, fill_variables, suggest_prompts (read) · save_prompt, update_prompt (write — nothing is deleted), move_prompt (moves a prompt to another repo or folder; deletes nothing) · submit_feedback (a short note to the maker)
Your prompts as slash commandsEvery saved prompt is an MCP prompt: type / and pick it, or run /mcp__plugin_promptlike_promptlike__<prompt-name> (a title such as "Code Review" becomes code-review). Its {{variables}} become arguments. /mcp__plugin_promptlike_promptlike__save-this saves the reusable prompt from the current conversation
Your prompts as @ resourcespromptlike://<repo>/<prompt> — attach a saved prompt with @
Suggestion hookBefore each message, a local match against your saved prompts; when one fits, Claude gets a short note (see below)
/promptlike:prompt-library skillTeaches Claude to reach for a saved prompt instead of writing one from scratch, and to save good ones back

The plugin starts the server with npx -y [email protected], pinned to that exact version.

Examples

Each example starts with something you do. Swap in the names of prompts from your own library.

1. Ask for a prompt by name. You type:

text
Run my code-review prompt on the changes in this branch.

Claude looks the prompt up (get_prompt, after a search_prompts if the name is not exact), fills its {{variables}} with fill_variables, and follows the result. If the name matches several prompts, Claude shows you the candidates instead of guessing.

2. Run a prompt from the / menu. You type:

text
/mcp__plugin_promptlike_promptlike__code-review src/auth.ts security

The words after the command fill the prompt's {{variables}} in the order they first appear in it (for a prompt that mentions {{file}} and then {{focus}}, the two words above). A variable you leave out stays as {{name}} in the text Claude receives.

3. Keep something you just worked out. You type:

text
/mcp__plugin_promptlike_promptlike__save-this

The prompt tells Claude to pull the reusable instruction out of the conversation, mark what changes between uses as {{variables}}, show you the title, description and text, and then call save_prompt. Saving never deletes anything, and text that looks like an API key or token is refused.

Saving from Claude Code

Ask Claude to save a prompt, or run /mcp__plugin_promptlike_promptlike__save-this. Nothing is ever deleted: save_prompt creates a prompt, update_prompt adds a new version and keeps the old one, move_prompt changes where a prompt lives, and saving the same thing twice changes nothing. Plan limits apply exactly as on the web — when you hit one, Claude tells you and nothing is saved. Content that looks like an API key or token is refused.

Suggestion hook — what it does and how to turn it off

On every message you send, Claude Code runs scripts/suggest.sh, which runs ple suggest --hook (a UserPromptSubmit hook). It:

  • matches your message against your saved prompts on this machine — a local copy of your library (or ~/.promptlike when signed out). Your message is not sent anywhere;
  • stays silent for slash commands, short messages (under 20 characters), weak matches, and prompts it already suggested in this session;
  • otherwise adds one short note for Claude naming up to three prompts. The note is data, not an instruction: Claude names a prompt that fits and fetches it only after you say yes;
  • needs the CLI (npm i -g [email protected]); without it the hook does nothing. It never blocks your message: it answers in well under a second or stays silent.

Turn it off any of these ways:

  • /config → PromptLikeEngineer → Suggest saved prompts → false (or run /plugin configure promptlike@promptlikeengineer)
  • ple config set suggest off
  • PLE_SUGGEST=off in your environment (or in Claude Code's settings.json → env)

How often a suggestion is shown is counted on your machine only (ple stats shows it); the server only learns when Claude actually fetches a suggested prompt.

Data and privacy

This is everything the plugin runs and every place it talks to.

Suggestion hook. Before each message Claude Code runs scripts/suggest.sh, which runs ple suggest --hook if the ple CLI is installed (otherwise nothing happens). Matching runs on your machine. The hook does not send your message anywhere, makes no network request itself and never waits for one. One thing does happen in the background: if you are signed in and the local copy of your library is missing or more than 10 minutes old, the hook starts a detached ple suggest --refresh-cache (at most once a minute) that downloads your own prompt list from promptlikeengineer.com with your ple login session, so the next match uses a fresh copy. Each of the three off switches above stops the hook, and that refresh with it. When a prompt fits, Claude gets a two-line note naming up to three of your prompt titles; like any text in your conversation, it is sent to the model with that turn.

Files on your machine. The CLI keeps these in ~/.config/promptlike/ (or the folder named in PROMPTLIKE_CONFIG_DIR), created with owner-only permissions where the system supports them: config.json (your session: tokens, email and user id, written by ple login), settings.json (the on/off switch), cache/library.json (up to 500 prompts: title, description, tags, repo, use count and the first 600 characters of the text) and cache/suggest-state.json (a counter and the prompts suggested in your last 20 Claude Code sessions). Signed out, the hook reads ~/.promptlike instead.

MCP server. Claude Code starts it with npx -y [email protected]; the first time, npm downloads that exact version from the npm registry. It runs on your machine and talks only to https://promptlikeengineer.com (or the address in PROMPTLIKE_API_URL, if you set one), authenticating with the session ple login stored and refreshing it through the same host when it expires. It has no other network code. What it sends:

  • reads (list_prompts, search_prompts, get_prompt, fill_variables) ask your account for your prompts; Claude Code also asks for the list that fills the / menu and the @ suggestions (up to 500 prompts, kept for 30 seconds);
  • when Claude fetches a prompt — by tool, from the / menu or as an @ resource — the server records a use event: which prompt and version, which of those three ways it was reached, whether it was offered as a suggestion, and the MCP client's name and version (for example claude-code/2.1.179);
  • suggest_prompts sends the task description Claude gives it (up to 2,000 characters) so the server can match it against your library; the endpoint does not log or store that text. The hook above never does this;
  • save_prompt and update_prompt send the text you asked to save;
  • submit_feedback runs only after Claude shows you the sentence and you say yes. It sends that one short sentence, a type (bug, missing, idea or prompt), the title or id of the prompt it is about if any, and the server version, OS and CPU, Node version and tool name. It works without a session, never carries a prompt body, and refuses a message that looks like a key or token.

Limits on what it does. Nothing is deleted: the server has no delete tool, saving the same text twice changes nothing, and content that looks like a secret (API keys, tokens, private keys) is refused — the error names the kind, never the value. Prompts you save live in your PromptLikeEngineer account; how the service handles them is in its Privacy Policy and Terms.

Troubleshooting

What you seeWhat to do
"Not logged in. Run ple login in a terminal first (install: npm i -g [email protected])."Run npm i -g [email protected] && ple login once, then ask again. Tools use the new session on the next call; slash commands and @ resources are listed when the server connects, so start a new Claude Code session if they are missing
"Session expired. Run ple login in a terminal to sign in again."Run ple login again
"Rate limited. Retry in 12s."Wait that long, then ask again
"Cannot reach https://promptlikeengineer.com. Check your connection." or "No response from https://promptlikeengineer.com within 15s."Check your connection and try again
"… Plan limit reached — nothing was saved. Upgrade: …"Your plan's limit stopped the save and nothing changed
claude mcp list shows plugin:promptlike:promptlike as failed to connectThe server needs Node.js 18 or newer, npx on your PATH and, the first time, access to the npm registry. Run npx -y [email protected] in a terminal: it prints promptlike-mcp v0.7.0 ready (stdio). when it starts (stop it with Ctrl-C), or the error if it cannot
No suggestion notes appearThe hook needs the ple CLI on your PATH. It stays silent for slash commands, messages under 20 characters, weak matches and prompts already suggested in this session, and when it is switched off: ple config get suggest shows whether it is on

Self-hosting

Point at another deployment with PROMPTLIKE_API_URL (the same environment variable the CLI honors).

Support and security

Questions and bug reports: open an issue at https://github.com/zeynepaslierhann/promptlike-plugin/issues or write to Zeynep Aslı Erhan · [email protected]. Please report a security problem by email rather than in a public issue. This repository holds only the plugin files; the MCP server is the npm package promptlike-mcp and the CLI you sign in with is promptlike, both MIT licensed.

Links

MIT licensed.

Source: README.md at commit 20e85b0

Tools

9

list_prompts

List prompts

List the user's saved prompts from their PromptLikeEngineer library. Optionally filter by tag, repo (`project`) or `folder`. Returns id, title, description, repo, folder, updated_at and the {{variable}} names each prompt expects. Paged: `total` is the full count, and when `has_more` is true call again with `page` + 1.

Parameterstagpagelimitfolderproject

search_prompts

Search prompts

Search the user's prompt library by title and description. Returns the same (paged) shape as list_prompts.

Parameterspagelimitqueryrequired

get_prompt

Get prompt content

Fetch the full content of one prompt by name, title, id or short-id. Optionally pin an exact version number or a deployment label (e.g. production). Returns the prompt text plus the {{variable}} names it expects — if there are variables, either fill them yourself or call fill_variables.

Parametersvianamerequiredlabelprojectversion

fill_variables

Fill prompt variables

Fetch a prompt and substitute its {{variable}} placeholders with the given values, returning ready-to-use text. Empty or unset ones stay as {{name}} in the output (missing_variables); names you passed that the prompt does not have are ignored and listed in unknown_variables, so check it before relying on the text.

Parametersnamerequiredlabelprojectversionvariablesrequired

suggest_prompts

Suggest saved prompts

Call once at the start of a non-trivial task to check the user's saved prompts. Returns up to `limit` prompts from their own library that match the task (title/description match, weighted by past use). If one fits, fetch it with get_prompt (via: 'suggestion'). An empty list means nothing fits — carry on normally. The task text is not stored.

Parameterstaskrequiredlimit

save_prompt

Save a new prompt

Save a new prompt to the user's PromptLikeEngineer library (use when the user asks to keep/save a prompt, or via the save-this prompt). Mark reusable parts as {{variables}}; never include secrets. Saving the same title + content again is a no-op. If the title already exists with different content, call update_prompt instead. Plan limits apply (the error says so).

Parameterstagstitlerequiredfoldercontentrequiredprojectdescription

update_prompt

Update a prompt (new version, description, tags)

Change an existing prompt. `name` must be the exact title or the id. Only the fields you pass are touched; a field you leave out is NOT changed, a field you pass OVERWRITES. `content` (the full new text) is saved as a NEW version: the old version is kept and nothing is deleted; content equal to the current version creates no version. bump: patch (default), minor or major. `description` (one line; '' clears it) overwrites the prompt's description. `tags` ADDS tags: the ones the prompt lacks are added; tags already on it, and tags you do not list, are left as they are. It never removes a tag ([] changes nothing; remove a tag in the web app). Description and tags are not part of a version: changing only them never creates one, and the previous description is returned so it can be restored. Pass at least one of content, description, tags; passing values that already match changes nothing. This tool never deletes a prompt, a version or a tag.

Parametersbumpnamerequiredtagscontentprojectchangelogdescription

move_prompt

Move a prompt to another repo or folder

Move ONE prompt to another repo and/or folder. `name` must be the exact title or the id. Its versions, deployment labels, stars, usage and its /p/ short link stay with it; tags are matched by name in the target repo (created if missing). `to_project` = target repo (omit to stay in the same repo; then pass `folder`). `folder` = target folder like reviews/backend (omit: kept in the same repo, repo root in another; "" = the repo root). Refused, with nothing moved, when the target repo already has a prompt with that title, or when the move changes who can see the prompt (public <-> private repo): ask the user, and only if they agree call again with confirm_visibility: true. Moving to where it already is changes nothing. Needs editor or owner on both repos. This tool never deletes a prompt, a version or a tag.

Parametersnamerequiredfolderprojectto_projectconfirm_visibility

submit_feedback

Send feedback to the PromptLikeEngineer maker

Call this when a PromptLikeEngineer tool is missing, broken, confusing or returned a wrong result, or when a saved prompt did not work. One short factual sentence is enough. Never include prompt bodies, secrets or personal data. Works without a signed-in session. A call with a key or token in the message is refused. Errors come back as JSON with `code` and `retryable`; do not retry in a loop.

Parameterstypeemailpromptmessagerequired

Version history

6
  1. v0.7.1LatestNov 1, 2026
  2. v0.7.0Nov 1, 2026
  3. v0.6.0Oct 30, 2026
  4. v0.5.1Oct 29, 2026
  5. v0.5.0Oct 23, 2026
  6. v0.4.1Sep 28, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts