# APIFleet (remote · apifleet.dev)

Build and run AI phone agents: provider matrix, call-cost estimates, config checks, call management.

- Trust score: 69/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `apifleet.dev`: 69/100 (this document), [markdown](https://verifymcp.io/servers/dev-apifleet-apifleet/apifleet.md), [page](https://verifymcp.io/servers/dev-apifleet-apifleet/apifleet)

## Channel facts

- Endpoint: `https://apifleet.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_assistant).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 3399 tokens (~50/item across 67 items; 67 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 93% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 11 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the APIFleet MCP server?

APIFleet is a hosted endpoint at https://apifleet.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http dev-apifleet-apifleet 'https://apifleet.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "dev-apifleet-apifleet": {
      "url": "https://apifleet.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-apifleet-apifleet": {
      "type": "http",
      "url": "https://apifleet.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.dev-apifleet-apifleet]
url = "https://apifleet.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-apifleet-apifleet": {
      "type": "remote",
      "url": "https://apifleet.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-apifleet-apifleet --url 'https://apifleet.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  dev-apifleet-apifleet:
    url: "https://apifleet.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "dev-apifleet-apifleet": {
      "Transport": "http",
      "Url": "https://apifleet.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-apifleet-apifleet -t streamable-http -u 'https://apifleet.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "dev-apifleet-apifleet": {
      "type": "http",
      "url": "https://apifleet.dev/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 66, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-29 (score 65)

First indexed and scored.

## MCP tools (67)

### `apifleet_get_provider_matrix` (~40 tokens)

Public, no key: discover implemented voice and carrier integrations, setup boundaries, platform pricing and documentation. No provider request or call is made.

### `apifleet_estimate_call_cost` (~80 tokens)

Public, no key: calculate USD platform fees plus caller-supplied blended provider/carrier rates. An estimate, not a provider quote or invoice. Does not place a call.

Input parameters:

- `carrier_usd_per_minute` (number)
- `provider_usd_per_minute` (number)
- `seconds` (integer, required)

### `apifleet_check_assistant_config` (~56 tokens)

Public, no key: seven static configuration checks. Send a redacted configuration without secrets or customer data. No save, credential verification, full API validation or call-quality certification occurs.

Input parameters:

- `config` (object, required)

### `check_entitlements` (~26 tokens)

Read the workspace prepaid balance and funding path. Does not start a checkout or call.

### `list_assistants` (~17 tokens)

List assistants in the authenticated workspace.

### `get_assistant` (~31 tokens)

Get one assistant belonging to this workspace.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `create_assistant` (~75 tokens)

Create a assistant. Saving configuration does not place a call. The REST response includes revision, configuration and attached resource identifiers.

Input parameters:

- `data` (object, required): Resource fields. Saving configuration does not place a call. The REST response includes revision, configuration and attached resource identifiers. Additional settings are documented in https://apifle…

### `update_assistant` (~101 tokens)

Update selected assistant fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields. Saving configuration does not place a call. The REST response includes revision, configuration and attached resource identifiers. Additional settings are documented in https://apifle…
- `id` (string, required): Resource identifier returned by a previous request.
- `if_revision` (integer): Optional optimistic concurrency revision, sent as If-Match. Reload after a 409.

### `delete_assistant` (~63 tokens)

Delete this assistant. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.
- `if_revision` (integer): Optional optimistic concurrency revision, sent as If-Match. Reload after a 409.

### `set_assistant_tools` (~54 tokens)

Replace all attached HTTP tools with existing tools owned by this workspace. Empty tool_ids detaches every tool.

Input parameters:

- `data` (object, required): Attachment set.
- `id` (string, required): Resource identifier returned by a previous request.

### `set_assistant_knowledge` (~48 tokens)

Replace all attached knowledge documents. Each document must belong to this workspace.

Input parameters:

- `data` (object, required): Attachment set.
- `id` (string, required): Resource identifier returned by a previous request.

### `create_browser_test_token` (~57 tokens)

Issue a short-lived browser voice-test URL. Opening its WebSocket can incur usage. Never publish the returned token.

Input parameters:

- `data` (object, required): Test session options.
- `id` (string, required): Resource identifier returned by a previous request.

### `list_numbers` (~22 tokens)

List number bindings. This does not buy phone numbers from a carrier.

### `bind_number` (~56 tokens)

Bind an existing carrier number to a workspace assistant. This changes incoming call routing; configure the carrier webhook separately.

Input parameters:

- `data` (object, required): Number binding.
- `number` (string, required): International E.164 number, including the leading +.

### `unbind_number` (~41 tokens)

Remove the routing binding. This does not release or cancel the carrier number.

Input parameters:

- `number` (string, required): International E.164 number, including the leading +.

### `list_calls` (~184 tokens)

Read call logs, summary statistics and pagination. Each row may contain transcript, analysis, costs and recording links; recordings require separate authentication.

Input parameters:

- `assistant_id` (string): Resource identifier returned by a previous request.
- `date_from` (string): Start date filter.
- `date_to` (string): End date filter.
- `limit` (integer): Rows per page; default 200, maximum 1000.
- `model` (string): Model filter.
- `order` (string)
- `outcome` (string): Outcome filter.
- `page` (integer): Page number; default 1.
- `search` (string): Text or call identifier search.
- `sentiment` (string): Sentiment filter.
- `sort` (string): Supported sort column; default started_at.
- `source` (string): Call source filter.
- `voice` (string): Voice filter.

### `create_outbound_call` (~86 tokens)

Place a real telephone call. Ask the user to approve recipient, caller number and expected usage first. Billing/provider/carrier checks are the same as REST. No automatic retry or universal idempotency guarantee.

Input parameters:

- `confirm` (boolean, required): Set true only after the user approves this paid action. A timeout is not safe to retry blindly.
- `data` (object, required): Call request.

### `get_waveform` (~32 tokens)

Read recording waveform metadata and available audio channels.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `delete_recording` (~41 tokens)

Permanently remove a call recording. The call log remains. Confirm the identifier before deleting.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_tools` (~16 tokens)

List http tools in the authenticated workspace.

### `get_tool` (~30 tokens)

Get one tool belonging to this workspace.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `create_tool` (~88 tokens)

Create a tool. Creating a tool returns its signing secret once. Configuring a tool does not invoke its URL; attached tools can call it during conversations.

Input parameters:

- `data` (object, required): Resource fields. Creating a tool returns its signing secret once. Configuring a tool does not invoke its URL; attached tools can call it during conversations. Additional settings are documented in ht…

### `update_tool` (~83 tokens)

Update selected tool fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields. Creating a tool returns its signing secret once. Configuring a tool does not invoke its URL; attached tools can call it during conversations. Additional settings are documented in ht…
- `id` (string, required): Resource identifier returned by a previous request.

### `delete_tool` (~38 tokens)

Delete this tool. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_knowledge_documents` (~17 tokens)

List knowledge in the authenticated workspace.

### `get_knowledge_document` (~33 tokens)

Get one knowledge document belonging to this workspace.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `create_knowledge_document` (~79 tokens)

Create a knowledge document. Attach documents separately to use them in an assistant. Total injected knowledge has a 200 KiB limit.

Input parameters:

- `data` (object, required): Resource fields. Attach documents separately to use them in an assistant. Total injected knowledge has a 200 KiB limit. Additional settings are documented in https://apifleet.dev/docs

### `update_knowledge_document` (~80 tokens)

Update selected knowledge document fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields. Attach documents separately to use them in an assistant. Total injected knowledge has a 200 KiB limit. Additional settings are documented in https://apifleet.dev/docs
- `id` (string, required): Resource identifier returned by a previous request.

### `delete_knowledge_document` (~41 tokens)

Delete this knowledge document. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_webhooks` (~17 tokens)

List webhooks in the authenticated workspace.

### `create_webhook` (~77 tokens)

Create a webhook. Creation returns a signing secret once; verify delivery signatures against the raw body. Events may be retried.

Input parameters:

- `data` (object, required): Resource fields. Creation returns a signing secret once; verify delivery signatures against the raw body. Events may be retried. Additional settings are documented in https://apifleet.dev/docs

### `update_webhook` (~78 tokens)

Update selected webhook fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields. Creation returns a signing secret once; verify delivery signatures against the raw body. Events may be retried. Additional settings are documented in https://apifleet.dev/docs
- `id` (string, required): Resource identifier returned by a previous request.

### `delete_webhook` (~39 tokens)

Delete this webhook. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_simulation_personas` (~19 tokens)

List simulation personas in the authenticated workspace.

### `get_simulation_persona` (~34 tokens)

Get one simulation persona belonging to this workspace.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `create_simulation_persona` (~40 tokens)

Create a simulation persona.

Input parameters:

- `data` (object, required): Resource fields.  Additional settings are documented in https://apifleet.dev/docs

### `update_simulation_persona` (~61 tokens)

Update selected simulation persona fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields.  Additional settings are documented in https://apifleet.dev/docs
- `id` (string, required): Resource identifier returned by a previous request.

### `delete_simulation_persona` (~42 tokens)

Delete this simulation persona. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_simulation_scenarios` (~20 tokens)

List simulation scenarios in the authenticated workspace.

### `get_simulation_scenario` (~34 tokens)

Get one simulation scenario belonging to this workspace.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `create_simulation_scenario` (~40 tokens)

Create a simulation scenario.

Input parameters:

- `data` (object, required): Resource fields.  Additional settings are documented in https://apifleet.dev/docs

### `update_simulation_scenario` (~61 tokens)

Update selected simulation scenario fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields.  Additional settings are documented in https://apifleet.dev/docs
- `id` (string, required): Resource identifier returned by a previous request.

### `delete_simulation_scenario` (~42 tokens)

Delete this simulation scenario. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_simulations` (~31 tokens)

List simulations in the authenticated workspace.

Input parameters:

- `assistant_id` (string): Resource identifier returned by a previous request.

### `get_simulation` (~31 tokens)

Get one simulation belonging to this workspace.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `create_simulation` (~37 tokens)

Create a simulation.

Input parameters:

- `data` (object, required): Resource fields.  Additional settings are documented in https://apifleet.dev/docs

### `update_simulation` (~58 tokens)

Update selected simulation fields. Omitted fields retain their values.

Input parameters:

- `data` (object, required): Resource fields.  Additional settings are documented in https://apifleet.dev/docs
- `id` (string, required): Resource identifier returned by a previous request.

### `delete_simulation` (~39 tokens)

Delete this simulation. Review the identifier before deleting; the change cannot be undone.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `list_simulation_runs` (~94 tokens)

List simulation runs and pagination; inspect status before starting another run.

Input parameters:

- `assistant_id` (string): Resource identifier returned by a previous request.
- `batch_id` (string): Resource identifier returned by a previous request.
- `limit` (integer): Rows per page.
- `page` (integer): Page number.
- `simulation_id` (string): Resource identifier returned by a previous request.
- `status` (string)

### `get_simulation_run` (~36 tokens)

Read a run, its evaluations and linked call when available.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `delete_simulation_run` (~36 tokens)

Delete a completed simulation result. Running runs may reject deletion.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `start_simulation_run` (~91 tokens)

Queue an asynchronous test. Models and speech can incur usage. Approve the run first and poll the returned identifier; do not enqueue again while it is running.

Input parameters:

- `confirm` (boolean, required): Set true only after the user approves this paid action. A timeout is not safe to retry blindly.
- `data` (object, required): Run options.
- `id` (string, required): Resource identifier returned by a previous request.

### `start_simulation_batch` (~64 tokens)

Queue every simulation for one assistant. This can incur multiple test runs; approve the batch first.

Input parameters:

- `confirm` (boolean, required): Set true only after the user approves this paid action. A timeout is not safe to retry blindly.
- `data` (object, required): Batch options.

### `list_tts_rates` (~28 tokens)

Read configured voice-cost reference rates. These are not an invoice or a complete call price.

### `list_tts_voices` (~52 tokens)

Read a provider voice catalog using configured server-side credentials. Catalog failure may return an empty list and error; it is not evidence the provider has no voices.

Input parameters:

- `provider` (string): Voice provider identifier.

### `list_voice_presets` (~55 tokens)

Read configured runnable voice presets. Provider catalog requests may reach a vendor.

Input parameters:

- `model` (string): Optional realtime model.
- `provider` (string): Optional catalog provider.
- `realtime_provider` (string): Optional realtime provider.

### `get_assistant_voice_presets` (~34 tokens)

Read voices compatible with this assistant configuration.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `get_tts_settings` (~29 tokens)

Read supported provider voice settings and validation ranges.

Input parameters:

- `provider` (string): Optional voice provider.

### `list_provider_credentials` (~25 tokens)

List which provider credentials are configured. Returns metadata only, never provider secret values.

### `list_api_keys` (~23 tokens)

List this workspace API-key metadata. Full key values cannot be retrieved.

### `create_api_key` (~43 tokens)

Create a new full workspace key. The secret is returned once. Store it privately; never put it in public client code.

Input parameters:

- `data` (object, required): Key label.

### `revoke_api_key` (~47 tokens)

Revoke a workspace API key immediately. Revoking the key in use disconnects this MCP client on its next request.

Input parameters:

- `id` (string, required): Resource identifier returned by a previous request.

### `get_wallet` (~40 tokens)

Read available, reserved and total prepaid funds, policy, funding availability and runtime enforcement. Amounts ending in microusd are integer millionths of a USD.

### `get_billing_policy` (~27 tokens)

Read the actual workspace policy. Internal exempt workspaces can differ from the public tariff.

### `list_balance_activity` (~52 tokens)

Read balance activity and pagination cursor. Funding is credited only after verified payment processing.

Input parameters:

- `before` (integer): Return entries before this ledger identifier.
- `limit` (integer): Maximum entries; defaults to 50.

### `list_payments` (~23 tokens)

Read confirmed and pending workspace payment records for the configured live/test environment.

### `get_metrics` (~30 tokens)

Read the authenticated workspace metrics snapshot. Metrics may reset with the application process and are not a complete billing ledger.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/dev-apifleet-apifleet/apifleet#diagnostics

## Score history

- 2026-11-05: 69
- 2026-11-04: 68
- 2026-11-03: 68
- 2026-11-02: 67
- 2026-11-01: 67
- 2026-10-31: 66
- 2026-10-30: 66
- 2026-10-29: 65

## Common questions

### What is the APIFleet MCP server?

APIFleet is an MCP server listed in the public MCP registry as dev.apifleet/apifleet. Build and run AI phone agents: provider matrix, call-cost estimates, config checks, call management. This page covers its hosted endpoint (https://apifleet.dev/mcp).

### Is the APIFleet MCP server safe to use?

APIFleet scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the APIFleet MCP server expose?

APIFleet exposes 67 tools: apifleet_get_provider_matrix, apifleet_estimate_call_cost, apifleet_check_assistant_config, check_entitlements, list_assistants, and 62 more. Their descriptions and schemas cost roughly 3,244 tokens of context every time the server is loaded.

### Does the APIFleet MCP server require authentication?

No. We connected to APIFleet without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the APIFleet MCP server still maintained?

APIFleet is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://apifleet.dev/mcp
- Website: https://apifleet.dev/plugins/mcp
- Changelog RSS feed: https://verifymcp.io/servers/dev-apifleet-apifleet/apifleet.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-apifleet-apifleet/apifleet.json
- HTML version of this page: https://verifymcp.io/servers/dev-apifleet-apifleet/apifleet
