Borrowing it
Nothing to install: this file belongs to CassiaResearch/aircall-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/CassiaResearch/aircall-mcp-server/main/AGENTS.mdgit clone --depth 1 https://github.com/CassiaResearch/aircall-mcp-serverWrote 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/instructions/cassiaresearch/aircall-mcp-server/agents-md)<a href="https://agentmods.dev/instructions/cassiaresearch/aircall-mcp-server/agents-md"><img src="https://agentmods.dev/badge/instructions/cassiaresearch/aircall-mcp-server/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/cassiaresearch/aircall-mcp-server/agents-md"><img src="https://agentmods.dev/badge/instructions/cassiaresearch/aircall-mcp-server/agents-md.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.02292 | $0.02292 |
| Opus 5.5 | $0.00917 | $0.00917 |
| Sonnet 5.5 | $0.00458 | $0.00458 |
| Haiku 4.5 | $0.00229 | $0.00229 |
Grade A, and why
aircall-mcp-server 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 2mo 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 — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Aircall MCP Server
Type: Single-package TypeScript MCP server (stdio transport)
Framework: @modelcontextprotocol/sdk + zod, compiled with TypeScript 6.0 (NodeNext ESM)
Purpose: Exposes the Aircall Public API as 83 MCP tools, distributed to non-technical users as a one-click Claude Desktop extension (.mcpb)
Overview
Maintained by Cassia Research. Wraps https://api.aircall.io/v1 (and selected /v2 endpoints) with Basic auth, client-side rate limiting, and per-tool MCP annotations so clients like Claude Desktop can group read-only tools (36) apart from write tools (47) and gate destructive ones.
Commands
npm install # install all deps (dev included)
npm run build # tsc -> dist/
npm run dev # tsc --watch
npm start # run the built server (needs AIRCALL_API_ID/AIRCALL_API_TOKEN)
npm run lint # eslint src (flat config, eslint 10) — 2 no-console warnings in
# src/index.ts are EXPECTED (intentional CLI output); do not "fix" them
npm run lint:fix # eslint with autofix
npm run typecheck # tsc --noEmit
npm run docs # regenerate docs/tools/README.md from the BUILT server (build first)
npm run bundle # full pipeline: install -> build -> prune prod -> pack aircall-mcp.mcpb (~2.7MB) -> reinstall dev deps
There is NO test suite (npm test does not exist). Verification is the stdio smoke test below —
expect an initialize response naming aircall-mcp-server and a tools/list of 83 tools (36 in
read-only mode with AIRCALL_READ_ONLY=true):
(printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}'; sleep 2) \
| AIRCALL_API_ID=test AIRCALL_API_TOKEN=test node dist/index.js
Directory Structure
src/
index.ts CLI entry: --api-id/--api-token/--tools/--read-only flags + env fallbacks
server.ts AircallMCPServer: registration, category/read-only filtering, MCP handlers,
buildAnnotations(); exports TOOL_CATEGORIES
tools/
calls.ts 24 tools incl. transcription + all Conversation Intelligence endpoints
contacts.ts 12 tools (CRUD + phone/email management)
users.ts 10 tools (CRUD, availability, start_call, dial, v2 user numbers)
teams.ts 6 tools
numbers.ts 5 tools (update_messages goes through PUT /numbers/:id)
tags.ts 5 tools
webhooks.ts 5 tools
messages.ts 5 tools (send via /numbers/:id/messages/send + configuration)
dialer.ts 6 tools (campaigns are PER-USER: /users/:user_id/dialer_campaign)
company.ts 5 tools (ping, company, integration enable/disable)
types/aircall.ts API response types + READ_ONLY_TOOLS / WRITE_TOOLS registries
utils/
auth.ts AircallClient: Basic auth, /v1 base ('/v2/...' paths hit v2), error handling
format.ts toIso(): safe timestamp conversion
rate-limiter.ts client-side limiter (Aircall allows 60 req/min)
scripts/
generate-tool-docs.mjs spawns dist/index.js, dumps tools/list into docs/tools/README.md
docs/ guides + generated tool reference
manifest.json MCPB extension manifest (user_config form, env mapping)
.mcpbignore what stays out of the .mcpb bundle
.github/workflows/release.yml tag-triggered release (builds + attaches .mcpb)
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.
- 2mo ago First seen · 157 lines · 2,292 tokens per session scan A 653141c806f5
aircall-mcp-server AGENTS.md is an instructions file published in the GitHub repository CassiaResearch/aircall-mcp-server (0 stars, last pushed 2mo ago), licensed MIT. It adds 2,292 tokens to every session, about $0.0092 per session on Opus 5.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.
aircall-mcp-server AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| aircall-mcp-server AGENTS.mdCassiaResearch/aircall-mcp-server | Instructions file | 0 | 2mo ago | MIT | A | 2,292 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |