Skip to main content
Glama

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

pip install -r requirements.txt

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:

export BEST_PRACTICES_FILE=/path/to/custom_practices.json export LOG_LEVEL=DEBUG

Running the Server

python bestpractices_mcp_server.py

Usage with Kiro IDE

  1. Add the server to your MCP configuration (.kiro/settings/mcp.json):

{ "mcpServers": { "bestpractices": { "command": "python", "args": ["/path/to/bestpractices_mcp_server.py"], "env": { "BEST_PRACTICES_FILE": "data/python_best_practices.json" } } } }
  1. Restart Kiro IDE or reconnect the MCP server

  2. Use the tools in your AI assistant conversations

Available Tools

search_best_practices

Search for best practices by keyword.

search_best_practices(keyword="async")

get_practice_by_category

Get practices for a specific category or topic.

get_practice_by_category(category="fastapi_specific", topic="pydantic_models")

list_categories

List all available categories.

list_categories()

get_examples_tool

Get code examples for a specific topic.

get_examples_tool(topic="type_hints")

review_code

Review code against best practices.

review_code(code="def test(): pass", context="general")

suggest_improvements

Get improvement suggestions for code.

suggest_improvements(code="def test(): pass", focus_area="type_hints")

Available Resources

Access best practices directly via URI:

  • bestpractices://general/{topic} - General Python practices

  • bestpractices://fastapi/{topic} - FastAPI-specific practices

  • bestpractices://performance/{topic} - Performance optimization

  • bestpractices://code_quality/{topic} - Code quality practices

  • bestpractices://all - Complete guide

Available Prompts

  • review_python_code - Comprehensive Python code review

  • review_fastapi_endpoint - FastAPI-specific code review

  • suggest_code_improvements - Get improvement suggestions

  • show_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:

python examples/search_example.py python examples/code_review_example.py python examples/resource_access_example.py

See examples/README.md for detailed documentation.

Development

Running Tests

pytest test_data_manager.py -v

Adding New Best Practices

Edit data/python_best_practices.json and add your practices following the structure:

{ "python_best_practices": { "category_name": { "topic_name": { "description": "Description of the practice", "examples": { "example_name": "code example" } } } } }

Troubleshooting

Server won't start

  • Check that data/python_best_practices.json exists

  • Verify 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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/n-ochs/best-practice-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server