diff --git a/bean.info b/bean.info
index e0833eb..4c8ef6f 100644
--- a/bean.info
+++ b/bean.info
@@ -9,6 +9,7 @@ files[] = views/views_handler_filter_bean_type.inc
 files[] = views/views_handler_field_bean_type.inc
 files[] = views/views_handler_field_bean_edit_link.inc
 files[] = views/views_handler_field_bean_delete_link.inc
+files[] = views/views_handler_field_bean_operations.inc
 files[] = bean.test
 dependencies[] = entity
 dependencies[] = ctools
diff --git a/views/bean.views.inc b/views/bean.views.inc
index 76d8a2b..3f23564 100644
--- a/views/bean.views.inc
+++ b/views/bean.views.inc
@@ -1,6 +1,11 @@
 <?php
 
 /**
+ * @file
+ * Alter view data for bean block entity.
+ */
+
+/**
  * Implements hook_views_data_alter().
  */
 function bean_views_data_alter(&$data) {
@@ -30,4 +35,12 @@ function bean_views_data_alter(&$data) {
       'handler' => 'views_handler_field_bean_delete_link',
     ),
   );
+
+  $data['bean']['operations'] = array(
+    'title' => t('Contextual / Operation links'),
+    'help' => t('Display all the available contextual / operation links for the block.'),
+    'field' => array(
+      'handler' => 'views_handler_field_bean_operations',
+    ),
+  );
 }
