agentView
REMOTE · AGENTVIEW.DE · SCANNED SEP 21
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 → Why this is hard to 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 Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 11037 tokens (~153/item across 72 items; 57 tools + 15 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 Management100
- No destabilizing schema changes in the last 30 days.Pass
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 (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 11 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 59 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
How do I install the agentView MCP server?
agentView is a hosted endpoint at https://agentview.de/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · agentview.de
claude mcp add --transport http de-agentview-agentview-mcp 'https://agentview.de/mcp'
{
"mcpServers": {
"de-agentview-agentview-mcp": {
"url": "https://agentview.de/mcp"
}
}
} {
"servers": {
"de-agentview-agentview-mcp": {
"type": "http",
"url": "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": {
"Transport": "http",
"Url": "https://agentview.de/mcp"
}
}
} assistant mcp add de-agentview-agentview-mcp -t streamable-http -u '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.
- 15 Sept 26 0
- Server version: 2.1.149 → 2.1.152 functional
- 14 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “create_display” rewrote its description, which is the text the model reads security
- Tool “pair_by_code” rewrote its description, which is the text the model reads security
- New resource “agentView Screen Connected” functional
- Server version: 2.1.146 → 2.1.149 functional
- “create_auth_session” reworded the description of “scope” cosmetic
- “pair_by_code” reworded the description of “profile_name” cosmetic
- 12 Sept 26 0
- Tool “submit_feedback” rewrote its description, which is the text the model reads security
- Server version: 2.1.143 → 2.1.146 functional
- 11 Sept 26 0
- Tool “create_display” rewrote its description, which is the text the model reads security
- Tool “pair_by_code” rewrote its description, which is the text the model reads security
- Server version: 2.1.141 → 2.1.143 functional
- 2 Sept 26 0
- Tool coverage: 54% → 100% ▲ functional
- Tool “assign_display_categories” now declares an output schema ▲ functional
- Tool “broadcast_content” now declares an output schema ▲ functional
- Tool “claim_display” now declares an output schema ▲ functional
- Tool “clear_display” now declares an output schema ▲ functional
- Tool “configure_display” now declares an output schema ▲ functional
- Tool “configure_organization” now declares an output schema ▲ functional
- Tool “create_display” now declares an output schema ▲ functional
- Tool “create_organization” now declares an output schema ▲ functional
- Tool “delete_asset” now declares an output schema ▲ functional
- Tool “delete_data_slot” now declares an output schema ▲ functional
- Tool “delete_display” now declares an output schema ▲ functional
- Tool “delete_organization” now declares an output schema ▲ functional
- Tool “get_public_status” now declares an output schema ▲ functional
- Tool “logout” now declares an output schema ▲ functional
- Tool “manage_display_category” now declares an output schema ▲ functional
- Tool “manage_licenses” now declares an output schema ▲ functional
- Tool “manage_org_member” now declares an output schema ▲ functional
- Tool “pair_by_code” now declares an output schema ▲ functional
- Tool “remove_display_from_org” now declares an output schema ▲ functional
- Tool “revoke_api_key” now declares an output schema ▲ functional
- Tool “send_html” now declares an output schema ▲ functional
- Tool “send_url” now declares an output schema ▲ functional
- Tool “set_display_grant” now declares an output schema ▲ functional
- Tool “submit_feedback” now declares an output schema ▲ functional
- Tool “test_display_content” now declares an output schema ▲ functional
- Tool “update_asset” now declares an output schema ▲ functional
- Server version: 2.1.137 → 2.1.141 functional
- 1 Sept 26 0
- Tool “authenticate” rewrote its description, which is the text the model reads security
- Tool “get_auth_session” rewrote its description, which is the text the model reads security
- Tool “logout” rewrote its description, which is the text the model reads security
- Tool “pair_by_code” rewrote its description, which is the text the model reads security
- Tool “pair_by_code” no longer declares itself destructive security
- Server version: 2.1.129 → 2.1.137 functional
- “claim_display” added an optional parameter “session_request_id” cosmetic
- “clear_display” added an optional parameter “session_request_id” cosmetic
- “create_api_key” added an optional parameter “session_request_id” cosmetic
- “create_organization” added an optional parameter “session_request_id” cosmetic
- “delete_asset” added an optional parameter “session_request_id” cosmetic
- “delete_data_slot” added an optional parameter “session_request_id” cosmetic
- “delete_display” added an optional parameter “session_request_id” cosmetic
- “delete_organization” added an optional parameter “session_request_id” cosmetic
- “fetch” added an optional parameter “session_request_id” cosmetic
- “get_account” added an optional parameter “session_request_id” cosmetic
- “get_asset” added an optional parameter “session_request_id” cosmetic
- “get_data_slot” added an optional parameter “session_request_id” cosmetic
- “get_display_preview_url” added an optional parameter “session_request_id” cosmetic
- “get_license_info” added an optional parameter “session_request_id” cosmetic
- “list_api_keys” added an optional parameter “session_request_id” cosmetic
- “list_data_slots” added an optional parameter “session_request_id” cosmetic
- “list_organizations” added an optional parameter “session_request_id” cosmetic
- “pair_by_code” added an optional parameter “session_request_id” cosmetic
- “remove_display_from_org” added an optional parameter “session_request_id” cosmetic
- “revoke_api_key” added an optional parameter “session_request_id” cosmetic
- “search” added an optional parameter “session_request_id” cosmetic
- “set_data_slot” added an optional parameter “session_request_id” cosmetic
- “update_asset” added an optional parameter “session_request_id” cosmetic
- “upload_asset” added an optional parameter “session_request_id” cosmetic
- 31 Aug 26 0
- Server version: 2.1.125 → 2.1.129 functional
- 30 Aug 26 0
- Server version: 2.1.121 → 2.1.125 functional
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 21 Sept 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=YE2,O=Let's Encrypt,C=US | 8 Sept 2026 | 7 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 69664ea84f989579ecefe6706d67c1d1c42 |
| SANs: agentview.de | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| 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 |
Background: What to check on a remote MCP endpoint →
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=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
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'). |
| Name | Type | Req | Description |
|---|---|---|---|
| displaysTransferred | integer|null | – | – |
| newRole | string|null | – | – |
| orgId | string|null | – | – |
| previousRole | string|null | – | – |
| removed | boolean|null | – | – |
| targetUserId | string|null | – | – |
No examples provided.
pair_by_code Pair Display by Code ~357
Binds a screen the user is standing at: a TV, a wall panel, a kiosk, a tablet on the wall. Use it when they have that screen in front of them, since pairing binds the hardware permanently: ask them to open https://display.agentview.de on the device that should show the content and read you the 6-character code, then call this; profile_name is optional (pass it only if they named the place). Afterwards send content and show it with get_display_preview_url. When they have no screen yet and want to see something now, prefer create_display and hand them its managedUrl. Pairing needs mcp:display.setup (granted to connectors on connection). Pass target_display_id to rebind an EXISTING display onto new hardware (keeps name, settings, content); that needs full admin, which a connector session obtains without re-authorizing: run create_auth_session with scope 'admin', show the loginUrl, poll get_auth_session until active, then call this again with that session_request_id.
| 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 | – | Optional name for a new display; pass it only if the user named the place, otherwise a default is assigned. Ignored for rebind. Example: 'Front counter'. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| target_display_id | string | – | To rebind: the existing display profile ID to switch to the new hardware. Omit for new display pairing. |
| Name | Type | Req | Description |
|---|---|---|---|
| linkedHardwareId | string|null | – | – |
| name | string|null | – | – |
| profileId | string|null | – | – |
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 ~104
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. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| displayId | string|null | – | – |
| previousOrgId | string|null | – | – |
| removed | boolean|null | – | – |
No examples provided.
revoke_api_key Revoke API Key ~90
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). |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| alreadyRevoked | boolean|null | – | – |
| keyId | string|null | – | – |
| revoked | boolean|null | – | – |
No examples provided.
search Search Resources ~195
Searches agentView resources by keyword: documentation, server status, your account, your displays and the API catalog. Returns ranked resource URIs with snippets to read via fetch. Unauthenticated searches cover public docs only. Skip when you already know the URI — call fetch directly.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum number of results to return. Integer between 1 and 20 inclusive. Defaults to 5. |
| query | string | – | Free-text search terms. Examples: a display name, 'account', 'OAuth', 'status'. At least one of query or resource_type should be provided. |
| resource_type | string | – | Restricts results to a specific resource category. Must be one of: 'all', 'documentation', 'status', 'account', 'display', 'api'. Defaults to 'all' when omitted. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer|null | – | – |
| query | string|null | – | – |
| resourceType | string|null | – | – |
| results | array|null | – | – |
No examples provided.
search_public_apis Search Public APIs ~207
Searches a curated catalog of 600+ free public APIs (no key, HTTPS) for embedding live data in display HTML via fetch(): weather, news, finance, sports, images, food and 40+ more categories. Use when generating HTML that needs live internet data. Set list_categories=true to get the category menu with counts instead of search results. Returns docs links, CORS status and fetch() hints. No authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Category ID filter, e.g. 'weather', 'finance', 'news'. Omit for all. |
| cors_only | boolean | – | true returns only APIs with confirmed browser CORS support. Default false. |
| limit | integer | – | Maximum results, 1-20. Default 10. |
| list_categories | boolean | – | true returns all categories with API counts instead of search results. |
| query | string | – | Free-text search, e.g. 'weather forecast', 'bitcoin price', 'jokes'. |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array|null | – | – |
| category | string|null | – | – |
| corsOnly | boolean|null | – | – |
| count | integer|null | – | – |
| query | string|null | – | – |
| results | array|null | – | – |
| totalCatalogApis | integer|null | – | – |
No examples provided.
search_store_templates Search Store Templates ~233
Searches the agentView template store for ready-made display designs ('Zahnarzt-Wartezimmer', 'Bistro', 'reception', ...). Use when the user wants a polished pre-built design instead of generated HTML; results render as a gallery widget. Filter by category, suite and language; paginate with limit/offset. Follow up with get_store_template_details. No authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional category slug to restrict the search (English kebab-case, e.g. 'gastronomie', 'waiting-room'). |
| language | string | – | Preferred content language. Defaults to 'en'. |
| limit | integer | – | Maximum number of templates to return. Defaults to 10. |
| offset | integer | – | Offset into the filtered result set for pagination. Defaults to 0. |
| query | string | – | Free-text search over template title, description and tags. Examples: 'Zahnarzt', 'italienisches Bistro', 'conference room'. |
| suite | string | – | Optional design-family suite slug (e.g. 'bistro-warm', 'sushi-minimal'). |
| Name | Type | Req | Description |
|---|---|---|---|
| language | string|null | – | – |
| limit | integer|null | – | – |
| offset | integer|null | – | – |
| templates | array|null | – | – |
| total | integer|null | – | – |
No examples provided.
send_html Send HTML ~347
Shows HTML content on a display: menus, dashboards, welcome pages, schedules or any custom design. slot 'live' (default) replaces the current content; slot 'idle' stores the default/fallback content shown when nothing live is active (idle requires admin scope). Always pass a short description so later content reads stay meaningful. Exactly one of html or base64_html. For external web pages use send_url; to edit current content call read_display_html first. For polished results load prompt render_premium_display_html or resource agentview://public/design-system. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. Distinct from the display-specific 'token'. |
| base64_html | string | – | Base64-encoded HTML (standard base64). Use only when raw HTML cannot survive JSON transport. Mutually exclusive with html. |
| description | string | yes | Short human-readable summary of the content, e.g. 'Weekly KPI dashboard'. |
| display_id | string | yes | 8-character display profile ID, e.g. 'ABCD1234'. |
| duration | integer | – | Seconds the content stays; 0 = indefinite (default). Live slot only. |
| html | string | – | Complete HTML document to render. Mutually exclusive with base64_html. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| slot | string | – | Target slot: 'live' (default) replaces current content; 'idle' sets the default shown when idle (admin scope). |
| token | string | – | Display-specific demo/preview token for unauthenticated access. NOT the OAuth token. |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string|null | – | – |
| idleContentCleared | boolean|null | – | – |
| idleFile | string|null | – | – |
| idleVersion | string|null | – | – |
| name | string|null | – | – |
No examples provided.
send_store_template_to_display Send Store Template to Display ~386
Installs a published store template onto a display: materializes the HTML, auto-creates required data slots (reusing prior installs) and publishes within seconds. Call get_store_template_install_options first for valid targets and slots; customize per-slot JSON inline via data_slot_overrides (raw JSON string or inline object per key, max 64 KiB each). Requires content scope and control access to the display.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| data_slot_overrides | object | – | Optional { key: value } map keyed by data-slot key (see requiredDataSlots). Each value is JSON payload to install into that slot — either a string of raw JSON or an inline object/array. Unknown keys… |
| display_id | string | yes | Display profile ID (8-char alphanumeric) from list_displays or get_store_template_install_options. |
| idempotency_key | string | – | Optional opaque key (max 128 chars) to make this install retry-safe. If a previous successful install for the same (user, display, idempotency_key) tuple exists within 24 hours, the cached result is… |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| slug | string | yes | Template slug to install, e.g. 'bistro-warm-door'. Must be a currently published template. |
| Name | Type | Req | Description |
|---|---|---|---|
| contentVersionId | string|null | – | – |
| displayId | string|null | – | – |
| fileName | string|null | – | – |
| installedSlots | array|null | – | – |
| overrideCount | integer|null | – | – |
| templateSlug | string|null | – | – |
| versionId | string|null | – | – |
No examples provided.
send_url Send URL ~250
Shows an external web page on a display via full-page iframe: dashboards, websites or web apps. slot 'live' (default) replaces current content; slot 'idle' stores it as default/fallback content (admin scope). The URL must be absolute HTTP(S). Check get_display (response_format 'detailed') first when unsure about connectivity or embedding limits. If the page design is not display-ready, prefer send_html with generated content. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| content_description | string | – | Short summary of what the page shows (recommended). |
| display_id | string | yes | 8-character display profile ID, e.g. 'ABCD1234'. |
| duration | integer | – | Seconds the content stays; 0 = indefinite (default). Live slot only. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| slot | string | – | 'live' (default) or 'idle' for default/fallback content (admin scope). |
| url | string | yes | Absolute HTTP or HTTPS URL to load, e.g. 'https://example.com/dashboard'. |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string|null | – | – |
| idleContentCleared | boolean|null | – | – |
| idleFile | string|null | – | – |
| idleVersion | string|null | – | – |
| name | string|null | – | – |
No examples provided.
set_data_slot Set Data Slot ~358
Creates or updates a mutable JSON data slot (max 2 MB) that display HTML fetches via its readUrl — the live-data backbone for store templates. The slug is stable; reusing it updates in place. type 'value' stores JSON verbatim; 'aggregate' composes up to 32 sources ({slot:'name'} or one {prefixMatch:'agent-'}) within the same personal/group scope. Requires content scope. Returns slug, readUrl and size.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| content | – | yes | JSON content to store. For value slots: any valid JSON value up to 2 MB. For aggregate slots: a definition object { sources: [{slot,as?} | {prefixMatch}], onMissing?, onInvalidJson?, includeMeta?, st… |
| group_id | string | – | Group/organization ID for shared group slots. Omit for personal slots. |
| label | string | – | Human-readable label (max 200 chars). Required when creating a new slot; optional on update. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| slug | string | yes | Stable slug for the data slot. Must match ^[A-Za-z0-9_-]{8,64}$. Same slug on a later call updates the existing slot. Slug stays exactly as supplied; the public URL uses a separate server-generated P… |
| type | string | – | Slot kind. 'value' (default) stores 'content' verbatim. 'aggregate' stores 'content' as a composite-slot definition. Immutable after creation. |
| Name | Type | Req | Description |
|---|---|---|---|
| groupId | string|null | – | – |
| label | string|null | – | – |
| readUrl | string|null | – | – |
| sizeBytes | integer|null | – | – |
| slug | string|null | – | – |
| type | string|null | – | – |
| updatedAt | string|null | – | – |
No examples provided.
set_display_grant Set Display Grant ~187
Grants or revokes a member's access to one display inside an organization. action 'set' (default) creates/updates the grant with access_level 'view' (see status) or 'control' (send content); action 'remove' revokes it. The target user must be an organization member. Requires admin scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_level | string | – | Required for action 'set'. |
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| action | string | – | 'set' (default) creates/updates the grant; 'remove' revokes it. |
| display_id | string | yes | Display profile ID. |
| org_id | string | yes | Organization ID. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| target_user_id | string | yes | User to grant or revoke. |
| Name | Type | Req | Description |
|---|---|---|---|
| accessLevel | string|null | – | – |
| displayId | string|null | – | – |
| granted | boolean|null | – | – |
| removed | boolean|null | – | – |
| targetUserId | string|null | – | – |
No examples provided.
submit_feedback Submit Feedback ~211
Sends the user's feedback, feature request or bug report about agentView itself (not display content) for later review. You may also ask for it once, unprompted, right after the user has seen their first content on a screen - what they expected, what is missing - since nothing else in the product asks them; ask once and take no for an answer. Confirm the exact wording with the user before sending and send only their own words; optional sentiment. There is no automatic reply. Requires content scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| message | string | yes | The user's verbatim feedback text (max 2000 characters). Pass what the user actually said; do not paraphrase or add your own commentary. |
| sentiment | string | – | Optional overall sentiment of the feedback. Set only when the user's tone is clear; omit if unsure. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string|null | – | – |
| status | string|null | – | – |
No examples provided.
test_display_content Test Display Content ~176
Dry-run validator for generated HTML: runs agentView's size and description checks WITHOUT touching a real display. Use after composing complex HTML and before send_html or broadcast_content. No display_id needed; the response carries simulated=true. Capped at 1 MB. Requires authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| base64_html | string | – | Base64-encoded HTML payload. Mutually exclusive with html. |
| description | string | yes | Short human-readable description of what the HTML represents (1-1000 chars). Same validation rules as send_html. |
| html | string | – | Complete HTML document to validate. Mutually exclusive with base64_html — provide exactly one. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| description | string|null | – | – |
| displayId | string|null | – | – |
| displayName | string|null | – | – |
| hint | string|null | – | – |
| simulated | boolean|null | – | – |
| sizeBytes | integer|null | – | – |
| success | boolean|null | – | – |
No examples provided.
update_asset Update Asset ~120
Updates the name and/or description of an existing asset. The URL does not change. At least one of name or description must be provided. 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 to update. |
| description | string | – | New description for the asset. |
| name | string | – | New filename for the asset. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| asset_id | string|null | – | – |
| description | string|null | – | – |
| mime_type | string|null | – | – |
| name | string|null | – | – |
| size | integer|null | – | – |
| url | string|null | – | – |
No examples provided.
upload_asset Upload Asset ~174
Upload one or more files (images, fonts, CSS, video, etc.) as assets and receive stable URLs. Use these URLs in your HTML with <img src> or @font-face. Assets are cached on displays. Pass files as base64-encoded data. Requires authentication with at least content_only scope.
| Name | Type | Req | Description |
|---|---|---|---|
| access_token | string | – | Optional bearer token; prefer session_request_id. |
| descriptions | object | yes | JSON object mapping each filename to a human-readable description. |
| files | array | yes | Array of file objects, each with 'name' (filename with extension) and 'data' (base64-encoded content). |
| group_id | string | – | Optional group ID to associate the assets with. |
| session_request_id | string | – | Session handle from create_auth_session; pass it on every authenticated call. |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array|null | – | – |
| count | integer|null | – | – |
No examples provided.
What is the agentView MCP server?
agentView is an MCP server listed in the public MCP registry as de.agentview/agentview-mcp. Display delivery platform for AI agents. Push HTML, dashboards and live data to screens. This page covers its hosted endpoint (https://agentview.de/mcp).
Is the agentView MCP server safe to use?
agentView scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the agentView MCP server expose?
agentView exposes 57 tools: assign_display_categories, list_data_slots, set_display_grant, authenticate, create_api_key, and 52 more. Their descriptions and schemas cost roughly 10,256 tokens of context every time the server is loaded.
Does the agentView MCP server require authentication?
No. We connected to agentView without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the agentView MCP server still maintained?
agentView is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.