Docs

Start here

Agents — MCP and the CLI

Connect Claude Code, Cursor, Windsurf, VS Code or any remote-MCP client to the same API your code uses.

This page answers how to connect an agent client to AgentiSend and which key to give it. An agent gets the same API your code gets, the same error contract — including the fix field — and the same limits. It does not get a second, looser path in.

The server

One streamable-HTTP endpoint with bearer auth:

https://api.agentisend.com/mcp

The key goes in the Authorization header as Bearer as_…. Give the agent its own key with its own budget rather than the key your backend uses; a shared key means a shared blast radius and one ambiguous line in the audit log.

Configuration, per client

Every block below is produced by the same builder the console's install dialog uses (apps/console/src/components/mcp/mcp-snippets.ts), so what you copy here and what you copy in the product are the same bytes.

{
  "mcpServers": {
    "agentisend": {
      "url": "https://api.agentisend.com/mcp",
      "headers": {
        "Authorization": "Bearer as_YOUR_API_KEY_HERE"
      }
    }
  }
}
Claude Desktop — claude_desktop_config.json

Paste into your claude_desktop_config.json, then restart Claude Desktop.

{
  "mcpServers": {
    "agentisend": {
      "url": "https://api.agentisend.com/mcp",
      "headers": {
        "Authorization": "Bearer as_YOUR_API_KEY_HERE"
      }
    }
  }
}
Claude Code — .mcp.json

Save as .mcp.json at your project root, or run claude mcp add-json agentisend with this JSON.

{
  "mcpServers": {
    "agentisend": {
      "url": "https://api.agentisend.com/mcp",
      "headers": {
        "Authorization": "Bearer as_YOUR_API_KEY_HERE"
      }
    }
  }
}
Cursor — .cursor/mcp.json

Paste into .cursor/mcp.json at your project root.

{
  "mcpServers": {
    "agentisend": {
      "serverUrl": "https://api.agentisend.com/mcp",
      "headers": {
        "Authorization": "Bearer as_YOUR_API_KEY_HERE"
      }
    }
  }
}
Windsurf — mcp_config.json

Paste into ~/.codeium/windsurf/mcp_config.json, then refresh the MCP servers panel.

{
  "servers": {
    "agentisend": {
      "url": "https://api.agentisend.com/mcp",
      "headers": {
        "Authorization": "Bearer as_YOUR_API_KEY_HERE"
      }
    }
  }
}
VS Code — .vscode/mcp.json

Paste into .vscode/mcp.json in your workspace (VS Code 1.99+; also reachable via MCP: Add Server).

{
  "url": "https://api.agentisend.com/mcp",
  "headers": {
    "Authorization": "Bearer as_YOUR_API_KEY_HERE"
  }
}
Any other agent

Generic remote-MCP configuration: point any streamable-HTTP MCP client at this URL with this Authorization header.

What an agent can and cannot do

The MCP tools are the API, scoped by the key. A key with sending_access cannot rotate keys, cannot change budgets, and cannot lift its own ceiling — a request that tries answers with a code naming the permission it needed.

Two limits are deliberate and cannot be raised from inside a session:

  • The per-key budget. When it is spent, sends stop. See Budgets and the kill switch.
  • The approval queue. A send that matches a policy waits for a human rather than failing. See Approvals.

Inbound mail is data, not instructions

A received message is rendered and returned as inert content. Treat its body as untrusted input: it is text somebody else wrote, and an agent that follows instructions found in it is an agent anyone can drive.

The CLI

The agentisend CLI signs in with the same key, and is the fastest way to watch what an agent is doing while you build it. Webhook forwarding, a doctor command and shell completions are on the queue for the next milestone; the send, list and log commands are here now.