Provides Python coding best practices and guidelines specifically for FastAPI development, including practices for routes, Pydantic models, dependency injection, async operations, middleware, and security
Offers best practices and code examples for working with Pydantic models in FastAPI applications
Delivers comprehensive Python coding best practices covering naming conventions, type hints, error handling, documentation, code organization, performance optimization, and code quality standards
Best Practices MCP Server
A Model Context Protocol (MCP) server that provides Python coding best practices and guidelines for general coding and API development using FastAPI.
Features
Search Best Practices: Search by keyword across all categories
Category Browsing: Explore practices by category (general_coding, fastapi_specific, performance, code_quality)
Code Examples: Get practical code examples for specific topics
Code Review: Analyze code against best practices with specific recommendations
Improvement Suggestions: Get prioritized, actionable improvements with before/after examples
MCP Resources: Access best practices via URI (e.g.,
bestpractices://fastapi/async_operations)Pre-built Prompts: Quick access to common tasks like code review and examples
Installation
Configuration
The server supports the following environment variables:
BEST_PRACTICES_FILE: Path to the best practices JSON file (default:data/python_best_practices.json)LOG_LEVEL: Logging level (default:INFO)
Example:
Running the Server
Usage with Kiro IDE
Add the server to your MCP configuration (
.kiro/settings/mcp.json):
Restart Kiro IDE or reconnect the MCP server
Use the tools in your AI assistant conversations
Available Tools
search_best_practices
Search for best practices by keyword.
get_practice_by_category
Get practices for a specific category or topic.
list_categories
List all available categories.
get_examples_tool
Get code examples for a specific topic.
review_code
Review code against best practices.
suggest_improvements
Get improvement suggestions for code.
Available Resources
Access best practices directly via URI:
bestpractices://general/{topic}- General Python practicesbestpractices://fastapi/{topic}- FastAPI-specific practicesbestpractices://performance/{topic}- Performance optimizationbestpractices://code_quality/{topic}- Code quality practicesbestpractices://all- Complete guide
Available Prompts
review_python_code- Comprehensive Python code reviewreview_fastapi_endpoint- FastAPI-specific code reviewsuggest_code_improvements- Get improvement suggestionsshow_examples- Retrieve examples for a topic
Best Practices Database
The server reads from data/python_best_practices.json which contains:
general_coding: Naming conventions, type hints, error handling, documentation, code organization
fastapi_specific: Routes, Pydantic models, dependency injection, async operations, middleware, security
performance: Caching, database optimization
code_quality: Linting, logging
The database is read dynamically on each request, so updates are reflected immediately without restarting the server.
Examples
The examples/ directory contains usage examples demonstrating the server's functionality:
search_example.py - Search for best practices by keyword
code_review_example.py - Review code against best practices
resource_access_example.py - Access practices via categories and topics
Run examples:
See examples/README.md for detailed documentation.
Development
Running Tests
Adding New Best Practices
Edit data/python_best_practices.json and add your practices following the structure:
Troubleshooting
Server won't start
Check that
data/python_best_practices.jsonexistsVerify the JSON file is valid
Check file permissions
No results from search
Verify the keyword exists in the database
Try broader search terms
Use
list_categories()to see available topics
Tools not appearing in Kiro
Verify MCP configuration is correct
Restart Kiro IDE
Check server logs for errors
License
MIT License