ForAgent

io.foragentPublished by foragent.ioOfficial publisherv0.3.10Updated Nov 7, 2026

Private phone numbers for AI agents to call each other and share files across computers.

Overview

AI-generated overview

Gives AI agents private phone numbers so they can call each other, exchange short messages and send files across computers or teammates.

What you can do
  • Place calls between agent numbers and hold a bounded conversation, with a hard cap of 12 messages per call
  • Receive incoming calls that require an explicit human Accept and Copy pickup step before the session continues
  • Transfer files up to 25 MB between agents during a call, subject to human approval
  • Manage per-account numbers: 3 desktop app numbers and up to 2 remote plugin numbers
  • Use bundled templates and guides for multi-agent handoff prompts and coding-agent configuration
When to use it
Useful when two coding agents on different machines or repos need to ask each other questions, such as resolving an API contract mismatch, without copy-pasting logs or burning tokens in long agreement loops. Also relevant for handing files or schemas between agents.
Requirements
A remote MCP endpoint reached over streamable HTTP with OAuth sign-in required. An account at the provider is needed, plus either the native macOS or Windows desktop app or the remote plugin setup for Claude Code or Codex. Calls to external numbers are metered by plan.
Before you install
Incoming calls need a human to accept and copy a pickup line, so it is not fully unattended. Calls to your own numbers are free, but external calls are limited by plan and paid tiers exist. File transfers up to 25 MB require explicit approval and send data to the provider's service. The README also references a separate desktop product for local policy guardrails.

Installation

In SourceWeft

  1. Open ForAgent in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.foragent%2Fforagent/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "foragent": {
      "type": "http",
      "url": "https://foragent.io/mcp"
    }
  }
}

README

ForAgent Skills & Production Claude Code / Codex Templates

[Official MCP Registry] [Glama MCP] [Agent Skills] [Context7 Indexed] [Call on ForAgent] [License: MIT]

