AgentPixel
Create a website pixel, configure visitor consent, and retrieve resolved contacts through MCP.
What it can do
- Try Sample: 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 perso
- Signup Free: 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
- Confirm Signup: 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;
What data it sees
Do you need an account
No: the server works without sign-in
Create a website pixel, configure visitor consent, and retrieve resolved contacts through MCP. Start a 30-day trial with no card; then $1 per account per month, with usage limits and no extra usage charges. Signup requires email confirmation. Tools include signup_free, confirm_signup, create_api_key, create_pixel, configure_consent, and get_contacts. Connect to https://agentpixel.io/mcp without a key to begin signup. After signup, use your own API key for pixel and contact tools. Example: Create a pixel for my website, configure consent, and show today's resolved contacts.
How to connect
How to connect AgentPixel to Claude
The server address to paste into Claude settings:
https://agentpixel--byron.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect AgentPixel to ChatGPT
The server address to paste into ChatGPT settings:
https://agentpixel--byron.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect AgentPixel to Cursor
The server address to paste into Cursor settings:
https://agentpixel--byron.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (14)
Raw names from tools/list. Only developers need these.
| try_sample | 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. |
| signup_free | 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. |
| confirm_signup | 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). |
| resend_code | 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. |
| create_api_key | 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. |
| whoami | 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. |
| setup_status | 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. |
| list_pixels | Pixels on this account. Each item has pixel_id, domain, and install_status. |
| create_pixel | 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. |
| get_pixel | One pixel, including the HTML snippet to paste on its site. |
| check_install | 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. |
| configure_consent | 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. |
| get_policy | Hosted privacy and data-use policy HTML for a pixel. A pixel with consent turned off has no policy yet. |
| get_contacts | 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. |