Skip to main content
Return a schema.Schema from get_schema() to let Niblet clients render the configuration experience. Every field needs a stable id, clear name, concise description, and a safe default when the type supports one. IDs become stored configuration keys; do not repurpose an existing ID for a different meaning.

Dynamic fields

Generated, typeahead, and location-backed fields call only the handler declared for that field. The client sends field-scoped input rather than executing arbitrary app code.

Protected values

Credentials and OAuth grants are stored separately, omitted from ordinary read responses, and exposed only to the approved hosted render boundary. MCP cannot read or write those values.