Promptlike Mcp

io.github.zeynepaslierhan由 GitHub 账号 zeynepaslierhan 发布v0.7.1更新于 Nov 3, 2026

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

已验证STDIO仅桌面效率与工作流知识与记忆

概览

AI 生成的概览

把 PromptLikeEngineer 提示词库接入助手,可查找、填充变量、保存并复用用户已保存的提示词。

可以做什么
  • 列出和搜索已保存的提示词,可按标签、仓库或文件夹筛选并分页
  • 按名称、标题、id 或版本标签获取提示词,并填充其中的 {{variable}} 占位符
  • 根据当前任务从提示词库中推荐匹配的提示词
  • 保存新提示词、以新版本更新提示词,或将其移动到其他仓库或文件夹
  • 提交关于工具缺失或出错的简短反馈
适用场景
适合把可复用提示词存放在 PromptLikeEngineer 的用户:让助手按名称直接取用,而不必手动粘贴,并在任务结束后把好用的提示词存回库中。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 18 或更高版本,首次运行需访问 npm 源。需要 PromptLikeEngineer 账号,并通过 promptlike 命令行工具(ple login)登录;未登录时工具仍会加载,但调用会返回未登录提示。需要能访问 promptlikeengineer.com,或 PROMPTLIKE_API_URL 指定的地址。
安装前请注意
提示词保存在 PromptLikeEngineer 账号中并发送到该服务;保存和更新会发送提示词正文,suggest_prompts 会发送任务描述。获取提示词会记录一条使用事件,包含客户端名称和版本。保存受套餐额度限制。没有删除工具,疑似 API 密钥或令牌的内容会被拒绝。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Promptlike Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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 promptlike && 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 promptlike)." 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. Claude fetches one only if it is clearly relevant;
  • needs the CLI (npm i -g promptlike); 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 sends the one short sentence Claude writes, 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 promptlike)."Run npm i -g promptlike && 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.

来源:README.md,提交 cb47acb

工具

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.

输入参数tagpagelimitfolderproject

search_prompts

Search prompts

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

输入参数pagelimitquery必填

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.

输入参数vianame必填labelprojectversion

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.

输入参数name必填labelprojectversionvariables必填

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.

输入参数task必填limit

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

输入参数tagstitle必填foldercontent必填projectdescription

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.

输入参数bumpname必填tagscontentprojectchangelogdescription

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.

输入参数name必填folderprojectto_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.

输入参数typeemailpromptmessage必填

版本历史

6
  1. v0.7.1最新Nov 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

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分