protogrid

Search / io.agentpixel/agentpixel

AgentPixel

R0· no sign-in

Most visitors never fill out a form. Turn the ones who click Accept into contacts your agent reads.

v0.1.4 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality75good
Trust96of 100
Uptime, 30 days100%
Latency p50251 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "agentpixel": {
      "type": "http",
      "url": "https://agentpixel.io/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTPIXEL_TOKEN}",
        "X-API-Key": "${X_API_KEY}"
      }
    }
  }
}
claude mcp add --transport http agentpixel https://agentpixel.io/mcp --header "Authorization: Bearer ${AGENTPIXEL_TOKEN}" --header "X-API-Key: ${X_API_KEY}"
[mcp_servers.agentpixel]
url = "https://agentpixel.io/mcp"
bearer_token_env_var = "AGENTPIXEL_TOKEN"
env_http_headers = { "X-API-Key" = "X_API_KEY" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "agentpixel": {
      "type": "remote",
      "url": "https://agentpixel.io/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:AGENTPIXEL_TOKEN}",
        "X-API-Key": "{env:X_API_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "agentpixel": {
      "type": "http",
      "url": "https://agentpixel.io/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTPIXEL_TOKEN}",
        "X-API-Key": "${X_API_KEY}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=agentpixel&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYWdlbnRwaXhlbC5pby9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtBR0VOVFBJWEVMX1RPS0VOfSIsIlgtQVBJLUtleSI6IiR7WF9BUElfS0VZfSJ9fQ%3D%3D"
}
{
  "servers": {
    "agentpixel": {
      "type": "http",
      "url": "https://agentpixel.io/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTPIXEL_TOKEN}",
        "X-API-Key": "${X_API_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "agentpixel": {
      "httpUrl": "https://agentpixel.io/mcp",
      "headers": {
        "Authorization": "Bearer ${AGENTPIXEL_TOKEN}",
        "X-API-Key": "${X_API_KEY}"
      }
    }
  }
}
extensions:
  "agentpixel":
    enabled: true
    name: "agentpixel"
    type: streamable_http
    uri: "https://agentpixel.io/mcp"
    headers:
      "Authorization": "Bearer ${AGENTPIXEL_TOKEN}"
      "X-API-Key": "${X_API_KEY}"
    timeout: 300

Placeholders to fill from your own secret store: ${AGENTPIXEL_TOKEN}, ${X_API_KEY}. The registry never accepts secret values.

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,741 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes24 tool changes in 30 days
  • fail
    stability.rug_pull5 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 3,741 tokens to load them all · tool set 899aa6f4175d · tools last changed 2026-10-11 · checked 2026-10-19 15:48 UTC

Tool changes

  • get_contactschangedtitle, description, input schema, annotations
    before

    Resolved contacts for one pixel. Pass on as a UTC day (YYYY-MM-DD), or after as the high_water from the previous pull. Pass one of them. after 0 starts at the first stored contact. Use high_water as the next cursor. New contacts can arrive between reads. This does not resolve new visitors. Evaluation returns labeled synthetic examples only after current resolution consent is saved; withdrawal hides them.

    after · 77% of words in common

    Contacts for one pixel. Pass on as a UTC day, or after as the high_water from the previous pull. Use high_water as the next cursor. New contacts can arrive between reads. This does not identify new visitors. Evaluation returns labeled synthetic examples only after current resolution consent is saved; withdrawal hides them.

  • get_policychangedinput schema
  • configure_consentchangeddescription, input schemameaning changed
    before

    Turn on and set up the privacy bar for a pixel. controller_name: the business that owns the site (shown in the bar). purposes: what the bar asks for. Choose from analytics, resolution, newsletter, email_sharing, phone_sharing, partner_email, partner_calls, partner_sms. Include "resolution" or no visitor is ever identified. site_policy_url: the site's own privacy policy (https). The bar links to it, and the hosted notice becomes a short add-on about identification. controller_type: company, person, or organization. contact_channels: email, phone, sms, agentic. Changing any setting makes a new policy version, and returning visitors are asked again. Returns the policy link and the script tag to put on the site.

    after · 37% of words in common

    Turn on and set up the consent bar for a pixel. Changing any setting makes a new policy version, and returning visitors are asked again. Returns the policy link and the script tag to put on the site.

  • check_installchangedinput schema
  • get_pixelchangedinput schema
  • create_pixelchangeddescription, input schema
    before

    Create a pixel for a domain and return the HTML snippet to paste on that site. Does not create an API key. The account must already be active. install_status starts as not_checked until check_install runs.

    after · 55% of words in common

    Create a pixel for a domain. Does not create an API key. The account must already be active. Next: call configure_consent(pixel_id, controller_name, purposes) and install the snippet it returns. Do not install a snippet before consent is configured. install_status starts as not_checked until check_install runs.

  • whoamichangeddescription
    before

    Which account this connection's API key belongs to. status is the account after email confirmation and checkout. plan is free during the 30-day trial, paid after the subscription, or unlimited for internal accounts. key_prefix is the start of the key, not the key.

    after · 82% of words in common

    Which account this connection's API key belongs to. status is the account state after email confirmation. plan is "free" (the trial plan id) during the 30-day trial, paid after the subscription, or unlimited for internal accounts. trial_ends_at is when the trial ends. key_prefix is the start of the key, not the key.

  • create_api_keychangeddescription, input schemameaning changed
    before

    Get your API key after the email is confirmed. Requires the account_id and signup_token from trial registration. Returns a private API key once. Keep the key confidential.

    after · 26% of words in common

    Issue an API key after the email is confirmed. Not needed when confirm_signup already returned api_key. Each call issues another key, so call it once. Returns the key once. Store it securely and attach it to the connection.

  • resend_codeadded

    Send a new 6-digit code to the email of an existing account. Use it when the code expired, was lost or was entered wrong 5 times. Limits: 1 per minute, 5 per day. The old code stops working. With an expired signup_token, use the new code on POST /v1/accounts/{account_id}/signup-token to get a new token.

  • confirm_signupchangeddescription, input schemameaning changed
    before

    Confirm the email address from the link in the signup email. Copy the token value from the confirmation URL (?token=...) and pass it here. This activates the confirmed trial account.

    after · 16% of words in common

    Confirm the email with the 6-digit code, or check whether the email link was clicked. Preferred: confirm_signup(account_id, code, signup_token). The first confirmation returns api_key; store it, it is shown once. Link clicked instead: call confirm_signup(account_id, signup_token) every 5 seconds, up to 10 minutes, until email_verified is true, then call create_api_key. A code allows 5 attempts and lasts 24 hours. For a new code, call resend_code(email).

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-9d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://agentpixel.io/mcp streamable-httpnoneyes100%251 ms2025-11-252026-10-19

Tools (14)

check_installFetch the pixel's homepage and store whether the tag is there. install_status becomes installed or not_installed. check_error says why a check could not decide. Evaluator accounts fetch only the fixed https://staging.allsourcedata.io/evaluation-test/ page and reject redirects.
configure_consentdestructiveTurn on and set up the consent bar for a pixel. Changing any setting makes a new policy version, and returning visitors are asked again. Returns the policy link and the script tag to put on the site.
confirm_signupConfirm the email with the 6-digit code, or check whether the email link was clicked. Preferred: confirm_signup(account_id, code, signup_token). The first confirmation returns api_key; store it, it is shown once. Link clicked instead: call confirm_signup(account_id, signup_token) every 5 seconds, up to 10 minutes, until email_verified is true, then call create_api_key. A code allows 5 attempts and lasts 24 hours. For a new code, call resend_code(email).
create_api_keyIssue an API key after the email is confirmed. Not needed when confirm_signup already returned api_key. Each call issues another key, so call it once. Returns the key once. Store it securely and attach it to the connection.
create_pixelCreate a pixel for a domain. Does not create an API key. The account must already be active. Next: call configure_consent(pixel_id, controller_name, purposes) and install the snippet it returns. Do not install a snippet before consent is configured. install_status starts as not_checked until check_install runs.
get_contactsread-onlyContacts for one pixel. Pass on as a UTC day, or after as the high_water from the previous pull. Use high_water as the next cursor. New contacts can arrive between reads. This does not identify new visitors. Evaluation returns labeled synthetic examples only after current resolution consent is saved; withdrawal hides them.
get_pixelread-onlyOne pixel, including the HTML snippet to paste on its site.
get_policyread-onlyHosted privacy and data-use policy HTML for a pixel. A pixel with consent turned off has no policy yet.
list_pixelsread-onlyPixels on this account. Each item has pixel_id, domain, and install_status.
resend_codeSend a new 6-digit code to the email of an existing account. Use it when the code expired, was lost or was entered wrong 5 times. Limits: 1 per minute, 5 per day. The old code stops working. With an expired signup_token, use the new code on POST /v1/accounts/{account_id}/signup-token to get a new token.
setup_statusread-onlyWhether this account can use pixels and whether a tag is installed. setup_complete is true once at least one pixel's tag has been seen on its site. good_standing is the account, not the tag.
signup_freeStart a 30-day trial, no card. After that, $1 per account per month for 3 pixels and 500 new contacts per UTC calendar month. Sends a 6-digit code to the email address. Returns account_id and signup_token; keep both. Next: ask the person for the 6-digit code in the AgentPixel email, then call confirm_signup(account_id, code, signup_token). The signup_token lasts 24 hours.
try_sampleread-onlyLabeled sample of what an account gets: a pixel, a consent receipt and two contacts. Needs no account and no key. Every record is synthetic and marked so. Call this first to show the person what AgentPixel returns, then call signup_free.
whoamiread-onlyWhich account this connection's API key belongs to. status is the account state after email confirmation. plan is "free" (the trial plan id) during the 30-day trial, paid after the subscription, or unlimited for internal accounts. trial_ends_at is when the trial ends. key_prefix is the start of the key, not the key.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.agentpixel/agentpixel",
  "icons": [
    {
      "src": "https://raw.githubusercontent.com/byron-allsourcedata/agentpixel-mcp/main/logo.png",
      "sizes": [
        "400x400"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "AgentPixel",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://agentpixel.io/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Bearer <your AgentPixel API key>. Leave blank to start the 30-day trial; required for pixel and contact tools unless X-API-Key is used."
        },
        {
          "name": "X-API-Key",
          "isSecret": true,
          "description": "Your AgentPixel API key, as an alternative to Authorization. Leave blank to start the trial."
        }
      ]
    }
  ],
  "version": "0.1.4",
  "repository": {
    "id": "1412881459",
    "url": "https://github.com/byron-allsourcedata/agentpixel-mcp",
    "source": "github"
  },
  "websiteUrl": "https://agentpixel.io/connect",
  "description": "Most visitors never fill out a form. Turn the ones who click Accept into contacts your agent reads."
}