MCP Prompt Explorer Server ๐
A comprehensive Model Context Protocol (MCP) server that demonstrates the prompt feature with 10 different development-focused prompts. This server is perfect for exploring how MCP prompts work and can be integrated into LLM applications like Claude Desktop.
๐ What are MCP Prompts?
MCP prompts are pre-configured, reusable templates that LLM applications can use. They:
- Standardize common tasks: Create consistent workflows
- Accept arguments: Dynamic prompts that adapt to your needs
- Provide structure: Well-formatted prompts for better results
- Save time: No need to craft prompts from scratch
โจ Features
This server includes 10 powerful prompts:
- ๐ code-review - Comprehensive code review with focus areas
- ๐ explain-concept - Technical concept explanation with examples
- ๐ debug-assistant - Debug code with error analysis
- ๐ api-documentation - Generate API documentation
- โป๏ธ refactor-suggestion - Code refactoring recommendations
- ๐งช test-generator - Generate unit tests
- ๐๏ธ architecture-review - System architecture analysis
- ๐ฌ git-commit-message - Generate commit messages
- โก sql-optimizer - SQL query optimization
- ๐ learning-path - Personalized learning paths
๐ Quick Start
Prerequisites
- Python 3.10 or higher
- pip or uv package manager
Installation
Option 1: Using UV (Recommended)
# Install UV if you haven't already
pip install uv
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install mcp
Option 2: Using pip
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install mcp
Running the Server
uv run server.py
๐ง Integration with Claude Desktop
To use this server with Claude Desktop, add it to your configuration:
macOS/Linux Configuration
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"prompt-explorer": {
"command": "python",
"args": ["/absolute/path/to/mcp_prompt_explorer_server.py"],
"env": {}
}
}
}
Windows Configuration
Edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"prompt-explorer": {
"command": "python",
"args": ["C:\\absolute\\path\\to\\mcp_prompt_explorer_server.py"],
"env": {}
}
}
}
Important: Replace /absolute/path/to/ with the actual path where you saved the server file.
Using with UV (Alternative)
If using UV, you can configure it like this:
{
"mcpServers": {
"prompt-explorer": {
"command": "uv",
"args": [
"run",
"--with",
"mcp",
"python",
"/absolute/path/to/mcp_prompt_explorer_server.py"
]
}
}
}
๐ Usage Examples
Once integrated with Claude Desktop, you can use prompts like this:
Example 1: Code Review
Use the code-review prompt with this Python code:
def calculate(a, b):
return a + b
The prompt will automatically format a comprehensive code review request.
Example 2: Explain a Concept
Use the explain-concept prompt to explain "async/await in Python"
for a beginner audience with code examples
Example 3: Debug Assistance
Use the debug-assistant prompt with this error:
"TypeError: unsupported operand type(s) for +: 'int' and 'str'"
And this code:
x = 5
y = "10"
result = x + y
Example 4: Generate Tests
Use the test-generator prompt with comprehensive coverage
for this function:
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)
๐ฏ Understanding Prompt Arguments
Each prompt has specific arguments:
Required Arguments
These must be provided for the prompt to work.
Optional Arguments
These customize the prompt behavior but have defaults.
Example from the code-review prompt:
code(required) - The code to reviewlanguage(optional) - Programming languagefocus(optional) - Specific focus area
๐ Exploring the Code
Key Components
list_prompts()- Returns all available prompts
- Called when client queries available prompts
- Returns prompt metadata including arguments
get_prompt()- Returns a specific prompt with arguments filled in
- Takes prompt name and argument values
- Returns formatted prompt message
- Prompt Structure:
Prompt(
name="prompt-name",
description="What this prompt does",
arguments=[
PromptArgument(
name="arg_name",
description="What this argument is for",
required=True/False,
),
],
)
๐ ๏ธ Customizing Prompts
Want to add your own prompts? Here's how:
- Add to
list_prompts():
Prompt(
name="my-custom-prompt",
description="My awesome prompt",
arguments=[
PromptArgument(
name="input",
description="Input data",
required=True,
),
],
)
- Add handler in
get_prompt():
elif name == "my-custom-prompt":
input_data = arguments.get("input", "")
return GetPromptResult(
description="Custom prompt result",
messages=[
PromptMessage(
role="user",
content=TextContent(
type="text",
text=f"Process this: {input_data}"
),
),
],
)
๐ Learning Resources
๐จ Prompt Best Practices
Based on this server's implementation:
- Clear Structure: Use numbered lists and headers
- Specific Instructions: Be explicit about what you want
- Examples: Provide examples when helpful
- Formatting: Use XML tags or markdown for clarity
- Flexibility: Support optional arguments with sensible defaults
๐ Troubleshooting
Server Not Showing Up in Claude Desktop
- Check configuration file syntax (valid JSON)
- Verify absolute path to server file
- Ensure Python/UV is in PATH
- Restart Claude Desktop after configuration changes
- Check Claude Desktop logs
Import Errors
# Make sure mcp is installed
pip install mcp
# or
uv add mcp
Python Version Issues
Ensure you're using Python 3.10+: ``bash python --version ``
๐ก Tips for Using Prompts
- Start Simple: Try prompts with just required arguments
- Add Details: Use optional arguments to refine results
- Iterate: Adjust arguments based on results
- Combine: Use multiple prompts for complex tasks
๐ What's Next?
Try these exercises to learn more about MCP prompts:
- Modify an existing prompt template
- Add a new prompt for your specific use case
- Combine prompts in workflows
- Create argument validation logic
- Add multi-turn conversation prompts
๐ License
This is a demonstration project for learning about MCP prompts. Feel free to use, modify, and extend it!
๐ค Contributing
This is a learning project! Feel free to:
- Add new prompts
- Improve existing templates
- Add features (resources, tools)
- Share your customizations
---
Happy Prompting! ๐
Need help? The code is heavily commented to help you understand how everything works.






