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 skills add apideck-libraries/api-skills --skill apideck-mcpgit clone --depth 1 https://github.com/apideck-libraries/api-skillsWrote 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/apideck-libraries/api-skills/apideck-mcp)<a href="https://agentmods.dev/skills/apideck-libraries/api-skills/apideck-mcp"><img src="https://agentmods.dev/badge/skills/apideck-libraries/api-skills/apideck-mcp.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.1 | $0.00118 | $0.02268 |
| Opus 5 | $0.00059 | $0.01134 |
| Sonnet 5 | $0.00024 | $0.00454 |
| Haiku 4.5 | $0.00012 | $0.00227 |
Grade A, and why
apideck-mcp 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 8d 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 — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Apideck MCP
The Apideck MCP server exposes the Unified API as Model Context Protocol tools. One MCP server, 330+ tools, 200+ SaaS connectors.
If you're building an agent that needs to read/write SaaS data — invoices, candidates, employees, files, tickets, customers — and your agent runtime supports MCP (Claude Code, Claude Desktop, Cursor, Windsurf, OpenAI Agents SDK, Pydantic AI, LangChain), this is usually the right choice over a language SDK.
When to prefer MCP over the language SDK
| Use the MCP server when… | Use a language SDK (apideck-node, apideck-python, …) when… |
|---|---|
| You're building an agent (LLM-driven control flow) | You're building a deterministic backend integration |
| You want dynamic tool discovery — agent picks tools at runtime | You know at compile time which methods you'll call |
| Your runtime already speaks MCP (Claude Code, Cursor, OpenAI Agents SDK, …) | You're embedding Apideck inside a non-agent service |
| You want Vault OAuth elicitation handled for free (consent URLs surface as MCP elicitations) | You'll wire OAuth flows yourself |
| Tool descriptions matter for agent decision-making | Your code knows which method to call regardless of description quality |
Endpoints
Hosted: https://mcp.apideck.dev/mcp
Stdio: npx -y @apideck/mcp
Source: https://github.com/apideck-libraries/mcp
Pass credentials via headers (HTTP)
x-apideck-api-key: <your Apideck API key>
x-apideck-app-id: <your application ID>
x-apideck-consumer-id: <end-user / customer ID>
Pass credentials via env vars (stdio)
APIDECK_API_KEY=... APIDECK_APP_ID=... APIDECK_CONSUMER_ID=... npx -y @apideck/mcp
IMPORTANT RULES
- PREFER dynamic mode (
?mode=dynamicor--dynamic, the default). It exposes 4 meta-tools —list_tools,describe_tool_input,execute_tool,list_scopes— instead of 330 individual tools, dropping initial token cost from ~25-40K to ~1,300. Switch to static mode only for small fixed tool sets. - CALL
list_toolsfirst with relevantsearch_terms(["accounting", "invoices"],["hris", "employees"]). Don't enumerate 330 tools. - PREFER workflow tools over manual chains — see "Intent-grouped workflows" below. The agent that picks
apideck-pay-billinstead of stitchingaccounting-bills-get+accounting-bill-payments-createwill succeed more often and leak less context. - HANDLE URL elicitations: when an upstream call hits a missing/expired Vault connection, the server throws
UrlElicitationRequiredError(MCP error code-32042) carrying a one-time consent URL. Surface this URL to the user, wait for them to complete OAuth, then retry the original tool call. - USE
x-apideck-service-idwhen a consumer has multiple connections of the same unified API — e.g. the consumer connected both Xero and QuickBooks, and the user wants the call to target Xero. Without this, Apideck routes to whichever connection is first. - USE scopes to restrict an agent to a subset of capabilities —
?scopes=readfor analysis agents,?scopes=read,writeto allow non-destructive changes, omit for full access. Scopes are enforced server-side, so a "read-only" agent literally cannot call destructive tools no matter what the prompt says.
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.
- 8d ago First seen · 140 lines · 118 tokens per session scan A dccc308812cf
apideck-mcp is a skill published in the GitHub repository apideck-libraries/api-skills (3 stars, last pushed 8d ago), licensed Apache-2.0. It adds 118 tokens to every session and 2,268 once invoked, about $0.0006 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.
Other skills, from other repositories
csharp-api-controller-standards
Defines the coding standards, patterns, and conventions for ASP.NET Core REST API controllers. Rules cover routing, HTTP verbs, response types, XML documentation, dependency injection, and asynchronous execution. Apply these rules uniformly to ensure a consistent, predictable, and well-documented API surface.
inngest-durable-functions
Use when building functions that must survive process crashes, retry automatically on failure, run on a schedule, react to events, or maintain state across infrastructure failures — e.g., webhook handlers that drop events, flaky cron jobs, background jobs that fail mid-execution, or workflows that need to resume where…
inngest-realtime
Use when streaming durable workflow updates to a UI in real time — live order status pages that animate as steps complete, AI agent token streaming from a function to the browser, log tailing for long-running jobs, or human-in-the-loop approval flows that publish a prompt and wait for a user reply. Covers Inngest v4…
inngest-brownfield-audit
Use when analyzing an existing TypeScript or JavaScript codebase to decide where and how to introduce Inngest. Covers repository discovery, framework and package detection, finding durability gaps in HTTP handlers, webhooks, cron jobs, queues, long-running jobs, AI agents, Agent Evals, polling loops, eval loops, and…
inngest-events
Use when designing event-driven workflows, decoupling services, implementing fan-out patterns (one trigger, many downstream handlers), implementing idempotent event handling with IDs (24-hour dedupe window), or handling at-least-once delivery from external sources like Stripe webhooks. Covers Inngest event schema…
inngest-setup
Use when adding durable execution to a TypeScript project — building retry-safe webhook handlers, background jobs that survive crashes, scheduled tasks, or long-running workflows that outlive a single request. Covers Inngest SDK installation, client config, environment variables, serve endpoints (Next.js, Express…