Skip to main content
Glama
n-ochs

Best Practices MCP Server

by n-ochs

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

  • 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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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