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.
npx agentmods add skills/blockrunai/blockrun-mcp/phonenpx skills add BlockRunAI/blockrun-mcp --skill phonegit clone --depth 1 https://github.com/BlockRunAI/blockrun-mcpWrote 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.
[](https://agentmods.dev/skills/blockrunai/blockrun-mcp/phone)<a href="https://agentmods.dev/skills/blockrunai/blockrun-mcp/phone"><img src="https://agentmods.dev/badge/skills/blockrunai/blockrun-mcp/phone.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00066 | $0.02149 |
| Opus 5 | $0.00033 | $0.01074 |
| Sonnet 5 | $0.00013 | $0.00430 |
| Haiku 4.5 | $0.00007 | $0.00215 |
Grade A, and why
phone 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 5d 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.
How it starts
The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Phone & Voice
Two namespaces in one tool: /v1/phone/* for number intelligence + provisioning, /v1/voice/* for outbound AI calls. Pay per call in USDC.
Phone numbers use E.164 format — + followed by country code and subscriber digits (US: +1 + 10 digits; UK: +44 + 10 digits; etc.). The examples below use <+E.164-number> as a placeholder — the LLM should substitute the actual number from the user's request, not copy the literal placeholder.
How to Call from MCP
const targetNumber = "<+E.164-number-from-user>" // e.g. user said "call my doctor at 415-..."
// Lookup carrier + line type
blockrun_phone({ path: "phone/lookup", body: { phoneNumber: targetNumber } })
// Buy a 30-day US number
blockrun_phone({ path: "phone/numbers/buy", body: { country: "US", areaCode: "415" } })
// Outbound AI call (requires `from` — see below)
const r = await blockrun_phone({ path: "voice/call", body: {
to: targetNumber,
from: "<+E.164-number-you-own>", // from phone/numbers/buy
task: "Confirm appointment for Friday at 3pm with Dr. Wong.",
voice: "june"
}})
// poll the result (free GET, no body)
blockrun_phone({ path: `voice/call/${r.call_id}` })
Endpoint Catalog
Phone intelligence + numbers (/v1/phone/*)
| Path | Body | Price | Effect |
|---|---|---|---|
phone/lookup |
{ phoneNumber } |
$0.0110 | Carrier, line type (mobile/landline/VoIP) |
phone/lookup/fraud |
{ phoneNumber } |
$0.0510 | + SIM-swap signals, call-forwarding detection |
phone/numbers/buy |
{ country?: "US"|"CA", areaCode? } |
$5.001 | 30-day lease, US or CA |
phone/numbers/renew |
{ phoneNumber } |
$5.001 | Extend lease 30 days |
phone/numbers/list |
{} |
$0.0020 | Your wallet-owned numbers |
phone/numbers/release |
{ phoneNumber } |
free | Return to pool |
Outbound AI calls (/v1/voice/*)
| Path | Method | Body | Price |
|---|---|---|---|
voice/call |
POST | { to, task, from, voice?, max_duration?, language?, first_sentence?, wait_for_greeting? } |
$0.5410 flat |
voice/call/{call_id} |
GET (no body) | – | free poll |
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.
- 5d ago First seen · 177 lines · 66 tokens per session scan A 679ba785d302
phone is a skill published in the GitHub repository BlockRunAI/blockrun-mcp (393 stars, last pushed 2d ago), licensed MIT. It adds 66 tokens to every session and 2,149 once invoked, about $0.0003 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-30.
Other skills, from other repositories
resolve-pr-comments-stack
Resolve unresolved PR review comments across an entire Graphite (gt) stack of many PRs, bottom-up, in one working directory. Use when asked to "go through this stack and resolve comments", "clean up review comments across the whole stack", or given a list/range of PR numbers that form (or partially form) a gt stack.…
review-pr
Reviews a PR or diff with multi-angle finders and adversarial verification, then reports a findings table, a merge/no-merge recommendation, required followups, and offers to create a follow-up PR. Use when the user types /review-pr [PR# | branch | path].
portainer-mcp-hygiene
How to drive the Portainer MCP server's tools correctly — both reading and mutating. Reading: project responses with select (JMESPath), where the heavy fields live (snapshots, status blocks, managed fields), how to handle non-JSON Docker/K8s proxy endpoints (container and pod logs, stats, exec), and how to interpret…
vault-for-llm
Connect OpenClaw to Vault Agent Memory as a local-first governed project memory layer. Search first, then bounded-read cited source ranges; propose new memories as candidates instead of writing directly into active memory.
mem0-api
Complete reference for building applications with the Mem0 memory API and SDK — a persistent, self-improving memory layer for LLM agents and chatbots. ALWAYS use this skill when the user mentions: "mem0", "mem0ai", "MemoryClient", "Memory()", "memory layer for AI", "persistent agent memory", "long-term memory for…
disease-analysis
Run a multi-scale disease pathophysiology analysis — molecular defects through to clinical symptoms — using TogoMCP (RDF Portal SPARQL), TogoID ID conversion, OLS4, and PubMed. Use whenever the user asks to "analyze a disease", build a disease mechanism model, find disease-associated proteins/pathways/drugs, map a…