# Awesome MCP Best Practices

A curated, opinionated set of recommendations for building Model Context Protocol servers and clients, covering tool naming, architecture, testing, deployment, security and performance.

Awesome MCP Best Practices is a curated, opinionated list of practices for building Model Context Protocol servers and clients. Each entry contrasts a problematic pattern with a recommended one and explains why the recommendation matters, for example why inconsistent tool naming can stop a client from discovering a tool, or why a tool description should list aliases so a model recognizes a request phrased differently than the tool's own name.

Sections cover tool naming standards and aliases, writing rich server instructions, abstracting server capabilities instead of mapping an API one to one onto tools, testing, packaging a server as a Docker container, securing server code and dependencies, avoiding descriptive errors that could leak information, caching costly tools, and graceful timeouts and observability. A section on MCP client best practices is planned but not yet written.

Website: https://github.com/lirantal/awesome-mcp-best-practices
