Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
MCP serverCautionAuth & securityBeginner friendly

awesome-mcp-security

Puliczek · Puliczek/awesome-mcp-security

An awesome list providing comprehensive resources and considerations for Model Context Protocol (MCP) security, including best practices for servers and clients.

🔥🔒 Awesome MCP (Model Context Protocol) Security 🖥️

741 stars266License: No licenseUpdated 8 months ago0 opens

Preview

▍

What you can do with it

  • Understand official MCP security considerations and best practices for building secure MCP servers.
  • Learn how to implement proper access controls and input validation for MCP tools.
  • Identify potential security risks and implement client-side safeguards when using MCP tools with AI agents.

Safety check

Caution

Usable, but read the notes first.

  • ●No clear license: check with the author before using it in a commercial product.

Automated scan of the repo files. Always review code you run.

From the README

🤝 Show your support - give a ⭐️ if you liked the content


**Awesome MCP Security **

Everything you need to know about Model Context Protocol (MCP) security.

Table of Contents

📔 Security Considerations

Official Security Considerations from the Official MCP Specification Rev: 2025-03-26

[!NOTE] 15.04.2025: The current MCP auth specification is in progress of being replaced by a more robust specification. Please join the conversation if you have concerns around the current auth specification.

  • Servers MUST:

    • Validate all tool inputs
    • Implement proper access controls
    • Rate limit tool invocations
    • Sanitize tool outputs
  • Clients SHOULD:

    • Prompt for user confirmation on sensitive operations
    • Show tool inputs to the user before calling the server, to avoid malicious or accidental data exfiltration
    • Validate tool results before passing to LLM
    • Implement timeouts for tool calls
    • Log tool usage for audit purposes

[!WARNING]
For trust & safety and security, clients MUST consider tool annotations to be untrusted unless they come from trusted servers.

[!WARNING]
For trust & safety and security, there SHOULD always be a human in the loop* with the ability to deny tool invocations.

Applications SHOULD:

  • Provide UI that makes clear which tools are being exposed to the AI model.
  • Insert clear visual indicators when tools are invoked.
  • Present confirmation prompts to the user for operations, to ensure a human is in the loop.

[!NOTE]
*Human-in-the-Loop (HITL) means that user help monitor and guide automated tasks, like deciding whether to accept tool requests in Cursor.

📃 Papers

📺 Videos

📕 Articles, X threads and Blog Posts

View source on GitHub