Skip to main content
Glama

MCP Server

by hburgoyne
dashboard.html6.78 kB
{% extends 'base.html' %} {% block title %}Picard MCP - Dashboard{% endblock %} {% block content %} <div class="row mb-4"> <div class="col-md-12"> <h1>Dashboard</h1> <p class="lead">Manage your memories and MCP connection.</p> </div> </div> <div class="row mb-4"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3>MCP Server Connection</h3> </div> <div class="card-body"> {% if connected %} {% if token_expired %} <div class="alert alert-warning"> <p>Your connection to the MCP server has expired.</p> <a href="{% url 'refresh_token' %}" class="btn btn-warning">Refresh Connection</a> </div> {% else %} <div class="alert alert-success"> <p>You are connected to the MCP server.</p> <a href="{% url 'refresh_token' %}" class="btn btn-outline-success">Refresh Connection</a> </div> {% endif %} {% else %} <div class="alert alert-info"> <p>You are not connected to the MCP server. Connect to create and manage memories.</p> <a href="{% url 'oauth_authorize' %}" class="btn btn-primary">Connect to MCP Server</a> </div> {% endif %} </div> </div> </div> </div> <div class="row mb-4"> <div class="col-md-12"> <div class="card"> <div class="card-header d-flex justify-content-between align-items-center"> <h3>Your Memories</h3> <div> <a href="{% url 'create_memory' %}" class="btn btn-primary">Create Memory</a> <a href="{% url 'sync_memories' %}" class="btn btn-secondary">Sync Memories</a> </div> </div> <div class="card-body"> {% if memories %} <div class="row"> {% for memory in memories %} <div class="col-md-6"> <div class="card memory-card {% if memory.is_expired %}expired{% endif %} {{ memory.permission }}"> <div class="card-header d-flex justify-content-between align-items-center"> <span> <span class="badge {% if memory.permission == 'private' %}bg-danger{% else %}bg-success{% endif %}"> {{ memory.permission|title }} </span> {% if memory.is_expired %} <span class="badge bg-warning">Expired</span> {% endif %} </span> <div> <a href="{% url 'edit_memory' memory.id %}" class="btn btn-sm btn-outline-primary">Edit</a> <button type="button" class="btn btn-sm btn-outline-danger" data-bs-toggle="modal" data-bs-target="#deleteModal{{ memory.id }}">Delete</button> </div> </div> <div class="card-body"> <p class="card-text">{{ memory.text }}</p> <p class="card-text"> <small class="text-muted"> Created: {{ memory.created_at|date:"M d, Y H:i" }} {% if memory.expiration_date %} <br>Expires: {{ memory.expiration_date|date:"M d, Y H:i" }} {% endif %} </small> </p> </div> </div> <!-- Delete Modal --> <div class="modal fade" id="deleteModal{{ memory.id }}" tabindex="-1" aria-labelledby="deleteModalLabel{{ memory.id }}" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="deleteModalLabel{{ memory.id }}">Confirm Delete</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <p>Are you sure you want to delete this memory?</p> <p><strong>{{ memory.text|truncatechars:100 }}</strong></p> <p>This action cannot be undone.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button> <form method="post" action="{% url 'delete_memory' memory.id %}"> {% csrf_token %} <button type="submit" class="btn btn-danger">Delete</button> </form> </div> </div> </div> </div> </div> {% endfor %} </div> {% else %} <div class="alert alert-info"> <p>You don't have any memories yet.</p> <a href="{% url 'create_memory' %}" class="btn btn-primary">Create Memory</a> </div> {% endif %} </div> </div> </div> </div> {% endblock %}

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hburgoyne/picard_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server