@masaki39/prompts-mcp
v2.0.0
Published
Model Context Protocol server that registers Markdown prompts as callable tools or slash commands.
Maintainers
Readme
prompts-mcp
Simple MCP server that turns Markdown files into MCP tools or prompts (slash commands).
Features
- Path-based naming: File structure determines the tool/prompt name (e.g.,
project/feature.md→project/feature) - Multiple registration modes: Register as tools, prompts (slash commands), or both
Prompt format
Each Markdown file is parsed once at startup. The file path becomes the tool/prompt name:
- Root level:
file.md→file - Nested:
project/feature.md→project/feature
YAML frontmatter controls metadata:
---
description: Produce a concise project brief.
enabled: true
---
Prompt body goes here...description– optional tool/prompt description (defaults to "Prompt defined in …")enabled– defaults totrue; set tofalseto disable
MCP config examples
As prompts (slash commands)
{
"mcpServers": {
"prompts-mcp": {
"command": "npx",
"args": [
"-y",
"@masaki39/prompts-mcp@latest",
"--register-as=prompt"
],
"env": {
"PROMPTS_DIR": "/absolute/path/to/prompts"
}
}
}
}As tools (backward compatible)
{
"mcpServers": {
"prompts-mcp": {
"command": "npx",
"args": ["-y", "@masaki39/prompts-mcp@latest"],
"env": {
"PROMPTS_DIR": "/absolute/path/to/prompts"
}
}
}
}As both tools and prompts
{
"mcpServers": {
"prompts-mcp": {
"command": "npx",
"args": [
"-y",
"@masaki39/prompts-mcp@latest",
"--register-as=both"
],
"env": {
"PROMPTS_DIR": "/absolute/path/to/prompts"
}
}
}
}Command-line options
--register-as=MODE- Registration mode:tool,prompt, orboth(default:tool)tool: Register as MCP tools (backward compatible with v1.x)prompt: Register as MCP prompts (for slash commands like/project/feature)both: Register as both tools and prompts
--help,-h- Show help message
Environment variables
PROMPTS_DIR(required) - Directory containing.mdprompt filesREGISTER_AS- Same as--register-asoption (CLI argument takes precedence)
Examples
File structure:
prompts/
├── brief.md → brief
├── review.md → review
└── project/
├── init.md → project/init
└── deploy.md → project/deployUsing as slash commands:
/brief
/review
/project/init
/project/deploy