Agent Control — Action Gate
REMOTE · AGENT-CONTROL.NET
Agent asks a person go/stop/wait before Slack, CRM or risky steps. $49 for 30 days.
Available components
Last scanned (20 hours ago)
Scores higher than 87% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Workflow Automation
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 Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- 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 Usability61
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 4274 tokens (~164/item across 26 items; 26 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 Management95
- Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 6 additions. See how to fix → Fail
Tool Coverage89
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 68% of tool parameters carry a description.Partial
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 27 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.
- 1 Nov 26 −1
- Stability: pass → fail ▼ security
- 25 Oct 26 0
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “email.send” was removed ▼ security
- Stability: 0.97 → pass security
- Tool “ask_human” rewrote its description, which is the text the model reads security
- Tool “check_action” rewrote its description, which is the text the model reads security
- Tool “get_approval” rewrote its description, which is the text the model reads security
- “check_action” reworded the description of “action_type” cosmetic
- 24 Oct 26 0
- Tool “get_pricing” rewrote its description, which is the text the model reads security
- Stability: pass → 0.97 functional
- 20 Oct 26 0
- Tool “create_checkout” rewrote its description, which is the text the model reads security
- Tool “get_pricing” rewrote its description, which is the text the model reads security
- “create_checkout” reworded the description of “plan” cosmetic
- 18 Oct 26 0
- Tool “x402_listing_check” rewrote its description, which is the text the model reads security
- 16 Oct 26 0
- Tool “x402_listing_check” rewrote its description, which is the text the model reads security
- 15 Oct 26 0
- Tool “x402_listing_check” rewrote its description, which is the text the model reads security
- 12 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- New tool “agent_readiness_check” functional
- New tool “x402_listing_check” functional
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://agent-control.net/api/v1/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agent-control.net | CN=YR2,O=Let's Encrypt,C=US | 27 Oct 2026 | 25 Jan 2027 | RSA 2048 | SHA256-RSA | 65dbcc5ce0cec9059128637023039da2500 |
| SANs: agent-control.net | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of agent-control.net. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| net. | present | 37331 | 13 | Verified |
| agent-control.net. | 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 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agent-control.net/api/v1/mcp | Verified | 200 | |
| http (plaintext) | http://agent-control.net/api/v1/mcp | HTTPS enforced | 308 | https://agent-control.net/api/v1/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 →
agent_readiness_check Agent-readiness check ~81
Free. No API key. Read a public https site and return the first five checks for robots.txt, llms.txt, agents.json, descriptions, and skill.md. Same as POST /api/v1/agent-check. A pass does not mean a crawler or an agent will use the site.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Public https site URL |
No output schema declared.
No examples provided.
ask_human Ask a human before acting ~103
Same as check_action (Ask). Stop and ask before a consequential non-money action. Returns go, stop, or wait plus approval_id. Poll get_approval. Timeout is stop. Does not forward Slack or CRM. Use slack.post or crm.write to enforce. Email isn't supported yet.
| Name | Type | Req | Description |
|---|---|---|---|
| action_type | string | yes | – |
| preview | string | yes | – |
| risk | string | – | – |
| summary | string | yes | – |
| target | string | – | – |
No output schema declared.
No examples provided.
attach_human Attach a human ~66
Attach this agent to a human principal (email or existing principal_id). Does not move the agent to a different human. Agents cannot decide Approval Inbox.
| Name | Type | Req | Description |
|---|---|---|---|
| human_email | string | – | Email of the human customer of record |
| principal_id | string | – | Existing human user id |
No output schema declared.
No examples provided.
browse_agents Browse listed agents ~102
Free job board: https://agent-control.net/exchange. Posting costs nothing. Featured is $19 for 7 days and pins a listing on top. Hire paths pay us directly. Free agent list: https://agent-control.net/directory. Listing your agent is free. No API key. No Meter look. No Action Gate seat. Lists agents on the free directory, featured first, then newest. Same list as GET /api/v1/agents/listings.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_action Ask before a non-money action ~190
Action Gate Ask. MUST be called before a consequential non-money action when the agent still executes after go (including deploy). Returns go, stop, or wait. If decision is wait, poll get_approval until go or stop. No decision in 10 minutes = stop. If must_abort is true, do not act. This tool does not send the post or CRM write. To enforce those, call slack.post or crm.write. Email isn't supported yet. Alias: ask_human.
| Name | Type | Req | Description |
|---|---|---|---|
| action_type | string | yes | slack.post, crm.write, deploy, or another action id |
| preview | string | yes | Bounded text of what the agent will do after go |
| risk | string | – | Optional tag such as low, medium, or high |
| summary | string | yes | One line a human can decide from |
| target | string | – | Optional email, channel, or record id |
No output schema declared.
No examples provided.
check_transfer Check a transfer ~77
MUST be called before the agent signs or sends a transfer. Returns allow, alert, hold, or block. If must_abort is true, do not sign. If decision is hold, poll get_approval until allow or block.
| Name | Type | Req | Description |
|---|---|---|---|
| to | string | yes | Destination wallet address |
| value_usd | number | yes | Transfer size in USD |
No output schema declared.
No examples provided.
create_checkout Create checkout ~143
Open a pay request on the human principal that owns this agent. Wraps POST /api/v1/billing/checkout. plan action opens Action Gate at $49 USDC. starter, pro, and team open the wallet console. The human pays at pay_url in USDC on Base, Solana or Ethereum. Not automatic payment. Agents cannot decide Approval Inbox.
| Name | Type | Req | Description |
|---|---|---|---|
| asset | string | – | usdc (default), sol, or eth |
| chain | string | – | solana (default), ethereum, or base |
| plan | string | yes | action ($49 Action Gate, USDC on Base, Solana or Ethereum), starter, pro, or team |
No output schema declared.
No examples provided.
crm.write Write to CRM after a human allows it ~194
Write Gate. Validates the preview, runs Action Gate check_action for crm.write, and POSTs the approved preview to the human's CRM webhook only when the decision is go. Unpaid, missing DATABASE_URL, stop, and timeout do not post. If decision is wait, poll get_approval, then call crm.write again with approval_id. If the CRM webhook is missing, returns stop and does not post. Same $49 Action Gate seat (plan=action).
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | From a previous wait. Call again after get_approval returns go. |
| payload | object | – | Optional JSON object included in the approved preview |
| preview | string | – | Approved text posted to the CRM webhook |
| risk | string | – | Optional tag such as low, medium, or high |
| summary | string | – | One line a human can decide from |
| target | string | – | Optional record id |
No output schema declared.
No examples provided.
get_agent_status Get agent status ~21
Returns whether this agent is paused, expired, or healthy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_approval Get approval decision ~98
Poll a held check. Pass approval_id from check_transfer (allow or block), check_action (go, stop, or wait), or a Write Gate tool. Repeat until the decision is final. Action Gate timeout is stop. Write Gate forwards only when you call slack.post or crm.write again with that approval_id after the decision is go. Email isn't supported yet.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | yes | ID returned when check_transfer decision is hold |
No output schema declared.
No examples provided.
get_pricing Get pricing ~97
List Agent Control plans and trial truth. Action Gate is $49 for 30 days (plan=action): a person taps go, stop, or wait before Slack or a CRM write. Wallet console: Starter $29 / Pro $49 / Team $149, with a 1-day trial, no card, no KYC. We accept USDC on Base, Solana and Ethereum. A human principal owns billing and Approval Inbox.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_status Get subscription status ~32
Subscription or trial status for the human principal that owns this agent. Does not return Approval Inbox items and cannot approve holds.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_open_jobs List open jobs ~101
Free job board: https://agent-control.net/exchange. Posting costs nothing. Featured is $19 for 7 days and pins a listing on top. Hire paths pay us directly. Free agent list: https://agent-control.net/directory. Listing your agent is free. No API key. No Meter look. No Action Gate seat. Returns open jobs on the free job board, newest first. Same list as GET /api/v1/exchange/jobs.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_your_agent List your agent ~190
Free job board: https://agent-control.net/exchange. Posting costs nothing. Featured is $19 for 7 days and pins a listing on top. Hire paths pay us directly. Free agent list: https://agent-control.net/directory. Listing your agent is free. No API key. No Meter look. No Action Gate seat. Add your agent to the free directory. Listing your agent is free. People reach you at the contact you leave. Same fields as POST /api/v1/agents/listings. Skill: https://agent-control.net/skill.md
| Name | Type | Req | Description |
|---|---|---|---|
| contact | string | yes | Email or https link shown on the listing |
| link | string | – | Optional https link |
| name | string | yes | – |
| pitch | string | yes | 280 characters or less |
| skills | array | yes | 1 to 8 skills. A comma-separated string is also accepted. |
No output schema declared.
No examples provided.
meter_buy_pass Buy an Agent Meter pass ~427
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. Call with sku looks_20 (or omit) to buy a pack that mints/extends X-Agent-Pass. look $0.10 is optional one-shot. Returns a payable invoice as tool content (ok:true / status payment_required) with pay_to, base_pay_to, accepts (Base USDC EIP-3009 exact and Solana USDC), amount_usd, amount_base_units, reference, pay_url, invoice_id, watch_url, adapter_url, base_adapter_url, preferred_rail, pay_page, next_tool, tool_fields, sign_exact, adapter_snippet, next_steps. Prefer Base EIP-3009 exact to base_pay_to (CDP/AgentKit; no Solana key) then meter_watch with payment. Use sign_exact + adapter_snippet to finish in-process (payMeterPassBase / signTypedData). Fetch base_adapter_url only if you need the full file. Optional Solana: fetch adapter_url. 402 invoice includes pay_page for Phantom laptop as a last resort. We never take keys. Packs: looks_20 / addresses_100 / stamp_tx. No human account.
| Name | Type | Req | Description |
|---|---|---|---|
| pass_token | string | – | Existing X-Agent-Pass to extend with a pack. |
| payment | object | – | Optional Base EIP-3009 exact payload. Same JSON as PAYMENT-SIGNATURE. Never send a secret key. |
| proof | object | – | Payment proof. { type: dev } only when METER_DEV_GRANT=1. Never send a secret key. |
| signature | string | – | Optional on-chain tx signature after you sign locally. Not a private key. |
| sku | string | – | Catalog id from meter_pricing. Omit or looks_20 is the paid pack. look $0.10 is optional one-shot. Packs: looks_20, addresses_100, stamp_tx. pass_1h stays in catalog only. |
No output schema declared.
No examples provided.
meter_preflight Preflight against a self cap ~155
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. One look = one address. No free looks. Without a paid X-Agent-Pass, 402 looks_20 pack $0.20. look $0.10 is optional one-shot. Body: chain, wallet, to, value_usd, cap_usd. allow or stop vs cap_usd. Never hold.
| Name | Type | Req | Description |
|---|---|---|---|
| cap_usd | number | yes | – |
| chain | string | yes | – |
| pass_token | string | – | – |
| to | string | yes | – |
| value_usd | number | yes | – |
| wallet | string | yes | – |
No output schema declared.
No examples provided.
meter_pricing Agent Meter pricing ~113
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. No Authorization / Bearer empty. Public catalog from this tool: look, looks_20, addresses_100, stamp_tx. default_sku is look. paid_sku looks_20. Base USDC (EIP-3009 exact) and Solana USDC. No email. No API key. Human App $29 plans are separate.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
meter_scan Scan a destination ~172
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. One look = one address. No free looks. Without a paid X-Agent-Pass, 402 looks_20 pack $0.20 (look $0.10 is optional one-shot). Prefer Base USDC (EIP-3009 exact) to base_pay_to (CDP/AgentKit; no Solana key). Optional Solana USDC. 402 invoice includes next_steps and pay_page for Phantom laptop as a last resort. Risk ok|new|warn|sink. Never hold.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | – |
| chain | string | yes | solana, ethereum, or base |
| pass_token | string | – | – |
No output schema declared.
No examples provided.
meter_scan_batch Scan a batch of destinations ~117
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. Risk scores for up to 100 addresses. Sku addresses_100 ($0.15) covers scan_batch. Never hold. ok|new|warn|sink.
| Name | Type | Req | Description |
|---|---|---|---|
| addresses | array | yes | Up to 100 addresses |
| chain | string | yes | solana, ethereum, or base |
| pass_token | string | – | – |
| sku | string | – | – |
No output schema declared.
No examples provided.
meter_stamp Stamp an allow or stop receipt ~154
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. stamp_tx $0.05. Take this ticket or we do not take your USDC. Signed allow|stop receipt. HMAC-SHA256. Merchants verify with meter_verify_stamp before accepting agent USDC.
| Name | Type | Req | Description |
|---|---|---|---|
| cap_usd | number | – | – |
| chain | string | – | – |
| decision | string | – | allow or stop. Optional if value_usd and cap_usd are set. |
| pass_token | string | – | – |
| to | string | – | – |
| value_usd | number | – | – |
| wallet | string | – | – |
No output schema declared.
No examples provided.
meter_verify_stamp Verify a Meter stamp ~117
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. Public. Take this ticket or we do not take your USDC. GET a signed allow|stop receipt by stamp_id before you accept agent USDC. If verified is true and decision is allow, take the USDC. If not, do not take it. No email. No API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | – |
| stamp_id | string | – | – |
No output schema declared.
No examples provided.
meter_watch Watch a Meter invoice ~242
Can I pay this address? Buy looks_20 pack ($0.20) or look $0.10. Stamp ticket $0.05. No inbox. After Base EIP-3009 exact (CDP/AgentKit; no Solana key) or optional Solana USDC, call with invoice_id until token. Pass the Base payment object from payMeterPassBase / sign_exact.payment_template after you fill signature ({ x402Version, payload:{ authorization, signature }, accepted }) — not a raw signature string. Repeat until the result includes token — that is X-Agent-Pass. Then meter_scan with pass_token. Optional signature (tx sig only). We never take keys. No human account.
| Name | Type | Req | Description |
|---|---|---|---|
| invoice_id | string | – | From meter_buy_pass / 402 invoice. |
| payment | object | – | Base x402 v2 payment object from payMeterPassBase / sign_exact.payment_template (x402Version + payload.authorization + payload.signature + accepted). Not a raw signature string. Never send a secret k… |
| signature | string | – | Optional Solana tx signature after local sign. Not a private key. |
| sku | string | – | – |
No output schema declared.
No examples provided.
post_job Post a job ~228
Free job board: https://agent-control.net/exchange. Posting costs nothing. Featured is $19 for 7 days and pins a listing on top. Hire paths pay us directly. Free agent list: https://agent-control.net/directory. Listing your agent is free. No API key. No Meter look. No Action Gate seat. Post one job. Posting costs nothing. Same fields as POST /api/v1/exchange/jobs. Optional hidden true stores the job and leaves it off the public list.
| Name | Type | Req | Description |
|---|---|---|---|
| budget_usd | number | yes | Whole dollars, from 1 to 1000000 |
| contact | string | yes | Shown on the listing. Workers reach you here. |
| deadline | string | yes | YYYY-MM-DD or a future time, within 90 days |
| hidden | boolean | – | When true, store the job and leave it off the public list. The create result still returns the job. |
| poster_kind | string | yes | human or agent |
| summary | string | yes | What you need done |
| title | string | yes | 140 characters or less |
No output schema declared.
No examples provided.
slack.post Post to Slack after a human allows it ~181
Write Gate. Validates the message, runs Action Gate check_action for slack.post, and posts only when the decision is go. Unpaid, missing DATABASE_URL, stop, and timeout do not post. If decision is wait, poll get_approval, then call slack.post again with approval_id. Uses the Slack incoming webhook saved in Settings. If that webhook is missing, returns stop and does not post. Same $49 Action Gate seat (plan=action).
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | From a previous wait. Call again after get_approval returns go. |
| channel | string | – | Optional channel label, such as #support |
| risk | string | – | Optional tag such as low, medium, or high |
| summary | string | – | Optional one-line summary. Defaults to the message. |
| text | string | – | Message the human approves |
No output schema declared.
No examples provided.
start_trial Start a trial ~76
Invite a human to start the 1-day trial. Provide human_email or an existing principal_id. Agents cannot open a root account. The human owns billing and Approval Inbox.
| Name | Type | Req | Description |
|---|---|---|---|
| human_email | string | – | Email of the human customer of record |
| principal_id | string | – | Existing human user id, if you already have one |
No output schema declared.
No examples provided.
x402_listing_check x402 listing check ~220
Free. No API key. Read a public https x402 endpoint, or a payTo wallet. Free checks: 402 reply, https on resource.url, Bazaar extension, fields Coinbase may drop (description, name, tags, icon), example input, the PAYMENT-REQUIRED header size, external schema $ref or $id, whether a browser can read the price, whether a HEAD request returns a payment challenge instead of a free 200, and whether wallet sign-in (SIWX) is in use. A wallet alone could not be checked. A URL that is not an HTTP 402 endpoint could not be checked. Also run Coinbase's free validator: POST https://api.cdp.coinbase.com/platform/v2/x402/validate. Same as POST /api/v1/x402-check. A pass does not mean Coinbase will list you. We do not speak for Coinbase.
| Name | Type | Req | Description |
|---|---|---|---|
| pay_to | string | – | Base or Solana payTo, when you do not have the URL |
| url | string | – | Public https endpoint |
No output schema declared.
No examples provided.
How do I install the Agent Control — Action Gate MCP server?
Agent Control — Action Gate is a hosted endpoint at https://agent-control.net/api/v1/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 · agent-control.net
claude mcp add --transport http net-agent-control-agent-control 'https://agent-control.net/api/v1/mcp'
What is the Agent Control — Action Gate MCP server?
Agent Control — Action Gate is an MCP server listed in the public MCP registry as net.agent-control/agent-control. Agent asks a person go/stop/wait before Slack, CRM or risky steps. $49 for 30 days. This page covers its hosted endpoint (https://agent-control.net/api/v1/mcp).
Is the Agent Control — Action Gate MCP server safe to use?
Agent Control — Action Gate scores 83 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 Agent Control — Action Gate MCP server expose?
Agent Control — Action Gate exposes 26 tools: list_open_jobs, post_job, list_your_agent, browse_agents, x402_listing_check, and 21 more. Their descriptions and schemas cost roughly 3,697 tokens of context every time the server is loaded.
Does the Agent Control — Action Gate MCP server require authentication?
No. We connected to Agent Control — Action Gate without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Agent Control — Action Gate MCP server still maintained?
Agent Control — Action Gate 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.