How it works
Different users hitting the same endpoint can see different tools, different descriptions, different input fields, and different output shapes.
- MCP client sends a request to
/mcp/:domain - Engine calls your
context_builderwith the request ToolRegistryfilters tools by domain tag andauthorizationgate (can?check)RbsSchemaCompilerloads shared types from# @rbs importdeclarations- Input schema is compiled from the
#:annotation ondef call, filtering@requiresparams - Output schema is compiled from
@rbs type output, filtering@requiresvariants - 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.