Adding Remote Tag Provider

Is there an API for adding/editing tag-providers programmatically? I’m assuming that editing the database directly is a bad idea - unless that process is documented somewhere…?