diff --git a/views/bean.views_default.inc b/views/bean.views_default.inc
new file mode 100644
index 0000000..74f1390
--- /dev/null
+++ b/views/bean.views_default.inc
@@ -0,0 +1,158 @@
+<?php
+
+/**
+ * @file
+ * View for the default bean block list in admin UI.
+ */
+
+/**
+ * Implements hook_views_default_views().
+ */
+function bean_views_default_views() {
+  $views = array();
+
+  $view = new view();
+  $view->name = 'bean_blocks_overview';
+  $view->description = '';
+  $view->tag = 'default';
+  $view->base_table = 'bean';
+  $view->human_name = 'Bean Block Overview';
+  $view->core = 7;
+  $view->api_version = '3.0';
+  $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+
+  /* Display: Master */
+  $handler = $view->new_display('default', 'Defaults', 'default');
+  $handler->display->display_options['title'] = 'Bean Block Overview';
+  /* AJAX is used because form submission does not always work .. see http://drupal.org/node/525592 */
+  $handler->display->display_options['use_ajax'] = TRUE;
+  $handler->display->display_options['access']['type'] = 'perm';
+  $handler->display->display_options['access']['perm'] = 'view bean page';
+  $handler->display->display_options['cache']['type'] = 'none';
+  $handler->display->display_options['query']['type'] = 'views_query';
+  $handler->display->display_options['exposed_form']['type'] = 'basic';
+  $handler->display->display_options['exposed_form']['options']['reset_button'] = TRUE;
+  $handler->display->display_options['exposed_form']['options']['autosubmit'] = 0;
+  $handler->display->display_options['exposed_form']['options']['autosubmit_hide'] = 1;
+  $handler->display->display_options['pager']['type'] = 'full';
+  $handler->display->display_options['pager']['options']['items_per_page'] = '50';
+  $handler->display->display_options['style_plugin'] = 'table';
+  $handler->display->display_options['style_options']['columns'] = array(
+    'title' => 'title',
+    'label' => 'label',
+    'delta' => 'delta',
+    'type' => 'type',
+    'operations' => 'operations',
+    'delete_block' => 'operations',
+  );
+  $handler->display->display_options['style_options']['default'] = 'title';
+  $handler->display->display_options['style_options']['info'] = array(
+    'title' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'label' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'delta' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'type' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'operations' => array(
+      'align' => 'views-align-right',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'delete_block' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+  );
+  /* Field: Block: Title */
+  $handler->display->display_options['fields']['title']['id'] = 'title';
+  $handler->display->display_options['fields']['title']['table'] = 'bean';
+  $handler->display->display_options['fields']['title']['field'] = 'title';
+  /* Field: Block: descripiton */
+  $handler->display->display_options['fields']['label']['id'] = 'label';
+  $handler->display->display_options['fields']['label']['table'] = 'bean';
+  $handler->display->display_options['fields']['label']['field'] = 'label';
+  /* Field: Block: Block Delta */
+  $handler->display->display_options['fields']['delta']['id'] = 'delta';
+  $handler->display->display_options['fields']['delta']['table'] = 'bean';
+  $handler->display->display_options['fields']['delta']['field'] = 'delta';
+  /* Field: Block: Type */
+  $handler->display->display_options['fields']['type']['id'] = 'type';
+  $handler->display->display_options['fields']['type']['table'] = 'bean';
+  $handler->display->display_options['fields']['type']['field'] = 'type';
+  /* Field: Block: Operationslinks */
+  $handler->display->display_options['fields']['operations']['id'] = 'operations';
+  $handler->display->display_options['fields']['operations']['table'] = 'bean';
+  $handler->display->display_options['fields']['operations']['field'] = 'operations';
+  $handler->display->display_options['fields']['operations']['label'] = 'Operations';
+  $handler->display->display_options['fields']['operations']['add_destination'] = 0;
+  /* Field: Block: Delete link */
+  $handler->display->display_options['fields']['delete_block']['id'] = 'delete_link';
+  $handler->display->display_options['fields']['delete_block']['table'] = 'bean';
+  $handler->display->display_options['fields']['delete_block']['field'] = 'delete_link';
+  $handler->display->display_options['fields']['delete_block']['label'] = '';
+  $handler->display->display_options['fields']['delete_block']['element_label_colon'] = FALSE;
+  /* Filter criterion: Block: Type */
+  $handler->display->display_options['filters']['type']['id'] = 'type';
+  $handler->display->display_options['filters']['type']['table'] = 'bean';
+  $handler->display->display_options['filters']['type']['field'] = 'type';
+  $handler->display->display_options['filters']['type']['exposed'] = TRUE;
+  $handler->display->display_options['filters']['type']['expose']['operator_id'] = 'type_op';
+  $handler->display->display_options['filters']['type']['expose']['label'] = 'Type';
+  $handler->display->display_options['filters']['type']['expose']['operator'] = 'type_op';
+  $handler->display->display_options['filters']['type']['expose']['identifier'] = 'type';
+  $handler->display->display_options['filters']['type']['expose']['multiple'] = TRUE;
+  /* Filter criterion: Block: title */
+  $handler->display->display_options['filters']['title']['id'] = 'title';
+  $handler->display->display_options['filters']['title']['table'] = 'bean';
+  $handler->display->display_options['filters']['title']['field'] = 'title';
+  $handler->display->display_options['filters']['title']['operator'] = 'contains';
+  $handler->display->display_options['filters']['title']['exposed'] = TRUE;
+  $handler->display->display_options['filters']['title']['expose']['operator_id'] = 'title_op';
+  $handler->display->display_options['filters']['title']['expose']['label'] = 'Title';
+  $handler->display->display_options['filters']['title']['expose']['operator'] = 'title_op';
+  $handler->display->display_options['filters']['title']['expose']['identifier'] = 'title';
+  /* Filter criterion: Block: Label */
+  $handler->display->display_options['filters']['label']['id'] = 'label';
+  $handler->display->display_options['filters']['label']['table'] = 'bean';
+  $handler->display->display_options['filters']['label']['field'] = 'label';
+  $handler->display->display_options['filters']['label']['operator'] = 'contains';
+  $handler->display->display_options['filters']['label']['exposed'] = TRUE;
+  $handler->display->display_options['filters']['label']['expose']['operator_id'] = 'label_op';
+  $handler->display->display_options['filters']['label']['expose']['label'] = 'Label';
+  $handler->display->display_options['filters']['label']['expose']['operator'] = 'label_op';
+  $handler->display->display_options['filters']['label']['expose']['identifier'] = 'label';
+  /* Display: Bean Block List */
+  $handler = $view->new_display('page', 'Bean Block List', 'admin_page');
+  $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
+  $handler->display->display_options['path'] = 'admin/content/blocks';
+  $handler->display->display_options['menu']['type'] = 'tab';
+  $handler->display->display_options['menu']['title'] = 'Blocks';
+  $handler->display->display_options['menu']['description'] = 'Bean blocks overview';
+  $handler->display->display_options['menu']['weight'] = '0';
+  $handler->display->display_options['menu']['context'] = 0;
+
+  $views[$view->name] = $view;
+
+  return $views;
+}
diff --git a/views/views_handler_field_bean_operations.inc b/views/views_handler_field_bean_operations.inc
new file mode 100644
index 0000000..7ed0277
--- /dev/null
+++ b/views/views_handler_field_bean_operations.inc
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @file
+ * Definition of views_handler_field_bean_operations.
+ */
+
+/**
+ * Field handler to present the contextual links of the bean block.
+ *
+ * @ingroup views_field_handlers
+ */
+class views_handler_field_bean_operations extends views_handler_field_entity {
+
+  function option_definition() {
+    $options = parent::option_definition();
+    $options['add_destination'] = TRUE;
+    return $options;
+  }
+
+  function options_form(&$form, &$form_state) {
+    parent::options_form($form, $form_state);
+
+    $form['add_destination'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Add a destination parameter to contextual / operation links so users return to this View on form submission.'),
+      '#default_value' => $this->options['add_destination'],
+    );
+  }
+
+  function render($values) {
+    if ($entity = $this->get_value($values)) {
+      return $this->render_link($entity);
+    }
+  }
+
+  function render_link($bean) {
+    if (bean_access('edit', $bean)) {
+      // Get the operations links.
+      $links = menu_contextual_links('bean', 'block', array($bean->delta));
+
+      if (!empty($links)) {
+        // Add the destination to the links if specified.
+        if ($this->options['add_destination']) {
+          foreach ($links as $id => &$link) {
+            $link['query'] = drupal_get_destination();
+          }
+        }
+
+        return theme('links', array('links' => $links, 'attributes' => array('class' => array('links', 'inline', 'operations'))));
+      }
+    }
+  }
+}
