Control D for AI agents
Control D is a DNS filtering platform that lets a business manage internet access policies and monitor traffic across devices and networks. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Control D.
Check a profile's analytics
Check a profile's analytics summary to see what traffic has been blocked recently.
Look up devices on a profile
List the devices attached to a profile before applying a new filtering rule.
Confirm before deleting a profile
Confirm before deleting a profile, since every device and rule tied to it stops working.
54 Control D actions, graded by risk.
Every Control D action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
33Look things up. Allowed by default.
- control_d.get_ipGet IP
- control_d.get_usersGet Users
- control_d.get_accessList Known Access IPs
- control_d.get_devicesGet Devices
- control_d.get_networkGet Network Stats
- control_d.get_proxiesGet Proxies
- control_d.get_profilesGet Profiles
- control_d.get_devices_typesGet Device Types
- control_d.get_analytics_levelsGet Analytics Levels
- control_d.get_billing_paymentsGet Billing Payments
- control_d.get_billing_productsGet Billing Products
- control_d.get_profiles_optionsGet Profile Options
- control_d.get_analytics_endpointsGet Analytics Endpoints
- control_d.get_profiles_profile_idGet Profile by ID
- control_d.get_services_categoriesGet Service Categories
- control_d.get_organizations_membersGet Organization Members
write
16Create and change things. Allow, or ask the user first.
- control_d.post_devicesCreate Device
- control_d.post_profilesCreate Profile
- control_d.post_profiles_profile_id_rulesCreate Custom DNS Rule
- control_d.post_profiles_profile_id_schedulesCreate Profile Schedule
- control_d.post_profiles_profile_id_rules_folder_idCreate Custom Rules in Profile Folder
- control_d.put_organizationsModify Organization
- control_d.put_devices_device_idModify Device
- control_d.put_profiles_profile_idModify Profile
- control_d.put_profiles_profile_id_rulesModify Custom Rule for Profile
- control_d.put_profiles_profile_id_filtersBulk Update Profile Filters
- control_d.put_profiles_profile_id_rules_rule_idUpdate Custom Rule by Rule ID
- control_d.put_profiles_profile_id_filters_externalUpdate External Filters for Profile
- control_d.put_profiles_profile_id_services_serviceModify Service for Profile
- control_d.put_profiles_profile_id_filters_filter_filterModify Profile Filter
- control_d.put_profiles_profile_id_schedules_schedule_idUpdate Profile Schedule
- control_d.put_profiles_profile_id_rules_rule_id_folder_idMove Profile Rule to Folder
destructive
5Delete, cancel or archive. Ask first, or deny outright.
- control_d.delete_devices_device_idDelete Device by ID
- control_d.delete_profiles_profile_idDelete Profile
- control_d.delete_profiles_profile_id_rules_rule_idDelete Profile Rule by Rule ID
- control_d.delete_profiles_profile_id_schedules_schedule_idDelete Profile Schedule
- control_d.delete_profiles_profile_id_rules_rule_id_folder_idDelete Rule from Folder
Control D in three steps.
- 01Your users connect Control DThey add their Control D api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create Device” can wait for the user, and “delete Device by ID” can be denied outright.
- 03Any agent can actYour agent calls Control D through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('control_d', { read: 'allow', write: 'ask', // post_devices destructive: 'deny', // delete_devices_device_id }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Control D connects.
Users add their Control D api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
The same Control D connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- API key
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Control D from any agent.
More security and identity apps.
Control D and Arc0, answered.
Can I use Control D with Claude, ChatGPT or Cursor?
Yes. Connect Control D to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Control D actions you allow.
How do users connect Control D?
Users add their Control D api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.
Which Control D actions can my agent take?
54 in total: 33 read, 16 write and 5 destructive, such as “create Device”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Control D?
Yes. Actions like “delete Device by ID” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Control D too?
Yes. The same Control D connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Control D into your agent.
Your users connect Control D once, under your brand. Your agent gets 54 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan