def METHOD_NAME(self, streams: List[str] = None) -> Catalog:
    client = build_client(self.config)
    database = self.config['database']
    schema = extract_pymongo_client_schema(
        client,
        database_names=[database],
        collection_names=streams,
    )
    catalog_entries = []
    for stream_id, data1 in schema[database].items():
        properties = {}
        for column, data2 in data1['object'].items():
            mongo_type_orig = data2['type']
            column_type = COLUMN_TYPE_STRING
            column_format = None
            # https://github.com/pajachiet/pymongo-schema/blob/master/pymongo_schema/mongo_sql_types.py#L147
            if mongo_type_orig in ['biginteger', 'integer']:
                column_type = COLUMN_TYPE_INTEGER
            elif 'boolean' == mongo_type_orig:
                column_type = COLUMN_TYPE_BOOLEAN
            elif 'date' == mongo_type_orig:
                column_type = COLUMN_TYPE_STRING
                column_format = COLUMN_FORMAT_DATETIME
            elif mongo_type_orig in [
                'dbref',
                'oid',
                'string',
            ]:
                column_type = COLUMN_TYPE_STRING
            elif mongo_type_orig in ['float', 'number']:
                column_type = COLUMN_TYPE_NUMBER
            prop = dict(
                type=[
                    COLUMN_TYPE_NULL,
                    column_type,
                ],
            )
            if column_format:
                prop['format'] = column_format
            properties[column] = prop
        schema = catalog.Schema.from_dict(dict(
            properties=properties,
            type='object',
        ))
        catalog_entries.append(self.build_catalog_entry(
            stream_id,
            schema,
        ))
    return Catalog(catalog_entries)