We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AI-Riksarkivet/oxenstierna'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "Observability for the ra-mcp MCP server. Metrics via OpenTelemetry OTLP → Prometheus. Counter panels use increase() so Y-axis shows actual counts per time bucket.",
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 105,
"panels": [],
"title": "Health Check (v${version})",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"description": "Is the /health endpoint reachable? 1 = Up, 0 = Down. Powered by Grafana Synthetic Monitoring or Prometheus Blackbox Exporter.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"1": {
"color": "green",
"index": 0,
"text": "Healthy"
}
},
"type": "value"
},
{
"options": {
"0": {
"color": "red",
"index": 1,
"text": "Down"
}
},
"type": "value"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "green",
"value": 1
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 6,
"x": 0,
"y": 1
},
"id": 30,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_success{job=\"ra-mcp-health\"}\r\n",
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_success{job=\"ra-data\",probe=\"Stockholm\"}",
"instant": false,
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_success{job=\"ra-sok\",probe=\"Stockholm\"}",
"instant": false,
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "C"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_success{job=\"ra-iiif\",probe=\"Stockholm\"}",
"instant": false,
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "D"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_success{job=\"ra-oai-pmh\",probe=\"Stockholm\"}",
"instant": false,
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "E"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_success{job=\"ra-sok\",probe=\"NorthVirginia\"}",
"instant": false,
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "F"
}
],
"title": "Health Probe",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"description": "HTTP status code returned by the /health endpoint.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "green",
"value": 200
},
{
"color": "red",
"value": 201
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 6,
"y": 1
},
"id": 31,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_http_status_code{job=\"${health_job}\"}",
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "A"
}
],
"title": "HTTP Status",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Server uptime indicator. Shows 'Up' when the build_info gauge is reporting. Confirms the server is alive and exporting metrics.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"1": {
"color": "green",
"index": 0,
"text": "Up"
}
},
"type": "value"
},
{
"options": {
"from": -1,
"result": {
"color": "red",
"index": 1,
"text": "Down"
},
"to": 0
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "green",
"value": 1
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 2,
"x": 12,
"y": 1
},
"id": 22,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "ra_mcp_build_info{version=\"${version}\"}",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Server Status",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"description": "SSL certificate expiry for the health endpoint. Yellow < 30 days, red < 7 days.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "yellow",
"value": 604800
},
{
"color": "green",
"value": 2592000
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 14,
"y": 1
},
"id": 32,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_ssl_earliest_cert_expiry{instance=\"https://riksarkivet.se/\", probe=\"Stockholm\"} - time()",
"legendFormat": "{{instance}}",
"range": true,
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_ssl_earliest_cert_expiry{instance=\"https://riksarkivet-ra-mcp.hf.space/health\", probe=\"Stockholm\"} - time()",
"instant": false,
"legendFormat": "{{instance}}",
"range": true,
"refId": "B"
}
],
"title": "SSL Cert Expiry",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"description": "Total time to complete the health probe (DNS + connect + TLS + transfer).",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "yellow",
"value": 1
},
{
"color": "red",
"value": 5
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 18,
"y": 1
},
"id": 33,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"editorMode": "code",
"expr": "probe_duration_seconds{job=\"${health_job}\"}",
"legendFormat": "{{job}} from {{probe}}",
"range": true,
"refId": "A"
}
],
"title": "Probe Duration",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"description": "Health probe success over time. 1 = reachable, 0 = unreachable. Gaps or dips indicate downtime.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 30,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "stepAfter",
"lineWidth": 2,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "area"
}
},
"mappings": [],
"max": 1,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "green",
"value": 1
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 6,
"x": 6,
"y": 5
},
"id": 34,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "multi",
"sort": "desc"
}
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"expr": "probe_success{job=\"${health_job}\"}",
"legendFormat": "probe_success",
"refId": "A"
}
],
"title": "Health Probe History (RA-MCP)",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"description": "Health probe response time over time. Shows how quickly the /health endpoint responds to external probes.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 2,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
}
]
},
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 5
},
"id": 35,
"options": {
"legend": {
"calcs": [
"mean",
"max"
],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "multi",
"sort": "desc"
}
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"expr": "probe_duration_seconds{job=\"${health_job}\"}",
"legendFormat": "duration",
"refId": "A"
}
],
"title": "Probe Response Time",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 11
},
"id": 100,
"panels": [],
"title": "Overview (v${version})",
"type": "row"
},
{
"datasource": {
"type": "loki",
"uid": "grafanacloud-logs"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"axisSoftMin": 0,
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "bars",
"fillOpacity": 100,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 0,
"pointSize": 0,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "normal"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byRegexp",
"options": "/^(info|information)$/i"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-green",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "/^debug$/i"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-blue",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "/^(warn|warning)$/i"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-orange",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "/^(error|errors)$/i"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "semi-dark-red",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "/^(crit|critical|fatal|severe)$/i"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "#705da0",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byRegexp",
"options": "/^(logs|unknown)$/i"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "darkgray",
"mode": "fixed"
}
}
]
},
{
"__systemRef": "hideSeriesFrom",
"matcher": {
"id": "byNames",
"options": {
"mode": "exclude",
"names": [
"error",
"warn"
],
"prefix": "All except:",
"readOnly": true
}
},
"properties": [
{
"id": "custom.hideFrom",
"value": {
"legend": false,
"tooltip": true,
"viz": true
}
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 12
},
"id": 106,
"interval": "2s",
"maxDataPoints": 500,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"direction": "backward",
"editorMode": "code",
"expr": "sum(count_over_time({service_name=\"ra-mcp\"} [$__auto])) by (detected_level)",
"legendFormat": "{{detected_level}}",
"queryType": "range",
"refId": "A"
}
],
"title": "Log error over time",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "grafanacloud-prom"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 4,
"x": 8,
"y": 12
},
"id": 108,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"editorMode": "code",
"expr": "ra_mcp_http_errors_total",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "http errors",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "grafanacloud-prom"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 3,
"x": 12,
"y": 12
},
"id": 109,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"editorMode": "code",
"expr": "ra_mcp_oai_pmh_fetches_total{service_version=\"$version\",oai_pmh_result=\"success\"}",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "OAI PMH fetches",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "grafanacloud-prom"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 3,
"x": 15,
"y": 12
},
"id": 107,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"editorMode": "code",
"expr": "ra_mcp_alto_fetches_total{service_version=\"$version\", alto_result=\"success\"}",
"legendFormat": "alto fetches ",
"range": true,
"refId": "A"
}
],
"title": "Alto fetches total",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "grafanacloud-prom"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 19
},
"id": 110,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"editorMode": "code",
"expr": "ra_mcp_search_requests_total{service_version=\"$version\"}",
"legendFormat": "{{search_type}}-{{search_status}}",
"range": true,
"refId": "A"
}
],
"title": "search requests",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "grafanacloud-prom"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 19
},
"id": 111,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"editorMode": "code",
"expr": "ra_mcp_browse_requests_total",
"interval": "",
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "search requests",
"type": "stat"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 26
},
"id": 200,
"panels": [],
"title": "User Discovery (v${version})",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Total search requests in the selected time range.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": 0
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 0,
"y": 27
},
"id": 201,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(increase(ra_mcp_search_requests_total{service_version=\"$version\"}[$__range]))",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Total Searches",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Total browse requests in the selected time range.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "purple",
"value": 0
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 4,
"y": 27
},
"id": 202,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(increase(ra_mcp_browse_requests_total{service_version=\"$version\"}[$__range]))",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Total Browses",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Ratio of browse requests to search requests. Higher values suggest users are finding and exploring results.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"decimals": 2,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "yellow",
"value": 0
},
{
"color": "green",
"value": 0.5
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 8,
"y": 27
},
"id": 203,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(increase(ra_mcp_browse_requests_total{service_version=\"$version\"}[$__range])) / sum(increase(ra_mcp_search_requests_total{service_version=\"$version\"}[$__range]))",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Search → Browse",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Percentage of searches that returned zero results. High values may indicate search quality issues or unsupported query patterns.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"decimals": 1,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "yellow",
"value": 0.1
},
{
"color": "red",
"value": 0.3
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 12,
"y": 27
},
"id": 204,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(increase(ra_mcp_search_results_bucket{le=\"0\", service_version=\"$version\"}[$__range])) / sum(increase(ra_mcp_search_results_count{service_version=\"$version\"}[$__range]))",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Zero-Result Rate",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Average number of results returned per search request.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"decimals": 1,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": 0
},
{
"color": "yellow",
"value": 1
},
{
"color": "green",
"value": 10
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 16,
"y": 27
},
"id": 205,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(increase(ra_mcp_search_results_sum{service_version=\"$version\"}[$__range])) / sum(increase(ra_mcp_search_results_count{service_version=\"$version\"}[$__range]))",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Avg Results/Search",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Number of browse requests where pages had no transcribed content.",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "yellow",
"value": 5
},
{
"color": "red",
"value": 20
}
]
},
"unit": "none"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 20,
"y": 27
},
"id": 206,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(increase(ra_mcp_browse_empty_pages_total{service_version=\"$version\"}[$__range]))",
"legendFormat": "",
"range": true,
"refId": "A"
}
],
"title": "Empty Pages",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Search request rate over time, broken down by search type (transcribed vs metadata).",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 20,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 2,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 31
},
"id": 207,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "multi",
"sort": "desc"
}
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "increase(ra_mcp_search_requests_total{service_version=\"$version\"}[$__rate_interval])",
"legendFormat": "{{search_type}} ({{search_status}})",
"range": true,
"refId": "A"
}
],
"title": "Search Activity Over Time",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "Browse request rate over time, broken down by status (success vs error).",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 20,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 2,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 31
},
"id": 208,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "multi",
"sort": "desc"
}
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "increase(ra_mcp_browse_requests_total{service_version=\"$version\"}[$__rate_interval])",
"legendFormat": "{{browse_status}}",
"range": true,
"refId": "A"
}
],
"title": "Browse Activity Over Time",
"type": "timeseries"
},
{
"datasource": {
"type": "tempo",
"uid": "${traces_datasource}"
},
"description": "Recent search operations from Tempo traces. Shows the keyword searched, number of results found, and request duration.",
"fieldConfig": {
"defaults": {
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"footer": {
"reducers": [
"countAll"
]
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Duration"
},
"properties": [
{
"id": "unit",
"value": "ns"
}
]
},
{
"matcher": {
"id": "byName",
"options": "search.research_context"
},
"properties": [
{
"id": "custom.width",
"value": 126
}
]
},
{
"matcher": {
"id": "byName",
"options": "mcp.session.id"
},
"properties": [
{
"id": "custom.width",
"value": 299
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 12,
"x": 0,
"y": 39
},
"id": 209,
"options": {
"cellHeight": "sm",
"enablePagination": true,
"showHeader": true,
"sortBy": [
{
"desc": true,
"displayName": "Start time"
}
]
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "tempo",
"uid": "${traces_datasource}"
},
"limit": 20,
"query": "{resource.service.name=\"ra-mcp\" && name=\"SearchOperations.search\"} | select(span.mcp.session.id, span.search.keyword, span.search.total_hits, span.search.research_context)",
"queryType": "traceql",
"refId": "A",
"spss": 3,
"tableType": "spans"
}
],
"title": "Recent Searches",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"spanID": true,
"traceNamespace": true,
"traceService": true
},
"indexByName": {},
"renameByName": {
"span.mcp.session.id": "Session",
"span.search.keyword": "Keyword",
"span.search.research_context": "Research Context",
"span.search.total_hits": "Hits",
"spanName": "Operation",
"traceDuration": "Trace Duration",
"traceID": "Trace ID",
"traceName": "Trace"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "tempo",
"uid": "${traces_datasource}"
},
"description": "Searches that returned zero results. These may indicate unsupported query patterns, spelling issues, or gaps in the archive data.",
"fieldConfig": {
"defaults": {
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"footer": {
"reducers": [
"countAll"
]
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Duration"
},
"properties": [
{
"id": "unit",
"value": "ns"
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 12,
"x": 12,
"y": 39
},
"id": 210,
"options": {
"cellHeight": "sm",
"enablePagination": true,
"showHeader": true,
"sortBy": [
{
"desc": true,
"displayName": "Start time"
}
]
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "tempo",
"uid": "${traces_datasource}"
},
"limit": 20,
"query": "{resource.service.name=\"ra-mcp\" && name=\"SearchOperations.search\" && span.search.total_hits = 0} | select(span.mcp.session.id, span.search.keyword, span.search.research_context)",
"queryType": "traceql",
"refId": "A",
"spss": 3,
"tableType": "spans"
}
],
"title": "Zero-Result Searches",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"spanID": true,
"traceNamespace": true,
"traceService": true
},
"indexByName": {},
"renameByName": {
"span.mcp.session.id": "Session",
"span.search.keyword": "Keyword",
"span.search.research_context": "Research Context",
"spanName": "Operation",
"traceDuration": "Trace Duration",
"traceID": "Trace ID",
"traceName": "Trace"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "tempo",
"uid": "${traces_datasource}"
},
"description": "Recent document browse operations from Tempo traces. Shows the reference code browsed and pages requested.",
"fieldConfig": {
"defaults": {
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"footer": {
"reducers": [
"countAll"
]
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Duration"
},
"properties": [
{
"id": "unit",
"value": "ns"
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 12,
"x": 0,
"y": 49
},
"id": 211,
"options": {
"cellHeight": "sm",
"enablePagination": true,
"showHeader": true,
"sortBy": [
{
"desc": true,
"displayName": "Start time"
}
]
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "tempo",
"uid": "${traces_datasource}"
},
"limit": 20,
"metricsQueryType": "range",
"query": "{resource.service.name=\"ra-mcp\" && name=\"BrowseOperations.browse_document\"} | select(span.mcp.session.id, span.browse.reference_code, span.browse.pages_requested, span.browse.research_context)",
"queryType": "traceql",
"refId": "A",
"serviceMapUseNativeHistograms": false,
"spss": 3,
"tableType": "spans"
}
],
"title": "Recently Browsed Documents",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"spanID": true,
"traceNamespace": true,
"traceService": true
},
"indexByName": {},
"renameByName": {
"span.browse.pages_requested": "Pages",
"span.browse.reference_code": "Reference Code",
"span.browse.research_context": "Research Context",
"span.mcp.session.id": "Session",
"spanName": "Operation",
"traceDuration": "Trace Duration",
"traceID": "Trace ID",
"traceName": "Trace"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "loki",
"uid": "${loki_datasource}"
},
"description": "MCP tool invocations for search and browse. Filters out internal noise (dedup, formatting) to show only user-facing operations with keywords and reference codes.",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 12,
"x": 12,
"y": 49
},
"id": 212,
"options": {
"dedupStrategy": "none",
"enableInfiniteScrolling": false,
"enableLogDetails": true,
"prettifyLogMessage": false,
"showCommonLabels": false,
"showControls": false,
"showLabels": false,
"showTime": true,
"sortOrder": "Descending",
"unwrappedColumns": false,
"wrapLogMessage": true
},
"pluginVersion": "12.4.0-21959849188.patch2",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "${loki_datasource}"
},
"editorMode": "code",
"expr": "{service_name=\"ra-mcp\"} |= \"MCP Tool:\" |~ \"search|browse\"",
"queryType": "range",
"refId": "A"
}
],
"title": "Tool Invocations",
"type": "logs"
}
],
"preload": false,
"refresh": "30s",
"schemaVersion": 42,
"tags": [
"ra-mcp",
"mcp",
"riksarkivet",
"opentelemetry"
],
"templating": {
"list": [
{
"current": {
"text": "default",
"value": "default"
},
"includeAll": false,
"label": "Datasource",
"name": "datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"text": "0.8.0",
"value": "0.8.0"
},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(ra_mcp_build_info, version)",
"includeAll": false,
"label": "Version",
"name": "version",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(ra_mcp_build_info, version)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 2,
"regex": "",
"regexApplyTo": "value",
"sort": 2,
"type": "query"
},
{
"current": {
"text": "default",
"value": "default"
},
"description": "Prometheus datasource containing Synthetic Monitoring / Blackbox Exporter probe_* metrics. In Grafana Cloud this is your grafanacloud-<stack>-prom datasource.",
"includeAll": false,
"label": "SM Datasource",
"name": "sm_datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"text": "ra-data",
"value": "ra-data"
},
"datasource": {
"type": "prometheus",
"uid": "${sm_datasource}"
},
"definition": "label_values(probe_success, job)",
"description": "Select the Synthetic Monitoring check job that probes your health endpoint.",
"includeAll": false,
"label": "Health Check Job",
"name": "health_job",
"options": [],
"query": {
"qryType": 1,
"query": "label_values(probe_success, job)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 2,
"regex": "",
"regexApplyTo": "value",
"sort": 1,
"type": "query"
},
{
"current": {
"text": "grafanacloud-riksarkivet-traces",
"value": "grafanacloud-traces"
},
"description": "Tempo datasource for trace queries (TraceQL).",
"includeAll": false,
"label": "Traces",
"name": "traces_datasource",
"options": [],
"query": "tempo",
"refresh": 1,
"regex": "",
"type": "datasource"
},
{
"current": {
"text": "grafanacloud-riksarkivet-logs",
"value": "grafanacloud-logs"
},
"description": "Loki datasource for log queries.",
"includeAll": false,
"label": "Logs",
"name": "loki_datasource",
"options": [],
"query": "loki",
"refresh": 1,
"regex": "",
"type": "datasource"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "ra-mcp — Riksarkivet MCP Server",
"uid": "ra-mcp-overview",
"version": 56,
"weekStart": ""
}