mcp_authorization v0.7.1

How it works

Different users hitting the same endpoint can see different tools, different descriptions, different input fields, and different output shapes.

  1. MCP client sends a request to /mcp/:domain
  2. Engine calls your context_builder with the request
  3. ToolRegistry filters tools by domain tag and authorization gate (can? check)
  4. RbsSchemaCompiler loads shared types from # @rbs import declarations
  5. Input schema is compiled from the #: annotation on def call, filtering @requires params
  6. Output schema is compiled from @rbs type output, filtering @requires variants
  7. MCP client receives tool definitions with schemas tailored to the current user

Different users hitting the same endpoint can see different tools, different descriptions, different input fields, and different output shapes.

Collected from README.md in the repository. Edit it there, not here.