1. A computer-implemented method for querying a tag database, comprising: storing the tag database in a storage device; receiving an XML document including a database query written in a query language supported by an agent of the tag database, the query language supporting database features, tag features, and text features, the database query including a request for at least one feature of the query language that is supported by the agent; parsing the XML document to extract the database query from the XML document; accessing, using a processor, the tag database to perform at least one of a read or write operation on the tag database, based on the database query; and in response to receipt of the database query, returning a list of features, the list of features indicating the features of the query language that are supported by the agent, wherein the tag features include tag query language directives, the tag query language directives including at least one of retrieve, aggregate, call, partition, continue, list, override, or return.