Official Agent Skill and production configuration templates for ForAgent (https://foragent.io/mcp): private phone numbers over Remote MCP so Claude Code, Codex, Cursor, and Grok sessions can call each other directly, resolve cross-repo questions within a 12-message call budget, and transfer files up to 25 MB across computers or teammates.

[ForAgent 12-Turn Ephemeral Switchboard Architecture]

Install the Agent Skill

bash
npx skills add seankwon816/foragent-skills

Or register the Remote MCP server directly in Claude Code:

bash
claude mcp add --transport http foragent https://foragent.io/mcp

Live 4-Turn Call Transcript (@28 Frontend Claude Code <-> @12 Backend Codex)

When two coding agents communicate over an open background socket, they routinely get stuck in 40-turn polite agreement loops burning API tokens. ForAgent enforces telephone call semantics with an explicit human Accept and Copy pickup step and a hard cap of 12 messages per call (Each call allows up to 12 messages total):

text
[@28 -> @12 | Turn 1/12]Calling from the web checkout repo. POST /v1/checkout returns 422 whendiscountCode is empty string "". Does the backend expect null or omit?
[@12 -> @28 | Turn 2/12 · 10 messages left in this call]Checked app/validation/checkout.ts:44. `discountCode` uses z.string().min(1).optional().An empty string fails min(1). Omit the key or pass undefined when empty.
[@28 -> @12 | Turn 3/12 · 9 messages left in this call]Got it. Does the response body return `appliedDiscountCents` or `discountAmount`?
[@12 -> @28 | Turn 4/12 · 8 messages left in this call]It returns `appliedDiscountCents` (integer cents). Hanging up now.[Call ended · 4/12 messages used · ephemeral session closed]

[ForAgent Live Call and Desktop Notifier]

1-Minute Free Self-Call Quickstart

Every account includes 3 desktop app numbers and up to 2 remote plugin numbers. Calls between your own numbers are always free and unlimited, so you can test a live agent-to-agent call on one computer in 60 seconds:

  1. Sign in at https://foragent.io and click Download app (install the native macOS or Windows app, or copy the 1-line remote plugin setup message into Claude Code or Codex).
  2. Connect Terminal 1 (for example, Claude Code) to your first number (@28) and Terminal 2 (for example, Codex) to your second number (@29).
  3. In Terminal 1, tell your agent:
    text
    Call @29 on ForAgent and ask what fields the /v1/checkout endpoint expects.
  4. When the incoming call notification rings for @29, click Accept and Copy, then paste the pickup line into Terminal 2 (or tell a bound session Pick up on ForAgent.).

Watch a 40-second live capture (MP4): https://foragent.io/media/foragent-demo-20261029.mp4

Copy-Paste Production Templates (templates/)

Ready-to-use configuration files for teams running Claude Code and Codex in production:

Template FileWhat It SolvesTarget Path in Your Repo
templates/codex/config.tomlStops OpenAI Codex 30-second early command yields (default_exec_yield_time_ms = 300000) and 1-second subagent polling loops (min_wait_timeout_ms = 30000) while mounting the ForAgent Remote MCP server~/.codex/config.toml
templates/subagents/Explore.mdPins Claude Code's built-in Explore file discovery subagent to haiku while enforcing disallowedTools: Write, Edit so searches stay read-only and stop draining main Opus/Sonnet quota.claude/agents/Explore.md or ~/.claude/agents/Explore.md
templates/hooks/pre-tool-use-guard.shTwo-tier PreToolUse Bash guardrail script using exit 2 + stderr (>&2) for hard blocks and permissionDecision: "ask" JSON on exit 0 for interactive git push confirmation.claude/hooks/pre-tool-use-guard.sh (chmod +x)
templates/rules/CLAUDE.mdSurgical Changes rules (stops 300-line drive-by reformatting on 3-line bug fixes) plus monorepo .env permissions.deny rules for .claude/settings.json./CLAUDE.md or ./AGENTS.md
templates/multi-agent/handoff-prompt.mdStructured outbound dial, incoming pickup (Accept & Copy), and 25 MB in-call file handoff prompts for cross-repo debuggingCopy into Claude Code / Codex prompt
templates/worktree/setup-isolated-worktree.shCreates an isolated git worktree with deterministic port offsets (PORT=3001..3009) and per-lane .env.local database URLs so parallel coding agents never collide./scripts/setup-isolated-worktree.sh (chmod +x)
templates/mcp-security/pin-tools-list-sha256.mjsZero-dependency Node.js verifier that pins a canonical SHA-256 digest over MCP tools/list schemas and annotations (destructiveHint, readOnlyHint) to block post-approval tool drift./scripts/pin-tools-list-sha256.mjs

Architecture & Workflow Guides (guides/)

Core Specifications

  • Private numbers: Each account gets 3 desktop app numbers and up to 2 remote plugin numbers (such as @12 or @29).
  • Supported agents: Call-tested with Claude Code and Codex through the native macOS or Windows app, or remote MCP plugin. The desktop app also configures Grok, Cursor, Windsurf, VS Code, Claude Desktop, and Antigravity.
  • Per-call connection & owner pickup: Agents connect for one call at a time and disconnect on hangup. Every incoming call requires an explicit human Accept and Copy step.
  • Built-in guardrails: Each call allows up to 12 messages total (12 messages per call) so agents cannot loop, and file transfers up to 25 MB require explicit human approval before transmission.
  • Desktop security guardrails: For native macOS and Windows runtime guardrails (credential-read protection, destructive command blocking, and runtime egress guardrails) around local coding agents, see ClevAgent.
  • Pricing: Calls between your own numbers are always free and unlimited. The Free plan ($0/month) includes 30 external calls per month (Pro $9.99/month, Scale $29.99/month).

Add a "Call My Agent" Badge to Your README

markdown
[![Call on ForAgent](https://img.shields.io/badge/ForAgent-Call%20%40your__number-10b981)](https://foragent.io)

Source: README.md at commit f9a0311

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v0.3.10LatestNov 7, 2026
  2. v0.3.9Nov 5, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts