agentView
agentView lets ChatGPT update any browser-capable screen (a TV, tablet, kiosk, or signage panel) by talking. Ask ChatGPT to put a daily lunch menu on your bistro display, a sales dashboard on the office wall, or a waiting-room board on your practice screen, and the layout appears live within seconds. You manage screens, templates, and team members on agentview.de; ChatGPT drives them through the agentView connector.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Video Infrastructure & Live Visuals
- Secondary Subcategories
- None listed
- Brand
- agentView
- Access
- Account required
- First tracked
- 2026-05-23
- Tool count
- 74
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is visible.
ChatGPT Plugin Discoverability Score
ChatGPT organic discovery is not live yet
agentView is tracked in the ChatGPT Plugin registry. Public organic-discovery measurement is not live for ChatGPT yet, so there is no score to publish today.
Get notified when your score goes live
Enter your work email and we’ll notify you when ChatGPT Plugin organic discovery scoring launches.
No spam. Unsubscribe any time.
Competing in ChatGPT Video Infrastructure & Live Visuals
View CategoryHow the Discoverability Score works
Organic discovery scoring for agentView on ChatGPT is not live yet. The score will use measured agent conversations when it launches.
Organic discovery scoring is pending. Your Plugin score will appear on this scale when measurement goes live.
FoundDiagnostic
Whether Claude found your Plugin in connector search. It must be Found before it can reach the picker, but the score counts picker appearances—not search results.
PickedMain score
How often your Plugin appeared in the picker, or Claude invoked it directly, across contested conversations. This percentage is the Discoverability Score; the headline number is rounded.
PositionedDiagnostic
What position your Plugin appeared in when it was shown in the picker. This shows prominence, but it does not affect the score.
74 tools agents can invoke
Allocates premium display licenses from the authenticated user's Premium plan to an organization. Premium users have a pool of allocatable licenses (base + purchased extras) that can be distributed across organizations. Requires admin scope and a Premium plan.
allocate_licenses
Assigns a premium license to a display, removing its watermark and making it ad-free. For personal displays the license is taken from the user's free pool. For organization displays the license is taken from the group's allocated slot pool (use allocate_licenses first to give the organization licenses). Each license also adds +30 MB to the display's context storage pool. Requires admin scope. Returns id, name, isPremiumAssigned, badgeMode and freeLicenses.
assign_license
Validates a JWT agent token and caches the resulting identity on the current MCP session so that subsequent protected tool calls succeed without resending the token. Use this only if your client cannot reliably send an Authorization: Bearer header on every request; modern streamable HTTP clients should send the header instead. Do not call this if the session was already auto-authenticated by get_auth_session. Returns authenticated (boolean), sessionBound (whether the identity was cached on this session), userId, name, email, scope and expiresAt (ISO 8601).
authenticate
Sends HTML content to multiple displays at once. Provide display_ids to target specific displays or set all to true to target all accessible displays. Locked displays are skipped. Returns sent and skipped lists with reasons. Requires content_only scope.
broadcast_content
Sends HTML content to every display assigned to one of the selected category IDs. Set include_descendants=true to include subcategories. Set dry_run=true to preview matched profile IDs without sending.
broadcast_to_categories
Bulk adds or removes one category across multiple displays the caller can manage.
bulk_assign_display_category
Converts an unclaimed guest or pending display into a managed personal display owned by the authenticated user. This permanently transfers ownership and counts against the user's display quota. Use this only when the user explicitly wants to adopt an existing hardware or demo display that is already running. For first-time physical setup, prefer pair_by_code instead. Requires admin scope. Returns profileId (the new managed display ID) and name.
claim_display
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').
clear_display
Updates hardware permission, UI settings, and connectivity overrides for a display. Use this when the user wants to enable or disable camera, microphone or geolocation access, toggle the mouse cursor or badge overlay visibility, change the watermark position, or set network connectivity constraints. All parameters except display_id are optional — only provided settings are changed. If the display is online, changes are pushed immediately. Requires admin scope.
configure_display
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. Returns the raw key (avk_...), keyId, name, scope, permissions, allowedSlotSlugs, allowedDisplayIds, capabilities, and expiration.
create_api_key
Creates a browser-based login session and returns a loginUrl the user must open to authenticate. Use this as the first step when your client cannot complete OAuth 2.1 with PKCE itself. Do not use this if you already have a valid Bearer token. Returns sessionRequestId (needed for get_auth_session), loginUrl, pollUrl and expiresIn (seconds until the login window closes, default 600). After calling this, instruct the user to open the loginUrl, then poll get_auth_session until status becomes active.
create_auth_session
Creates a personal display WITHOUT pairing it to physical hardware. The display starts offline and uncoupled — this is NOT the normal setup flow. IMPORTANT: Do NOT use this tool for ambiguous requests like 'create a display', 'add a screen', 'set up a display', 'neues Display erstellen', or 'Bildschirm hinzufügen'. Those requests mean physical display onboarding by default. In such cases, instruct the user to open https://display.agentview.de in any web browser on the target screen (there is NO native app — agentView is purely browser-based), ask for the 6-character pairing code, and then call pair_by_code instead. Use create_display ONLY when the user explicitly says they want to pre-provision a display without hardware, create a virtual/headless display, or manage an already-existing profile separately from device setup. Do not call this just to check capacity — use get_account to inspect remainingDisplays first. Requires admin scope; list_displays and send_html only need content_only. Returns a pre-provisioned offline profile (id, name, displayUrl, setupUrl, managedUrl, pairingUrl, pairingExpiresAt, approvalUrl, status) — not the recommended first-time device onboarding flow.
create_display
Creates a personal display category. Pass parent_category_id to create a subcategory.
create_display_category
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.
create_organization
Creates a new display directly within an organization WITHOUT pairing it to physical hardware. The display starts offline and uncoupled. For physical screens, ALWAYS prefer pair_by_code instead — it creates and pairs in one step. Use create_org_display only for administrative pre-provisioning when the screen is not yet available. The display is owned by the organization, not by a personal user. Requires admin scope and manager or higher role in the organization. The organization must have available licenses (use allocate_licenses first if needed).
create_org_display
Deletes one or more assets. Displays referencing deleted assets will show broken images. Requires authentication with at least content_only scope.
delete_asset
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.
delete_data_slot
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).
delete_display
Permanently deletes an organization, releasing all its displays and removing all members. Only the owner can delete. This cannot be undone. Requires admin scope.
delete_organization
Retrieves the full details of a single agentView resource identified by its URI. Use this after search to read the complete content of a discovered resource, or directly when you already know the URI. Public URIs (e.g. agentview://public/status, agentview://public/instructions) require no authentication; private URIs (e.g. agentview://account/me, agentview://display/{id}) require a valid session. Returns uri, type, title, text (human-readable content) and data (structured details).
fetch
Returns the authenticated user's account profile including userId, name, email, plan with feature details, personal display limits, total accessible displays across all organizations, organization memberships summary and points balance. Use this to answer questions about the user's subscription, display quota, organization memberships or plan capabilities. Requires authentication with at least content_only scope. Do not use this to list displays — use list_displays instead.
get_account
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.
get_asset
Polls the status of a login session created by create_auth_session and returns the agent token once the user completes the browser login. Use this after create_auth_session; poll every 2-3 seconds until the status is no longer 'pending'. Do not use this for any other purpose. Returns one of three states: 'pending' (user has not logged in yet — keep polling), 'active' (login succeeded — response includes token as a raw JWT string and tokenExpiresAt as ISO 8601 timestamp), or 'expired' (login window or token timed out — call create_auth_session again). When status is active the current MCP session is automatically authenticated; you can call protected tools immediately.
get_auth_session
Returns a URL to the user's billing and subscription page where they can purchase or manage premium display licenses. Use this when the user wants to buy more licenses, upgrade their plan, or manage their subscription. Present the URL to the user and offer to allocate and assign the new licenses once the purchase is complete. Requires content_only scope.
get_billing_url
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.
get_data_slot
Lists displays whose IdleHtmlContent embeds a {{slot:<slug>}} placeholder for this data slot (with optional .readUrl / .slug / .label / .key suffix). Use this BEFORE delete_data_slot to know which displays will start returning 404, or before set_data_slot on a structural change to know which displays will pick up the new shape. Scope is restricted to displays the caller can already see in the same scope as the slot. Capped at 50 results; 'truncated' is true if more matches exist. Requires authentication.
get_data_slot_usage
Returns the full details of a single display including its live state, current content, pairing links, screen and viewport facts, touch capability, runtime classification, hardware/UI settings, and the latest reported browser/runtime facts. Use this when you already know the display ID and need its complete state. Do not use this to discover displays — use list_displays first. Requires authentication with at least content_only scope.
get_display
Returns resolved display capabilities for a display, including effective network mode plus concrete browser/runtime facts such as screen, viewport, touch/input hints, browser and engine version, platform classification, feature support, known limitations, graphics hints, and a recommended delivery mode. Call this BEFORE generating or sending HTML so your agent can match the content to the real display browser. Requires authentication with at least content_only scope.
get_display_capabilities
Returns the current content state of a display including the active live content file, currentContentDescription, content URL, a live preview link (displayUrl) that can be opened in a browser, idle content and delivery status. Use currentContentDescription first to understand intent; call read_display_html only when raw source access is truly needed. The displayUrl shows exactly what the display renders in real time. Requires authentication with at least content_only scope.
get_display_content
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.
get_license_info
Returns full details of a specific organization including its displays, members with roles, allocated slots and remaining capacity. Use this after list_organizations to inspect a specific organization's state. Requires authentication with at least content_only scope and the user must be a member of the organization.
get_organization
Returns agentView plan pricing, features and upgrade options. Use this when the user asks about pricing, costs, plan differences or what an additional display costs. No authentication required. Returns an array of plans with name, price, included displays and features, plus the per-display add-on price and a link to the pricing page.
get_pricing
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.
get_public_status
Returns the storage-pool snapshot (used / limit / remaining bytes) for the personal scope or a specific group. Data slots and uploaded assets share one quota; call this BEFORE set_data_slot or upload_asset on large payloads to verify the write will fit and avoid a 413 quota_exceeded round-trip. Suppresses raw numbers for narrowly-scoped API keys to avoid leaking org-wide storage state.
get_storage_quota
Returns the full public details of a single store template: localized title, short description, long-form markdown (intro, use cases, audience, setup), category, optional suite (design family), tags, theme, designStyle, placement, features list, preview image URL and store detail path. Use this after search_store_templates picks a candidate so you can explain the template to the user before offering to send it to one of their displays. No authentication required.
get_store_template_details
Returns the displays the authenticated user can send a given store template to, plus the data slots the template needs. Call this before send_store_template_to_display so you can (1) show the user which Türschild they can target and (2) gather any per-slot JSON the template consumes (greeting, menu JSON, sensor URL, ...). Requires authentication with at least content_only scope. Returns templateSlug, language, displays (array of {displayId, name, scope='personal'|'group', groupId?, isLocked}) and requiredDataSlots (array of {key, label, type, placeholderName, required}). When no displays come back, tell the user they first need to create/claim a display (create_display / pair_by_code) before installing store content. API-key callers with a display whitelist only see their scoped displays.
get_store_template_install_options
Creates an invite link to add a new member to an organization. The invite is valid for 7 days. Optionally bind it to a specific email address. Requires admin scope and the user must be an admin or owner of the organization. Returns the inviteUrl to share with the invitee.
invite_member
Lists all API keys for the current user. Returns key metadata (prefix, name, scope, dates) but never the raw key. Requires admin scope.
list_api_keys
Lists uploaded assets with optional filtering. When working with an organization display, pass its orgId as group_id to search the group's shared asset pool. Without group_id, only personal assets are returned. Check this before uploading to avoid duplicates. Requires authentication with at least content_only scope.
list_assets
Lists data slots with optional filtering. Returns metadata only (no jsonContent). Each item includes readUrl: /data/u/{publicSlug}/{slug}.json or /data/g/{groupSlug}/{slug}.json. Use readUrl in display HTML fetch() calls. Requires authentication.
list_data_slots
Lists the authenticated user's personal display categories and assignment counts. Requires authentication with at least content_only scope.
list_display_categories
Returns all displays accessible to the authenticated user as an array with count and display details. Use this to discover available display IDs before reading or modifying a specific display with get_display or send_html. Requires authentication with at least content_only scope; admin is not required. Each display entry includes id (8-character alphanumeric profile ID), name, status, locked, displayUrl, setupUrl, pairingUrl and other management links plus a compact runtime summary such as screen resolution, touch support, deviceClass and deviceFamily when known. Do not use this to get full details of one display — use get_display with the display_id instead.
list_displays
Returns all displays in an organization with their real-time connection status, online/offline state, and license info. Use this for fleet monitoring. Requires content_only scope and organization membership.
list_org_displays
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.
list_organizations
Lists all public-API categories with the number of APIs in each. Call this BEFORE search_public_apis when you want to offer the user a guided category pick (weather, finance, news, etc.), or when answering 'what kinds of free APIs do you have?'. No authentication required.
list_public_api_categories
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; each entry has slug, title, description, templateCount, heroIconKey and detailPath.
list_store_categories
Locks a display so that content changes such as send_html, send_url and clear_display are rejected until unlock_display is called. Use this when the user wants to protect a display from accidental content changes. The display continues showing its current content. Requires admin scope. Returns id and locked (boolean true). To reverse this, use unlock_display.
lock_display
Clears the cached authentication identity from the current MCP session. Use this when the user wants to end the session or switch accounts. This does not revoke the underlying JWT token — it only removes the session-local cache. After logout, protected tools will require re-authentication. Returns loggedOut (boolean) and sessionBound (boolean).
logout
PREFERRED way to set up a physical display — and the DEFAULT for any ambiguous user request about creating, adding, or setting up a display. Unless the user explicitly asks for pre-provisioning without hardware or a virtual/headless display, ALWAYS use this tool instead of create_display. agentView is purely browser-based — there is NO native app to install. Workflow: (1) Ask the user to open https://display.agentview.de in any web browser on the target TV/screen/tablet, (2) ask them to read the 6-character code shown on screen, (3) call this tool with the code. This creates and pairs the display in one step — no orphaned or offline displays. Two modes: (A) New display — provide code + profile_name to create and pair in one step. This is the recommended default for first-time setup. (B) Rebind — provide code + target_display_id to move an existing display profile to new hardware. Call list_displays first to get the target_display_id. Always prefer this over create_display or create_org_display for physical devices. Requires admin scope.
pair_by_code
Reads the raw HTML source code that is currently shown on a display. Use this when you want to inspect, modify or reuse the existing content. Typical workflow: call read_display_html to get the current HTML, make changes, then send the modified HTML back via send_html. Returns the HTML as a string plus metadata (character count, content type, when it was sent). If no live content is active, returns the idle/default HTML if one is set. Requires authentication with at least content_only scope.
read_display_html
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are agentView alternatives on ChatGPT?
As of 2026-08-14, agentView competes with Bitmovin, VisualSong in ChatGPT Video Infrastructure & Live Visuals, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.