My Prompts MCP
Lightweight MCP server that serves user prompts defined in Markdown files, with support for arguments.
Keep your prompt .md files in a repository — a dedicated git repo or a folder in an existing one —and connect that directory to your AI client via this MCP server. This way your prompts are versioned,shareable, and easy to update across machines and team members.
Example of My Prompts MCP usage with Cherry Studio:
https://github.com/user-attachments/assets/32dfa36d-657f-4b9b-8086-c7a00ffe3185
[!IMPORTANT]This project is developed and maintained by Sergei Predvoditelev.Community support helps keep the project actively developed and well maintained.You can support the project using the following services:
Thank you for your support ❤️
General Usage
Installation
Download the binary for your platform from GitHub Releases.
Create a prompt
Create a .md file in your prompts directory, for example greet.md:
---
description: Greet a person by name
arguments:
- name: name
description: The person's name
required: true
---
Please greet {{name}} in a friendly and professional way.
Connecting to an MCP client
Add the following to your MCP client configuration (stdio transport):
{
"mcpServers": {
"my-prompts-mcp": {
"command": "/path/to/my-prompts-mcp",
"args": ["--path=/path/to/prompts"]
}
}
}
Claude Desktop
Edit the claude_desktop_config.json file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Add the snippet above to the file, then restart Claude Desktop.
Cherry StudioOpen Settings → MCP Servers, click Add, and fill in the server command and arguments from the snippet above.
Documentation
Prompt file format
Each .md file in the configured directory is exposed as a prompt. The file name without the .md extension is used asthe prompt name by default.
Front matter fields
Optional YAML front matter at the top of the file controls how the prompt is presented to the client.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | No | Prompt name. Defaults to the filename without extension. |
title |
string | No | Human-readable title. |
description |
string | No | Short description shown to the AI client. |
arguments |
list | No | List of arguments (see below). |
Arguments
Arguments can be defined in two forms:
Simple (name only):
arguments:
- arg_name
Full object:
arguments:
- name: arg_name
description: What this argument means
required: true
Each argument field:
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Argument name. |
description |
string | No | Description of the argument. |
required |
boolean | No | Whether the argument is required. Defaults to false. |
[!IMPORTANT]Prompts without arguments or with one argument are supported by almost all MCP clients. Prompts withtwo or more arguments are not universally supported. Known clients that do support multiple arguments:
Placeholders
Use {{arg_name}} in the prompt body. Placeholders are substituted with the argument values provided at request time.
Example prompt file
---
name: name-generator
title: Name Generator
description: Generate a name for a product, project, or company
arguments:
- name: description
description: What needs to be named (product, project, company, etc.)
required: true
- name: style
description: Naming style (e.g. minimalist, creative, technical, playful)
required: false
---
Generate 10 name ideas for: {{description}}.
{{style}}
Requirements for the names:
- Easy to remember and pronounce
- Suitable for use as a domain name
- Unique and distinctive
For each name provide a one-line explanation of why it works.
License
The "My Prompts MCP" is free software. It is released under the terms of the BSD License.Please see LICENSE for more information.