mcp-dev-calls AGENTS.md

mcp-dev-calls AGENTS.md is an instructions file for Codex, OpenCode from SpekoAI/mcp-dev-calls. It costs 2,721 tokens per session, scanned A, original, MIT.

Project instructions for Speko, a command-line program and MCP server that can place disclosed phone calls and handle speech input and output. MCP is a way for an AI agent to use external tools through a standard interface.

In plain words
What is it for?
Use them when developing or operating Speko’s phone-call, audio, voice, opt-out, usage, or MCP-server features.
Why use it?
They document the two operating modes, available tools, and safety requirements for calls that reach real people and may cost money.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/spekoai/mcp-dev-calls/agents-md
Clone the repo
git clone --depth 1 https://github.com/SpekoAI/mcp-dev-calls

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mcp-dev-calls AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/spekoai/mcp-dev-calls/agents-md.svg)](https://agentmods.dev/instructions/spekoai/mcp-dev-calls/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/spekoai/mcp-dev-calls/agents-md"><img src="https://agentmods.dev/badge/instructions/spekoai/mcp-dev-calls/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 2,721 This file is loaded in full into every session.
When invoked 2,721 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02721 $0.02721
Opus 5 $0.01360 $0.01360
Sonnet 5 $0.00544 $0.00544
Haiku 4.5 $0.00272 $0.00272

Measured 3d ago against content hash fb57bb2de763, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

mcp-dev-calls AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 196 lines

How it starts

The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md — @spekoai/mcp-calls (speko)

Agent-oriented guide for using this package correctly. It places real, disclosed phone calls to real people and businesses, and it does terminal speech (TTS/STT). Calls cost money. Read the Safety section before you dial. Running in a headless cloud agent sandbox? See docs/agent-platforms.md.


1. What speko is

One binary, two personalities, decided by how it's launched (see mcp/src/cli/router.ts):

  • MCP server — when an MCP host (Claude Code, Claude Desktop, any client) spawns it over stdio (piped, non-TTY stdin, no subcommand). It exposes 6 tools.
  • CLI — when you run it in a terminal with a subcommand (speko audio ..., speko voices, speko dnc ..., speko usage, speko call ..., etc.).

stdout/stderr invariant (do not break it): in MCP-server mode stdout is reserved for JSON-RPC; all logs, progress, and diagnostics go to stderr. Every CLI subcommand runs its handler and process.exit()s before the MCP server is ever constructed, which is what keeps stdout clean. A typo'd subcommand prints usage to stderr and exits 2 — it never silently boots a server that would hang the caller.


2. Two ways to use it

(a) As an MCP server — the 6 tools

Prefer these tools over shelling out when you're an agent inside an MCP host.

Tool Kind Use when
lookup_business(name, location?, phone_number?, utc_offset_minutes?) read-only You want the verified-directory path for a business. Resolves to dialable candidates and mints a short-lived signed dial_token per callable one. This is the only path that can authorize make_call. If you already found the official number via web search, pass phone_number (E.164) to skip the directory lookup — it's still carrier-verified as a business line.
make_call(dial_token, objective, caller_name, context?, behavior?, greet_first?, after_hours_confirmation?, max_duration_seconds?, wait?) mutating Place the disclosed, objective-scoped call authorized by a dial_token. Blocks until the call finishes, returns the OUTCOME + transcript with honest connected/answered/not_connected. wait:false returns a call ID to poll with get_call.
call_number(phone_number, objective, caller_name, recipient_name?, context?, behavior?, greet_first?, utc_offset_minutes?, after_hours_confirmation?, max_duration_seconds?, wait?) mutating The default path once you have a number — business or personal, mobiles allowed. Works with just the user's Speko key, no directory/carrier keys. Only dial a number the user gave you or you found — never one you invented. wait:false returns a call ID to poll with get_call.
call_me(message, mode?, context?, after_hours_confirmation?, max_duration_seconds?, wait?) mutating Ring this install's locally verified owner. There is no destination field. Use notify for one-way delivery and converse for a reply. A converse instruction is usable only when the result says `confirmation: confirmed
check_call_readiness() read-only Preflight before the first call, or when calling doesn't work. Reports auth, prepaid credit balance, outbound caller-ID readiness, owner verification (call_me.available), and the enforced client profile, each with a concrete next step. Never dials.
get_call(call_id) read-only Re-check a call's status, connected/answered, OUTCOME, and transcript. Use after a timeout, or to inspect a finished call. Never dials.

Read the full file on GitHub · 196 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 196 lines · 2,721 tokens per session scan A fb57bb2de763

Subscribe to this mod's changes

mcp-dev-calls AGENTS.md is an instructions file published in the GitHub repository SpekoAI/mcp-dev-calls (4 stars, last pushed 12d ago), licensed MIT. It adds 2,721 tokens to every session, about $0.0136 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.