AgentPixel
REMOTE · AGENTPIXEL.IO
Most visitors never fill out a form. Turn the ones who click Accept into contacts your agent reads.
Available components
Last scanned (21 hours ago)
Scores higher than 62% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Marketing and SEO
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 Security57
- 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 (configure_consent). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- 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 Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2547 tokens (~181/item across 14 items; 14 tools + 0 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 Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- 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 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
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 4 Nov 2026 · Probed https://agentpixel.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agentpixel.io | CN=YE2,O=Let's Encrypt,C=US | 25 Oct 2026 | 23 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 5e20db6809cc46f0c85097334e32f53188b |
| SANs: agentpixel.io, www.agentpixel.io | ||||||
| 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 agentpixel.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690 | 8 | Verified |
| agentpixel.io. | 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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agentpixel.io/mcp | Verified | 200 | |
| http (plaintext) | http://agentpixel.io/mcp | HTTPS enforced | 301 | https://agentpixel.io/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 →
check_install Check and save installation ~109
Fetch 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.
| Name | Type | Req | Description |
|---|---|---|---|
| pixel_id | string | yes | pixel_id of the pixel whose homepage to check. Example: px_7a1b2c3d4e5f6a7b |
| Name | Type | Req | Description |
|---|---|---|---|
| check_error | – | – | – |
| checked_at | – | – | – |
| consent_enabled | – | – | – |
| data_kind | string | yes | – |
| domain | string | yes | – |
| evaluation_mode | boolean | yes | – |
| install_status | string | yes | – |
| pixel_id | string | yes | – |
| snippet | – | – | – |
No examples provided.
configure_consent Configure consent and policy ~468
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_channels | – | – | Optional. How the site owner may contact a visitor who consents. Any of: email, phone, sms, agentic. Example: ["email"] |
| controller_contact | – | – | Optional. Email address or web address where visitors can reach the site owner about their data. Shown in the hosted notice. Example: privacy@example.com |
| controller_jurisdiction | – | – | Optional. Where the site owner is based, as plain text, such as a country or US state. Shown in the hosted notice. Example: Florida, USA |
| controller_name | string | yes | Name of the business or person that owns the site. It is shown in the consent bar as the party asking the visitor for permission. 1 to 200 characters. Example: Example Shop LLC |
| controller_type | – | – | Optional. One of company, person or organization. Describes the site owner in the hosted notice. Example: company |
| data_sharing | – | – | Optional. true if the site owner shares consented contact data with other parties, false if not. Shown in the hosted notice. Example: false |
| disclosed_parties | – | – | Optional. Names of the other parties the site owner wants the hosted notice to list, one name per item. Example: ["Example CRM Inc."] |
| pixel_id | string | yes | pixel_id of the pixel to configure. Example: px_7a1b2c3d4e5f6a7b |
| purposes | array | yes | What the consent bar asks the visitor to allow. One or more of: analytics, resolution, newsletter, email_sharing, phone_sharing, partner_email, partner_calls, partner_sms. Include resolution, or no v… |
| site_policy_url | – | – | Optional. HTTPS address of the site's own privacy policy. The bar links to it, and the hosted notice becomes a short add-on about identification. Leave empty to use the hosted notice on its own. Exam… |
| Name | Type | Req | Description |
|---|---|---|---|
| consent_enabled | boolean | yes | – |
| pixel_id | string | yes | – |
| policy_hash | string | yes | – |
| policy_url | string | yes | – |
| policy_version | integer | yes | – |
| purposes | array | yes | – |
| snippet | string | yes | – |
No examples provided.
confirm_signup Confirm signup email ~278
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).
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | account_id returned by signup_free. Use with code, or with signup_token alone to check whether the email link was clicked. Example: 3f1c2b9e-1d2a-4c5b-9e8f-0a1b2c3d4e5f |
| code | – | – | The 6-digit code from the AgentPixel email. Ask the person to read it to you. Example: 482913 |
| signup_token | – | – | signup_token returned by signup_free. With code, the first confirmation also returns the API key. Alone with account_id, returns whether the email is confirmed. |
| verification_token | – | – | Older method: the token value from the confirmation link URL (?token=...). Prefer account_id and code. |
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | yes | – |
| message | string | yes | – |
No examples provided.
create_api_key Issue private API key ~132
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | account_id returned by signup_free. Example: 3f1c2b9e-1d2a-4c5b-9e8f-0a1b2c3d4e5f |
| signup_token | string | yes | signup_token returned by signup_free. It lasts 24 hours. |
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | – |
| prefix | string | yes | – |
No examples provided.
create_pixel Create site pixel ~103
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.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Public hostname of the site, without scheme, port, path or IP address. Example: shop.example.com |
| Name | Type | Req | Description |
|---|---|---|---|
| check_error | – | – | – |
| checked_at | – | – | – |
| consent_enabled | – | – | – |
| data_kind | string | yes | – |
| domain | string | yes | – |
| evaluation_mode | boolean | yes | – |
| install_status | string | yes | – |
| pixel_id | string | yes | – |
| snippet | – | – | – |
No examples provided.
get_contacts Read contacts ~189
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.
| Name | Type | Req | Description |
|---|---|---|---|
| after | – | – | Cursor for incremental reads: the high_water value from your previous pull, or 0 to start at the first stored contact. Use exactly one of on or after. Example: 0 |
| on | – | – | UTC calendar date in YYYY-MM-DD form. Returns contacts stored on that day. Use exactly one of on or after. Example: 2026-10-12 |
| pixel_id | string | yes | pixel_id whose contacts to read. Example: px_7a1b2c3d4e5f6a7b |
| Name | Type | Req | Description |
|---|---|---|---|
| after | – | – | – |
| contacts | array | yes | – |
| data_kind | – | – | – |
| evaluation_mode | – | – | – |
| high_water | – | – | – |
| on | – | – | – |
| pixel_id | string | yes | – |
No examples provided.
get_pixel Read pixel and install tag ~64
One pixel, including the HTML snippet to paste on its site.
| Name | Type | Req | Description |
|---|---|---|---|
| pixel_id | string | yes | pixel_id returned by create_pixel or list_pixels, never an account_id. Example: px_7a1b2c3d4e5f6a7b |
| Name | Type | Req | Description |
|---|---|---|---|
| check_error | – | – | – |
| checked_at | – | – | – |
| consent_enabled | – | – | – |
| data_kind | string | yes | – |
| domain | string | yes | – |
| evaluation_mode | boolean | yes | – |
| install_status | string | yes | – |
| pixel_id | string | yes | – |
| snippet | – | – | – |
No examples provided.
get_policy Read hosted privacy notice ~68
Hosted privacy and data-use policy HTML for a pixel. A pixel with consent turned off has no policy yet.
| Name | Type | Req | Description |
|---|---|---|---|
| pixel_id | string | yes | pixel_id whose hosted notice to read. Example: px_7a1b2c3d4e5f6a7b |
| Name | Type | Req | Description |
|---|---|---|---|
| pixel_id | string | yes | – |
| policy_html | string | yes | – |
No examples provided.
list_pixels List my pixels ~25
Pixels on this account. Each item has pixel_id, domain, and install_status.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| pixels | array | yes | – |
No examples provided.
resend_code Send a new email code ~119
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address used at signup. A new 6-digit code and link are sent there. Example: pat@example.com |
| Name | Type | Req | Description |
|---|---|---|---|
| sent | boolean | yes | – |
No examples provided.
setup_status Read installation progress ~54
Whether 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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| good_standing | boolean | yes | – |
| installed_count | integer | yes | – |
| pixel_count | integer | yes | – |
| setup_complete | boolean | yes | – |
No examples provided.
signup_free Start 30-day trial ~216
Start 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.
| Name | Type | Req | Description |
|---|---|---|---|
| code | – | – | Optional trial code from a directory or listing, such as SMITHERY60. An unknown code never blocks signup. Example: GLAMA60 |
| display_name | string | yes | Name shown on the account, such as the person's name or the business name. 1 to 200 characters. Example: Pat Lee |
| string | yes | Email address of the person who will own the account. The 6-digit code is sent here. Ask the person for it; never invent or guess an address. Example: pat@example.com |
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | – |
| email_verified | boolean | yes | – |
| plan | string | yes | – |
| signup_token | string | yes | – |
| status | string | yes | – |
No examples provided.
try_sample See sample output ~62
Labeled 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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| consent_receipt | object | yes | – |
| contacts | array | yes | – |
| next_step | string | yes | – |
| note | string | yes | – |
| pixel | object | yes | – |
| synthetic | boolean | yes | – |
No examples provided.
whoami Check account identity ~83
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | – |
| data_kind | string | yes | – |
| evaluation_expires_at | – | – | – |
| evaluation_install_url | – | – | – |
| evaluation_mode | boolean | yes | – |
| key_prefix | string | yes | – |
| next_action | string | yes | – |
| paid_until | – | – | – |
| plan | string | yes | – |
| resolution_state | string | yes | – |
| status | string | yes | – |
| trial_ends_at | – | – | – |
No examples provided.
How do I install the AgentPixel MCP server?
AgentPixel is a hosted endpoint at https://agentpixel.io/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 · agentpixel.io
claude mcp add --transport http io-agentpixel-agentpixel 'https://agentpixel.io/mcp'
What is the AgentPixel MCP server?
AgentPixel is an MCP server listed in the public MCP registry as io.agentpixel/agentpixel. Most visitors never fill out a form. Turn the ones who click Accept into contacts your agent reads. This page covers its hosted endpoint (https://agentpixel.io/mcp).
Is the AgentPixel MCP server safe to use?
AgentPixel scores 74 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 AgentPixel MCP server expose?
AgentPixel exposes 14 tools: try_sample, signup_free, confirm_signup, resend_code, create_api_key, and 9 more. Their descriptions and schemas cost roughly 1,970 tokens of context every time the server is loaded.
Does the AgentPixel MCP server require authentication?
No. We connected to AgentPixel without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the AgentPixel MCP server still maintained?
AgentPixel is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.