MCP 提示探索器服务器 🚀
一个全面的模型上下文协议(MCP)服务器,用于展示 提示功能 带有10个不同的以开发为中心的提示。此服务器非常适合探索MCP提示的工作原理,并且可以集成到像Claude Desktop这样的大型语言模型(LLM)应用中。
📋 什么是MCP提示?
MCP提示是预配置的、可重用的模板,LLM(大型语言模型)应用程序可以使用它们。它们:
- 标准化常见任务创建一致的工作流程
- 接受参数根据您的需求动态调整的提示
- 提供结构格式良好的提示语以获得更好的结果
- 节省时间无需从头开始编写提示语
✨ 特点/功能
这台服务器包含10个强大的提示功能:
- 🔍 代码审查 - 全面的代码审查,重点关注区域
- 📚 解释概念 - 技术概念讲解并举例说明
- 🐛 调试助手 - 带错误分析的调试代码
- 📖 API文档 生成API文档
- ♻️ 重构建议 - 代码重构建议
- 🧪 测试生成器 - 生成单元测试
- 🏗️ 架构评审 - 系统架构分析
- 💬 git提交信息 - 生成提交信息
- ⚡ SQL优化器 - SQL查询优化
- 🎓 学习路径 - 个性化学习路径
🚀 快速入门
先决条件
- Python 3.10或更高版本
- pip 或 uv 包管理器
安装
选项1:使用紫外线(推荐)
# 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选项2:使用pip
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install mcp运行服务器
uv run server.py🔧 与Claude桌面版的集成
要在Claude Desktop中使用此服务器,请将其添加到您的配置中:
macOS/Linux 配置
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"prompt-explorer": {
"command": "python",
"args": ["/absolute/path/to/mcp_prompt_explorer_server.py"],
"env": {}
}
}
}Windows 配置
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"prompt-explorer": {
"command": "python",
"args": ["C:\\absolute\\path\\to\\mcp_prompt_explorer_server.py"],
"env": {}
}
}
}重要的替换 /absolute/path/to/ 以及你保存服务器文件的实际路径。
与UV配合使用(备选方案)
如果使用紫外线(UV),您可以这样配置它:
{
"mcpServers": {
"prompt-explorer": {
"command": "uv",
"args": [
"run",
"--with",
"mcp",
"python",
"/absolute/path/to/mcp_prompt_explorer_server.py"
]
}
}
}📖 使用示例
一旦与Claude Desktop集成,您就可以使用如下提示:
示例1:代码审查
Use the code-review prompt with this Python code:
def calculate(a, b):
return a + b该提示将自动格式化一个全面的代码审查请求。
示例2:解释一个概念
Use the explain-concept prompt to explain "async/await in Python"
for a beginner audience with code examples示例3:调试辅助
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示例4:生成测试
Use the test-generator prompt with comprehensive coverage
for this function:
def factorial(n):
if n <= 1:
return 1
return n * factorial(n - 1)🎯 理解提示参数
每个提示都有特定的参数:
必需参数
这些是确保提示能正常工作的必要条件。
可选参数
这些用于自定义提示行为,但具有默认值。
来自(某处/某人的)示例 code-review 提示:
code(必填)- 需要审查的代码language(可选)- 编程语言focus(可选)- 具体关注领域
🔍 探索代码
关键组件
list_prompts()- 返回所有可用的提示
- 当客户端查询可用提示时调用 - 返回包含参数的提示元数据
get_prompt()- 返回一个带有填充参数的特定提示
- 获取提示名称和参数值 - 返回格式化后的提示信息
- 提示结构:
Prompt(
name="prompt-name",
description="What this prompt does",
arguments=[
PromptArgument(
name="arg_name",
description="What this argument is for",
required=True/False,
),
],
)🛠️ 自定义提示
想添加自己的提示吗?方法如下:
- 添加到
list_prompts():
Prompt(
name="my-custom-prompt",
description="My awesome prompt",
arguments=[
PromptArgument(
name="input",
description="Input data",
required=True,
),
],
)- 添加处理程序到
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}"
),
),
],
)📚 学习资源
🎨 提示最佳实践
基于此服务器的实现:
- 清晰的结构使用编号列表和标题
- 具体指示明确表达你的需求
- 示例在有帮助的情况下提供示例
- 格式化使用XML标签或Markdown以提高清晰度
- 灵活性支持带有合理默认值的可选参数
🐛 故障排除
服务器未在Claude桌面显示
- 检查配置文件语法(有效的JSON)
- 验证服务器文件的绝对路径
- 确保 Python/UV 已添加到系统路径中
- 配置更改后重启Claude桌面版
- 检查Claude Desktop日志
导入错误
# Make sure mcp is installed
pip install mcp
# or
uv add mcpPython版本问题
确保您使用的是 Python 3.10 或更高版本:
python --version💡 使用提示的技巧
- 从简单开始尝试仅使用必需参数的提示
- 添加详细信息使用可选参数来细化结果
- 迭代根据结果调整参数
- 结合对于复杂任务,使用多个提示
🔄 接下来是什么?
尝试这些练习,以更深入地了解MCP提示:
- 修改 一个现有的提示模板
- 添加 针对您特定使用场景的新提示
- 合并 工作流中的提示
- 创造 参数验证逻辑
- 添加 多轮对话提示
📝 许可证
这是一个用于学习MCP提示的演示项目。请随意使用、修改和扩展它!
🤝 贡献
这是一个学习项目!请随意:
- 添加新提示
- 改进现有模板
- 添加功能(资源、工具)
- 分享您的自定义设置
______________________________________________________________________
快乐提示! 🎉
需要帮助吗?代码中附有大量注释,帮助你理解一切是如何工作的。
