agentView
REMOTE · AGENTVIEW.DE · SCANNED AUG 3
Display delivery platform for AI agents. Push HTML, dashboards and live data to screens.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (assign_display_categories). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability72
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 10067 tokens (~141/item across 71 items; 57 tools + 14 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 97% of tool parameters carry a description.Partial
- Structured output schemas are declared (54% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · agentview.de
claude mcp add --transport http de-agentview-agentview-mcp https://agentview.de/mcp
[mcp_servers.de-agentview-agentview-mcp] url = "https://agentview.de/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"de-agentview-agentview-mcp": {
"type": "remote",
"url": "https://agentview.de/mcp",
"enabled": true
}
}
} openclaw mcp add de-agentview-agentview-mcp --url https://agentview.de/mcp --transport streamable-http
mcp_servers:
de-agentview-agentview-mcp:
url: "https://agentview.de/mcp" {
"mcpServers": {
"de-agentview-agentview-mcp": {
"type": "http",
"url": "https://agentview.de/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 64
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://agentview.de/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agentview.de | CN=YE1,O=Let's Encrypt,C=US | 11 Jul 2026 | 9 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 552531b588214398b86c25b313d8e7a515d |
| SANs: agentview.de | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of agentview.de. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| de. | present | 26755 | 8 | Verified |
| agentview.de. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://cdn.paddle.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https:; connect-src 'self' https://www.google-analytics.com https://region1.google-analytics.com https://www.googletagmanager.com https://*.paddle.com; font-src 'self' data:; frame-src 'self' https://display.agentview.de https://content.agentview.de https://*.paddle.com; base-uri 'self'; frame-ancestors 'none'; object-src 'none'; |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agentview.de/mcp | Verified | 200 | |
| http (plaintext) | http://agentview.de/mcp | HTTPS enforced | 308 | https://agentview.de/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
assign_display_categories Assign Display Categories ~178
Assigns displays to categories. mode 'replace' (default) sets the full category list of each display in display_ids to category_ids; mode 'add' or 'remove' adds/removes one category (category_ids[0]) across many displays without touching other assignments. Discover IDs with list_display_categories; create categories with manage_display_category.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| category_ids | array | yes | Category IDs; for mode 'add'/'remove' only the first entry is used. |
| display_ids | array | yes | Display profile IDs to update. |
| mode | string | — | replace (default) sets the exact list; add/remove mutates one category across displays. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
No output schema declared.
No examples provided.
authenticate Authenticate Session ~158
Validates a JWT agent token and caches the identity on this MCP session so later calls work without resending it. Use only when your client cannot send an Authorization: Bearer header; prefer session_request_id-based auth via create_auth_session. Not needed after get_auth_session returned 'active'.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Alias for token. Use this if your wrapper follows OAuth naming conventions. |
| jwt | string | — | Alias for token. Use this if your wrapper cannot send the 'token' field reliably. |
| token | string | — | The raw JWT token string returned by get_auth_session or an OAuth access token. Pass the opaque token exactly as received — do not add a 'Bearer ' prefix and do not expand or decode the JWT claims. |
| Name | Type | Req | Description |
|---|---|---|---|
| authenticated | boolean|null | — | — |
| string|null | — | — | |
| expiresAt | string|null | — | — |
| isAgent | boolean|null | — | — |
| name | string|null | — | — |
| scope | string|null | — | — |
| sessionBound | boolean|null | — | — |
| transportAuthRequired | boolean|null | — | — |
| userId | string|null | — | — |
No examples provided.
broadcast_content Broadcast Content ~268
Sends HTML to many displays at once. Target explicit display_ids, all=true for every accessible display, or include_category_ids to reach every display in those categories (include_descendants for subcategories, dry_run to preview matches without sending). Locked displays are skipped with reasons. For a single display use send_html. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| all | boolean | — | true targets all accessible displays. |
| base64_html | string | — | Base64-encoded HTML. Mutually exclusive with html. |
| description | string | — | Short summary of the content being sent (required when sending). |
| display_ids | array | — | Display profile IDs to target. |
| dry_run | boolean | — | Preview: return the matched displays without sending. Works with all targeting modes. |
| duration | integer | — | Seconds the content stays; 0 = indefinite. |
| html | string | — | Complete HTML document. Mutually exclusive with base64_html. |
| include_category_ids | array | — | Category IDs: broadcast to displays assigned to these categories. |
| include_descendants | boolean | — | With include_category_ids: also include subcategories. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
No output schema declared.
No examples provided.
claim_display Claim Display ~138
Adopts an unclaimed guest or pending display as a managed personal display (permanent ownership transfer, counts against quota). Use only when the user explicitly wants to take over hardware that is already running; for first-time setup prefer pair_by_code. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | yes | The short ID of the pending, guest or demo display to claim. This is the hardware or temporary ID shown on the device. |
| profile_name | string | yes | Friendly name to assign to the newly claimed display. Non-empty string. Example: 'Reception Kiosk'. |
No output schema declared.
No examples provided.
clear_display Clear Display ~121
Removes the current live content from a display and returns it to its idle/default state. Viewers will immediately see the change. Use this when the user wants to blank or reset a display. This does not delete the display itself — use delete_display for that. Requires authentication with at least content_only scope. Returns id and status ('cleared').
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | yes | The 8-character alphanumeric display profile ID to clear, e.g. 'ABCD1234'. |
No output schema declared.
No examples provided.
configure_display Configure Display ~351
Updates display settings: rename (name), lock or unlock content changes (locked), privacy mode for share links (privacy_mode), embed-origin allowlist (origins), hardware permissions (camera, microphone, geolocation), preferred language, mouse cursor, badge overlay and watermark position. Only the fields you pass are changed; online displays apply changes immediately. Use for any display setting change. Not for sending content (send_html, send_url) or deleting (delete_display). Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| allow_camera | boolean | — | — |
| allow_geolocation | boolean | — | — |
| allow_microphone | boolean | — | — |
| connectivity_mode | string | — | Per-display network mode override. |
| display_id | string | yes | 8-character display profile ID, e.g. 'ABCD1234'. |
| locked | boolean | — | true blocks content changes until unlocked; false unlocks. |
| name | string | — | New display name (rename). |
| origins | array | — | Embed-origin allowlist for Public displays; [] allows all origins. |
| preferred_language | string | — | — |
| privacy_mode | string | — | Private caps share-link TTL at 1 hour; Public (signage mode) allows 24 hours. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| show_badge_overlay | boolean | — | — |
| show_mouse_cursor | boolean | — | — |
| strict_whitelist | boolean | — | true: the display whitelist replaces the org whitelist instead of extending it. |
| watermark_position | string | — | — |
| whitelist | array | — | Domain whitelist for whitelist-only mode. |
No output schema declared.
No examples provided.
configure_organization Configure Organization ~161
Updates organization settings: rename (name) and/or network connectivity defaults for all its displays (default_connectivity_mode, global_whitelist). Only provided fields change. Use when an org admin renames the organization or declares network topology. Requires admin scope and org-admin role.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| default_connectivity_mode | string | — | Default connectivity for all org displays. |
| global_whitelist | array | — | Domain whitelist applied org-wide in whitelist-only mode. |
| name | string | — | New organization name (rename). |
| org_id | string | yes | Organization ID from list_organizations. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
No output schema declared.
No examples provided.
create_api_key Create API Key ~511
Creates a long-lived API key for server-to-server integration without OAuth. The raw key is returned only once — store it securely. The user must explicitly consent to creating the key. Requires admin scope. Supports granular scoping: restrict the key to specific data-slot slugs, specific display IDs, a read/write permission flag, and/or fine-grained capability flags.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| allowed_display_ids | array | — | Optional JSON array of display profile IDs this key may touch (max 64). When set, every display request must target one of these IDs. Omit or pass [] for no display restriction. Example: ['ABCD1234',… |
| allowed_slot_slugs | array | — | Optional JSON array of data-slot slugs this key may touch (max 64). When set, every data-slot request must target one of these slugs. Omit or pass [] for no slug restriction. Example: ['sensor-lobby'… |
| capabilities | array | — | Optional JSON array of fine-grained capability flags this key may exercise. Allowed values: 'slot.read' (list/get slots), 'slot.write' (put/delete slots), 'display.read' (list/get displays, read cont… |
| expires_in_days | integer | — | Optional expiration in days. If not set, the key never expires. |
| name | string | yes | Human-readable name for the key. Example: 'Home Assistant', 'CI Pipeline'. |
| org_id | string | — | Optional organization ID. If set, the key acts on behalf of this organization. |
| permissions | string | — | Granular permission flag: 'read', 'write', or 'read_write' (default). Applied on top of 'scope' — e.g. a content_only read-only key cannot PUT data slots. Matched against HTTP verb: GET requires read… |
| scope | string | — | Scope for the key: 'content_only' (send content, list displays) or 'admin' (full management). |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedDisplayIds | array|null | — | — |
| allowedSlotSlugs | array|null | — | — |
| capabilities | array|null | — | — |
| createdAt | string|null | — | — |
| expiresAt | string|null | — | — |
| key | string|null | — | — |
| keyId | string|null | — | — |
| name | string|null | — | — |
| orgId | string|null | — | — |
| permissions | string|null | — | — |
| scope | string|null | — | — |
| warning | string|null | — | — |
No examples provided.
create_auth_session Create Auth Session ~170
Starts a browser login and returns a loginUrl plus sessionRequestId. Use as STEP 0 in a fresh conversation before any protected tool. Show the loginUrl to the user as a clickable link in their language, then poll get_auth_session until 'active' and pass session_request_id on every later call. Returns sessionRequestId, loginUrl, pollUrl and expiresIn.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_identifier | string | — | Optional display name of the MCP client or agent, shown to the user in the browser consent screen. Example: 'ChatGPT' or 'my-home-automation'. |
| scope | string | — | Requested access scope. Must be either 'content_only' (read and send content to displays) or 'admin' (content_only plus create/delete/rename displays). Defaults to 'content_only'. |
| Name | Type | Req | Description |
|---|---|---|---|
| expiresIn | integer|null | — | — |
| hint | string|null | — | — |
| loginUrl | string|null | — | — |
| pollUrl | string|null | — | — |
| requestedScope | string|null | — | — |
| sessionRequestId | string|null | — | — |
No examples provided.
create_display Create Display ~167
Pre-provisions a display without hardware, personal or inside an organization (org_id). The new display starts offline. For a physical screen ALWAYS prefer pair_by_code, which creates and pairs in one step; use create_display only to prepare a display before the screen exists or for virtual/API-only displays. Requires admin scope. Returns id plus setup and pairing URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| name | string | — | Friendly display name, e.g. 'Lobby Screen'. Required when org_id is set. |
| org_id | string | — | Optional: create the display inside this organization (needs manager role and a free license slot). |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
No output schema declared.
No examples provided.
create_organization Create Organization ~103
Creates a new organization and makes the authenticated user the owner. Use this when the user wants to set up a shared display fleet. Returns orgId, name, slug, type and yourRole. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| name | string | yes | Friendly name for the organization. Example: 'Marketing Team'. |
| type | string | — | Organization type. Defaults to 'organization' if omitted. |
No output schema declared.
No examples provided.
delete_asset Delete Asset ~63
Deletes one or more assets. Displays referencing deleted assets will show broken images. Requires authentication with at least content_only scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| asset_ids | array | yes | One or more asset IDs to delete. |
No output schema declared.
No examples provided.
delete_data_slot Delete Data Slot ~104
Permanently deletes a data slot. Display HTML fetching its readUrl will receive 404 after deletion. Cannot be undone. Supply group_id to delete a group slot; omit for personal slots. Requires authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| group_id | string | — | Group/organization ID to delete a group slot. Omit for personal slots. |
| slug | string | yes | The slug of the data slot to delete. |
No output schema declared.
No examples provided.
delete_display Delete Display ~98
Permanently deletes a display and all its associated content. This action cannot be undone. Use this only when the user explicitly confirms they want to remove the display. Requires admin scope. Returns id, name and deleted (boolean true).
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | yes | The 8-character alphanumeric display profile ID to delete, e.g. 'ABCD1234'. |
No output schema declared.
No examples provided.
delete_organization Delete Organization ~68
Permanently deletes an organization, releasing all its displays and removing all members. Only the owner can delete. This cannot be undone. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| org_id | string | yes | The organization ID to delete. |
No output schema declared.
No examples provided.
fetch Fetch Resource ~128
Fetches one agentView resource by agentview:// URI, e.g. agentview://public/status, agentview://account/me or agentview://display/ABCD1234. Use after search or with a known URI. Public URIs need no auth; account and display URIs need a session. Returns uri, type, title, text and structured data.
| Name | Type | Req | Description |
|---|---|---|---|
| uri | string | yes | The resource URI to fetch. Must use the agentview:// scheme. Examples: 'agentview://public/status', 'agentview://account/me', 'agentview://display/ABCD1234'. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object|null | — | — |
| text | string|null | — | — |
| title | string|null | — | — |
| type | string|null | — | — |
| uri | string|null | — | — |
No examples provided.
get_account Get Account ~74
Returns the user's account profile: plan and features, personal display limits and remaining quota, accessible display count, organization memberships and points balance. Use for subscription, quota and membership questions. Not for listing displays (use list_displays). Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| Name | Type | Req | Description |
|---|---|---|---|
| authenticatedVia | string|null | — | — |
| currentDisplays | integer|null | — | — |
| currentPersonalDisplays | integer|null | — | — |
| string|null | — | — | |
| hint | string|null | — | — |
| maxDisplays | integer|null | — | — |
| maxPersonalDisplays | integer|null | — | — |
| name | string|null | — | — |
| organizationCount | integer|null | — | — |
| organizations | array|null | — | — |
| plan | string|null | — | — |
| planFeatures | array|null | — | — |
| points | integer|null | — | — |
| remainingDisplays | integer|null | — | — |
| remainingPersonalDisplays | integer|null | — | — |
| totalAccessibleDisplays | integer|null | — | — |
| userId | string|null | — | — |
No examples provided.
get_agent_artifact Get Agent Artifact ~231
Returns an agent-onboarding artifact shipped with a store template: system prompt, Agent Skills SKILL.md or MCP-config snippet. Pass slug for the RAW template artifact (before install, {{slot:...}} placeholders intact) or display_id for the display-bound artifact with placeholders resolved against installed slots (ready to save, e.g. into ~/.claude/skills/). Discover keys via get_store_template_details (agentArtifacts array). Template mode needs no auth; display mode requires content scope and display ownership.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | — | Display profile ID for the placeholder-resolved artifact. If both slug and display_id are given, display_id wins (substituted body). |
| key | string | yes | Artifact key, e.g. 'bot-system-prompt', 'agent-skill', 'mcp-config'. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| slug | string | — | Template slug for the raw artifact. Provide slug OR display_id. |
| Name | Type | Req | Description |
|---|---|---|---|
| content | string|null | — | — |
| displayId | string|null | — | — |
| key | string|null | — | — |
| kind | string|null | — | — |
| slug | string|null | — | — |
| title | string|null | — | — |
| unresolvedPlaceholders | array|null | — | — |
No examples provided.
get_asset Get Asset ~81
Returns metadata for a single asset including its URL. Use this to verify an asset still exists before referencing it in HTML. Requires authentication with at least content_only scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| asset_id | string | yes | The asset ID (e.g. 'ast_01H7KXZ...'). |
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string|null | — | — |
| createdAt | string|null | — | — |
| description | string|null | — | — |
| mimeType | string|null | — | — |
| name | string|null | — | — |
| sizeBytes | integer|null | — | — |
| url | string|null | — | — |
No examples provided.
get_auth_session Get Auth Session ~113
Polls a login session created by create_auth_session until the user completes the browser login. Poll every 2-3 seconds while status is 'pending'. Status 'active' auto-authenticates this MCP session — protected tools work immediately; keep passing session_request_id on later calls (the raw token is intentionally not returned over MCP). 'expired' means start over with create_auth_session.
| Name | Type | Req | Description |
|---|---|---|---|
| session_request_id | string | yes | The sessionRequestId string returned by create_auth_session. Must be passed exactly as received. |
| Name | Type | Req | Description |
|---|---|---|---|
| expiresIn | integer|null | — | — |
| requestedScope | string|null | — | — |
| scope | string|null | — | — |
| sessionRequestId | string|null | — | — |
| status | string | — | — |
| tokenExpiresAt | string|null | — | — |
No examples provided.
get_data_slot Get Data Slot ~112
Returns the current JSON content and metadata of a data slot by slug. Supply group_id to look up a group slot; omit it for personal slots. The response includes readUrl — the public anonymous URL for display HTML to fetch. Requires authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| group_id | string | — | Group/organization ID to retrieve a group slot. Omit for personal slots. |
| slug | string | yes | The slug of the data slot to retrieve. |
| Name | Type | Req | Description |
|---|---|---|---|
| content | — | — | — |
| groupId | string|null | — | — |
| label | string|null | — | — |
| readUrl | string|null | — | — |
| sizeBytes | integer|null | — | — |
| slug | string|null | — | — |
| type | string|null | — | — |
| updatedAt | string|null | — | — |
No examples provided.
get_display Get Display ~181
Returns one display's state: status, lock, URLs, settings, language and current content summary. response_format 'detailed' adds browser/runtime facts (screen, viewport, engine), resolved connectivity mode with allowed domains, and full content state (idle content, content URL) — use detailed before generating complex HTML for the display. Use list_displays first to discover IDs. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | yes | 8-character display profile ID from list_displays, e.g. 'ABCD1234'. |
| response_format | string | — | concise (default) returns key fields; detailed adds runtime facts, connectivity/capabilities and full content state. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| capabilities | object|null | — | — |
| connectivity | object|null | — | — |
| content | object|null | — | — |
| currentContent | string|null | — | — |
| deviceClass | string|null | — | — |
| effectiveLanguage | string|null | — | — |
| hasTouch | boolean|null | — | — |
| id | string|null | — | — |
| isOnline | boolean|null | — | — |
| locked | boolean|null | — | — |
| managedUrl | string|null | — | — |
| name | string|null | — | — |
| pairingUrl | string|null | — | — |
| resolution | string|null | — | — |
| runtime | object|null | — | — |
| settings | object|null | — | — |
| setupUrl | string|null | — | — |
| status | string|null | — | — |
No examples provided.
get_display_preview_url Generate Display Preview Share Link ~144
Creates a short-lived signed link showing what a display is presenting RIGHT NOW, rendered inline as a preview widget. ALWAYS call this when the user wants to SEE their display or screen content (preview, 'zeig mir das Display'). Link lifetime follows the display's privacy mode. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | yes | The 8-character alphanumeric display profile ID, e.g. 'ABCD1234'. |
| ttl_seconds | integer | — | Lifetime of the share link in seconds. Default 3600 (1 hour). Clamped to [60, 86400]. |
| Name | Type | Req | Description |
|---|---|---|---|
| contentVersionId | string|null | — | — |
| displayId | string|null | — | — |
| displayName | string|null | — | — |
| expiresAt | string|null | — | — |
| mode | string|null | — | — |
| previewUrl | string|null | — | — |
| privacyMode | string|null | — | — |
| ttlSeconds | integer|null | — | — |
No examples provided.
get_license_info Get License Info ~69
Returns the authenticated user's complete license allocation overview: total premium licenses, personal usage, allocatable licenses, per-organization allocations, and free licenses. Use this to understand available capacity before allocating licenses. Requires content_only scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| Name | Type | Req | Description |
|---|---|---|---|
| allocatableLicenses | integer|null | — | — |
| canAllocate | boolean|null | — | — |
| freeAllocatableLicenses | integer|null | — | — |
| orgAllocations | array|null | — | — |
| personalDisplays | integer|null | — | — |
| personalPremiumDisplays | integer|null | — | — |
| totalAllocatedToOrgs | integer|null | — | — |
| totalPremiumLicenses | integer|null | — | — |
No examples provided.
get_organization Get Organization ~138
Returns one organization's details: plan, your role, display count, allocated and remaining license slots. response_format 'detailed' adds the full member list (with roles) and display list. Use after list_organizations. Requires content scope and membership.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| org_id | string | yes | Organization ID from list_organizations or get_account. |
| response_format | string | — | concise (default) returns counts and core fields; detailed adds members and displays arrays. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| allocatedSlots | integer|null | — | — |
| displayCount | integer|null | — | — |
| displays | array|null | — | — |
| isActive | boolean|null | — | — |
| memberCount | integer|null | — | — |
| members | array|null | — | — |
| name | string|null | — | — |
| orgId | string|null | — | — |
| plan | string|null | — | — |
| remainingSlots | integer|null | — | — |
| yourRole | string|null | — | — |
No examples provided.
get_public_status Get Public Status ~61
Returns the server's public readiness status, version string and discovery URLs. Use this before authenticating to verify the server is reachable and to obtain entry-point URLs. No authentication required. Returns status ('ready'), server name, version, statusUrl and instructionsUrl.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_storage_usage Get Storage Usage ~175
Returns the storage pool snapshot (used, limit and remaining bytes) for the personal scope or a group — data slots and uploaded assets share this quota; check before large set_data_slot or upload_asset writes. Pass slug to additionally scan which displays reference that data slot (do this before delete_data_slot to know which displays would break). Narrowly-scoped API keys get suppressed=true with zeroed numbers. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| group_id | string | — | Group/organization ID for the group pool. Omit for the personal pool. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| slug | string | — | Optional data-slot slug: also report which displays reference it (slotUsage). |
| Name | Type | Req | Description |
|---|---|---|---|
| groupId | string|null | — | — |
| limitBytes | integer|null | — | — |
| remainingBytes | integer|null | — | — |
| scope | string | — | — |
| slotUsage | object|null | — | — |
| suppressed | boolean|null | — | — |
| usedBytes | integer|null | — | — |
No examples provided.
get_store_template_content Get Store Template Content (HTML + Slots) ~187
Returns the raw display HTML of a published store template plus its slot definitions and allowed external origins, for editing or embedding the template yourself. {{asset:NAME}} placeholders resolve to public URLs; {{slot:KEY.prop}} stay intact for your own binding. Large HTML is windowed via max_bytes (default 51200) and offset; the result reports totalBytes and truncated. To push a template to a display directly, use send_store_template_to_display instead. No authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| max_bytes | integer | — | Maximum HTML bytes to return. Default 51200. |
| offset | integer | — | Byte offset into the HTML. Default 0. |
| slug | string | yes | Template slug from search_store_templates, e.g. 'bistro-warm-door'. |
| version | string | — | Optional published version id (stpv_…) to pin. Omit for current. |
| Name | Type | Req | Description |
|---|---|---|---|
| allowedExternalOrigins | array|null | — | — |
| html | string|null | — | — |
| offset | integer|null | — | — |
| slots | array|null | — | — |
| slug | string|null | — | — |
| totalBytes | integer|null | — | — |
| truncated | boolean|null | — | — |
| version | string|null | — | — |
No examples provided.
get_store_template_details Get Store Template Details ~143
Returns full details of one store template: localized title and description, long-form markdown, category, suite, tags, features, preview image and agentArtifacts (bot-onboarding files such as system prompts, Agent Skills SKILL.md, MCP config). Use after search_store_templates before recommending or installing; when agentArtifacts is non-empty, fetch bodies via get_agent_artifact. No authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | — | Preferred content language. Defaults to 'en'. |
| slug | string | yes | The template slug (English kebab-case) returned by search_store_templates, e.g. 'bistro-warm-door' or 'agent-ops-cyan-wall'. |
| Name | Type | Req | Description |
|---|---|---|---|
| agentArtifacts | array|null | — | Agent-onboarding files shipped with the template (system prompts, Agent Skills standard SKILL.md, MCP config snippets). Empty array when the template ships none. Body lives behind get_agent_artifact… |
| audienceMarkdown | string|null | — | — |
| category | object|null | — | — |
| categoryDescription | string|null | — | — |
| description | string|null | — | — |
| designStyle | string|null | — | — |
| detailPath | string|null | — | — |
| featured | boolean|null | — | — |
| features | array|null | — | — |
| fileName | string|null | — | — |
| introMarkdown | string|null | — | — |
| placement | string|null | — | — |
| previewImageUrl | string|null | — | — |
| previewPath | string|null | — | — |
| publishedAt | string|null | — | — |
| setupMarkdown | string|null | — | — |
| slug | string|null | — | — |
| sourceKind | string|null | — | — |
| suite | object|null | — | — |
| suiteDescription | string|null | — | — |
| tags | array|null | — | — |
| theme | string|null | — | — |
| title | string|null | — | — |
| useCasesMarkdown | string|null | — | — |
No examples provided.
get_store_template_install_options Get Store Template Install Options ~146
Returns the displays the user can install a store template on plus the data slots it needs (key, label, type, required). Call before send_store_template_to_display. An empty displays list means the user must first set up a display (pair_by_code). Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| language | string | — | Preferred UI language for labels. Defaults to 'en'. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| slug | string | yes | Template slug returned by search_store_templates, e.g. 'bistro-warm-door'. |
| Name | Type | Req | Description |
|---|---|---|---|
| displays | array|null | — | — |
| language | string|null | — | — |
| requiredDataSlots | array|null | — | — |
| templateSlug | string|null | — | — |
No examples provided.
list_api_keys List API Keys ~56
Lists all API keys for the current user. Returns key metadata (prefix, name, scope, dates) but never the raw key. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer|null | — | — |
| keys | array|null | — | — |
No examples provided.
list_assets List Assets ~188
Lists the user's uploaded assets (images, videos, fonts, documents) with public URLs for use in display HTML. Filter by type, search term or group. Check before upload_asset to avoid duplicates. response_format 'detailed' adds description, size and timestamps per asset. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| group_id | string | — | Only this group's assets. Omit for personal. |
| limit | integer | — | Maximum results (default 50). |
| response_format | string | — | concise (default): id, name, url, mimeType; detailed adds description, sizeBytes, createdAt. |
| search | string | — | Search in filename and description. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| type | string | — | Filter by MIME category. |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array|null | — | — |
| count | integer|null | — | — |
No examples provided.
list_data_slots List Data Slots ~125
Lists data slots with optional filtering. Returns metadata only (no jsonContent). Each item includes readUrl. Use readUrl in display HTML fetch() calls. Requires authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| group_id | string | — | Group/organization ID to list shared group slots. Omit for personal slots. |
| limit | integer | — | Maximum results (default: 50, max: 200). |
| offset | integer | — | Offset for pagination. |
| search | string | — | Search in label (case-insensitive). |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer|null | — | — |
| slots | array|null | — | — |
No examples provided.
list_display_categories List Display Categories ~91
Lists the authenticated user's personal display categories with stable IDs, paths and assignment counts. Use this to discover existing categories before assigning or replacing categories on a display. Requires authentication with at least content_only scope and display.read capability.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array|null | — | — |
| count | integer|null | — | — |
No examples provided.
list_displays List Displays ~184
Lists all displays the user can access, with id, name, online status, lock state and device class — the starting point to discover display IDs before get_display, send_html or send_store_template_to_display. Pass org_id to list an organization's displays instead. response_format 'detailed' adds screen/viewport facts, URLs and language per display. To show what a display looks like right now, use get_display_preview_url. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| org_id | string | — | Optional organization ID: list that organization's displays (member access required). |
| response_format | string | — | concise (default) returns key fields per display; detailed adds screen/viewport, URLs and language. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer|null | — | — |
| displays | array|null | — | — |
No examples provided.
list_organizations List Organizations ~76
Returns all organizations the authenticated user belongs to with their role, display count, member count and allocated slots. Use this to answer questions about the user's organizations, how many displays an organization has, or team membership. Requires authentication with at least content_only scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer|null | — | — |
| organizations | array|null | — | — |
No examples provided.
list_store_categories List Store Categories ~113
Lists all published agentView store categories (e.g. Gastronomie, Wartezimmer, Empfang, Smart Home) with localized titles, descriptions and template counts. Use this to narrow a subsequent search_store_templates call when the user asks for 'templates for a waiting room' or similar. No authentication required. Returns count, language and a categories array where each entry has slug, title, description, templateCount, heroIconKey and detailPath.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | — | Preferred content language. Defaults to 'en'. |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array|null | — | — |
| count | integer|null | — | — |
| language | string|null | — | — |
No examples provided.
logout Logout ~35
Clears the cached login from this MCP session (does not revoke the underlying token). Use when the user wants to sign out or switch accounts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
manage_display_category Manage Display Category ~191
Creates or renames a display category (categories group displays for broadcast_content include_category_ids). action 'create' needs name (optional parent_category_id for a subcategory); action 'rename' needs category_id and new_name — assignments and grants stay intact. Discover IDs with list_display_categories; assign displays with assign_display_categories.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| action | string | yes | Operation to perform. |
| category_id | string | — | Category ID to rename (rename only). |
| name | string | — | Category name for action 'create', e.g. 'Reception'. |
| new_name | string | — | New category name (rename only). |
| parent_category_id | string | — | Optional parent category ID (create only) for a subcategory. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
No output schema declared.
No examples provided.
manage_licenses Manage Licenses ~175
Manages premium display licenses: action 'allocate' sets how many license slots an organization gets (licenses, 0 deallocates all), 'assign' binds a free license to a display, 'unassign' releases a display's license back to the pool. Check availability first with get_license_info. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| action | string | yes | License operation. |
| display_id | string | — | Display profile ID (actions 'assign' and 'unassign'). |
| licenses | integer | — | License slot count for 'allocate'; 0 deallocates all. |
| org_id | string | — | Organization ID (action 'allocate'). |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
No output schema declared.
No examples provided.
manage_org_member Manage Org Member ~207
Manages organization membership: action 'invite' adds a member by email with a role, 'set_role' changes a member's role, 'remove' removes the member. Roles for organizations: 'admin' (manage members and displays), 'manager' (manage displays and content), 'viewer' (read-only); families accept 'child'. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| action | string | yes | Membership operation. |
| string | — | Email address to invite (action 'invite'). | |
| org_id | string | yes | Organization ID. |
| role | string | — | Role for 'invite' and 'set_role': 'admin', 'manager', 'viewer' (families: 'child'). |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| target_user_id | string | — | Member user ID (actions 'set_role' and 'remove'). |
No output schema declared.
No examples provided.
pair_by_code Pair Display by Code ~193
Pairs a physical screen with the 6-character code shown on https://display.agentview.de — the recommended first-time setup: ask the user to open that URL on the TV and read the code, then call this (creates and pairs in one step). Pass target_display_id to rebind an EXISTING display profile onto new hardware instead (keeps name, settings, content). Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| code | string | yes | The 6-character pairing code shown on the display (e.g. 'AB3K7F'). |
| profile_name | string | — | Friendly name for the display (required for new pairing, ignored for rebind). Example: 'Lobby Screen'. |
| target_display_id | string | — | To rebind: the existing display profile ID to switch to the new hardware. Omit for new display pairing. |
No output schema declared.
No examples provided.
read_display_html Read Display HTML ~214
Reads the raw HTML source currently shown on a display so you can inspect or edit it and push it back with send_html. content_type 'idle' reads the default/fallback content instead. Responses are windowed for large documents: max_bytes (default 51200) and offset page through the source; the result reports totalBytes and truncated. Not for visual previews (use get_display_preview_url). Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| content_type | string | — | 'live' (default) reads active content; 'idle' reads default content. |
| display_id | string | yes | 8-character display profile ID, e.g. 'ABCD1234'. |
| max_bytes | integer | — | Maximum bytes of HTML to return. Default 51200. |
| offset | integer | — | Byte offset to start reading from. Default 0. |
| session_request_id | string | — | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| contentType | string|null | — | — |
| hasContent | boolean|null | — | — |
| html | string|null | — | — |
| htmlLength | integer|null | — | — |
| id | string|null | — | — |
| name | string|null | — | — |
| offset | integer|null | — | — |
| source | string|null | — | — |
| totalBytes | integer|null | — | — |
| truncated | boolean|null | — | — |
No examples provided.
remove_display_from_org Remove Display from Organization ~82
Removes a display from an organization, clearing its group assignment and all display grants. The display becomes unassigned. Requires admin scope and admin or owner role.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| display_id | string | yes | The display profile ID to remove. |
| org_id | string | yes | The organization ID. |
No output schema declared.
No examples provided.
revoke_api_key Revoke API Key ~68
Permanently revokes an API key. This is irreversible — the key will immediately stop working. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | — | Optional bearer token; prefer session_request_id. |
| key_id | string | yes | The ID of the key to revoke (from list_api_keys). |
No output schema declared.
No examples provided.