MCP服务器最佳实践
模型上下文协议(MCP)服务器,为使用FastAPI的通用编码和API开发提供Python编码最佳实践和指南。
特性
- 搜索最佳实践:按关键字搜索所有类别
- 类别浏览:按类别探索实践(通用编码、fastapi_specific、性能、代码质量)
- 代码示例:获取特定主题的实用代码示例
- 代码审查:根据最佳实践分析代码,并提出具体建议
- 改进建议:通过前后示例获得优先、可操作的改进
- MCP资源:通过URI访问最佳实践(例如。,
bestpractices://fastapi/async_operations) - 预构建提示:快速访问常见任务,如代码审查和示例
安装
pip install -r requirements.txt配置
服务器支持以下环境变量:
BEST_PRACTICES_FILE:最佳实践JSON文件的路径(默认值:data/python_best_practices.json)LOG_LEVEL:日志记录级别(默认值:INFO)
例子:
export BEST_PRACTICES_FILE=/path/to/custom_practices.json
export LOG_LEVEL=DEBUG运行服务器
python bestpractices_mcp_server.py使用Kiro IDE
- 将服务器添加到MCP配置中(
.kiro/settings/mcp.json):
{
"mcpServers": {
"bestpractices": {
"command": "python",
"args": ["/path/to/bestpractices_mcp_server.py"],
"env": {
"BEST_PRACTICES_FILE": "data/python_best_practices.json"
}
}
}
}- 重新启动Kiro IDE或重新连接MCP服务器
- 在AI助手对话中使用这些工具
可用工具
搜索_测试_实践
按关键字搜索最佳实践。
search_best_practices(keyword="async")get_practice_by_category
获取特定类别或主题的练习。
get_practice_by_category(category="fastapi_specific", topic="pydantic_models")列表_类别
列出所有可用类别。
list_categories()get_examples_tool
获取特定主题的代码示例。
get_examples_tool(topic="type_hints")review_code
对照最佳实践审查代码。
review_code(code="def test(): pass", context="general")建议改进
获取代码的改进建议。
suggest_improvements(code="def test(): pass", focus_area="type_hints")可用资源
直接通过URI访问最佳实践:
bestpractices://general/{topic}-Python的一般实践bestpractices://fastapi/{topic}-FastAPI特定实践bestpractices://performance/{topic}-性能优化bestpractices://code_quality/{topic}-代码质量实践bestpractices://all-完整指南
可用提示
review_python_code-全面的Python代码审查review_fastapi_endpoint-FastAPI特定代码审查suggest_code_improvements-获取改进建议show_examples-检索主题的示例
最佳实践数据库
服务器读取 data/python_best_practices.json 其包含:
- 通用编码:命名约定、类型提示、错误处理、文档、代码组织
- fastapi_特定:路由、Pydantic模型、依赖注入、异步操作、中间件、安全
- 演出:缓存、数据库优化
- 代码质量:打毛、伐木
每次请求时都会动态读取数据库,因此更新会立即反映出来,而无需重新启动服务器。
例子
这 examples/ 目录包含演示服务器功能的使用示例:
- search_example.py -按关键字搜索最佳实践
- code_review_example.py -根据最佳实践审查代码
- resource_access_example.py -通过类别和主题访问实践
运行示例:
python examples/search_example.py
python examples/code_review_example.py
python examples/resource_access_example.py看 examples/README.md 详细文档。
发展
运行测试
pytest test_data_manager.py -v添加新的最佳实践
编辑 data/python_best_practices.json 并按照以下结构添加您的实践:
{
"python_best_practices": {
"category_name": {
"topic_name": {
"description": "Description of the practice",
"examples": {
"example_name": "code example"
}
}
}
}
}故障排除
服务器无法启动
- 检查
data/python_best_practices.json存在 - 验证JSON文件是否有效
- 检查文件权限
搜索无结果
- 验证数据库中是否存在关键字
- 尝试更广泛的搜索词
- 使用
list_categories()查看可用主题
工具未出现在Kiro中
- 验证MCP配置是否正确
- 重新启动Kiro IDE
- 检查服务器日志是否有错误
许可证
MIT许可证
