search_promptsLABSCO SUMMARY
Your prompts live in git, and the search is honest about its ceiling.
Storing prompts as frontmattered Markdown in a repository means review, history and sharing come for free. The README is unusually candid about where it stops: search is linear across files with no native semantic search on GitHub's side, and performance degrades past 100+ prompts — with an index file suggested as the next step at 200–1000. Add a token before anything else; the rate limit is the first wall people hit.
What it is
An MCP server that treats a GitHub repository as your prompt library. Prompts are Markdown files with YAML frontmatter — name, title, category, tags, difficulty, arguments — and the server fetches, searches and composes them, with Handlebars-style variables filled at use time. It is an enhanced fork of prompts-mcp-server, with the GitHub integration being the addition.
What you get
- Prompts found by keyword, category or tag — the entry point the tool descriptions push you to use first —
search_prompts - The available categories listed with counts, so you can browse rather than guess —
list_prompt_categories - A specific prompt retrieved in full by its exact name —
get_prompt - Several prompts combined into one workflow —
compose_prompts - New prompts written back into the GitHub repository from the client —
create_github_prompt - Contextual guidance, and a connection check for when GitHub is the thing that is broken —
prompts_help,check_github_status - Resource endpoints for browsing and discovery alongside the tools, plus dynamic templates with Handlebars support
Requirements
Node.js 18+, git, and a GitHub repository holding your prompts. Configuration is environment-driven: GITHUB_OWNER and GITHUB_REPO are required, GITHUB_BRANCH defaults to main, GITHUB_PATH scopes to a subdirectory, and GITHUB_TOKEN is strongly recommended — without one you are on GitHub's unauthenticated limit of 60 requests/hour instead of 5,000, and each directory fetch costs one. CACHE_TTL defaults to 5 min and CACHE_REFRESH_INTERVAL to 1 min; raise them if you are hitting limits. Clone, npm install, npm run build, then point your client at dist/index.js by absolute path.
Setup effort
Build from source — git clone https://github.com/jezweb/smart-prompts-mcp.git
USE CASES
Finding a prompt you know your team already wrote
Search by keyword or tag, then retrieve the winner by its exact name rather than opening the repo in a browser.
Seeing what the library actually covers
List the categories with their counts to find the gaps before writing anything new.
Building a longer workflow from pieces
Combine several existing prompts into one instead of pasting them together by hand each time.
Adding a prompt that turned out well
Write it back into the GitHub repository from the client, so the next person searching finds it.
Working out why nothing is coming back
Check the GitHub connection first — a missing token, the wrong subdirectory path or files without frontmatter are the three documented causes.
7 tools
Listed in project docs. Your client may show a different list.
list_prompt_categoriesget_promptcreate_github_promptcompose_promptsprompts_helpcheck_github_statusBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- Node.js 18+
- GITHUB_OWNER in your environment
- GITHUB_REPO in your environment
Optional
GITHUB_TOKEN in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
# Clone the repository
git clone https://github.com/jezweb/smart-prompts-mcp.git
cd smart-prompts-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Verify installation
./verify-install.shMCP Clients
Claude Desktop — macOS, Roo Code
{
"mcpServers": {
"smart-prompts": {
"command": "node",
"args": [
"<YOUR_PATH_TO_SMART_PROMPTS_MCP>/dist/index.js"
],
"env": {
"GITHUB_OWNER": "<YOUR_GITHUB_OWNER>",
"GITHUB_REPO": "<YOUR_GITHUB_REPO>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}