APIFleet MCP
An official MCP server for APIFleet that allows AI agents to build, test, and operate AI voice agents. It provides tools for configuring assistants, managing phone numbers, inspecting call logs, running simulations, and estimating costs using the APIFleet platform's prepaid billing model.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://apifleet.dev/mcpWhat you can do with it
- Estimate call costs for AI voice agents
- Check assistant configuration validity
- List and manage voice provider integrations
- Create and manage AI assistants programmatically
Source and maintenance
Protocol and capabilities
- Server
- apifleet 1.2.0
- MCP protocol
- 2025-06-18
- Tools
- 67 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
67 advertised
apifleet_get_provider_matrix
Public, no key: discover implemented voice and carrier integrations, setup boundaries, platform pricing and documentation. No provider request or call is made.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}apifleet_estimate_call_cost
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.
{
"type": "object",
"required": [
"seconds"
],
"properties": {
"seconds": {
"type": "integer",
"maximum": 60000000,
"minimum": 0
},
"carrier_usd_per_minute": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"provider_usd_per_minute": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}apifleet_check_assistant_config
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.
{
"type": "object",
"required": [
"config"
],
"properties": {
"config": {
"type": "object"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_entitlements
Read the workspace prepaid balance and funding path. Does not start a checkout or call.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_assistants
List assistants in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_assistant
Get one assistant belonging to this workspace.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_assistant
Create a assistant. Saving configuration does not place a call. The REST response includes revision, configuration and attached resource identifiers.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Display name."
},
"model": {
"type": "string",
"minLength": 1,
"description": "Supported model identifier."
},
"voice": {
"type": "string",
"minLength": 1,
"description": "Voice identifier."
},
"instructions": {
"type": "string",
"minLength": 1,
"description": "Business instructions for the assistant."
},
"first_message": {
"type": "string",
"minLength": 1,
"description": "Opening message."
},
"pipeline_mode": {
"enum": [
"realtime",
"cascading"
],
"type": "string"
}
},
"description": "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://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}update_assistant
Update selected assistant fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Display name."
},
"model": {
"type": "string",
"minLength": 1,
"description": "Supported model identifier."
},
"voice": {
"type": "string",
"minLength": 1,
"description": "Voice identifier."
},
"instructions": {
"type": "string",
"minLength": 1,
"description": "Business instructions for the assistant."
},
"first_message": {
"type": "string",
"minLength": 1,
"description": "Opening message."
},
"pipeline_mode": {
"enum": [
"realtime",
"cascading"
],
"type": "string"
}
},
"description": "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://apifleet.dev/docs",
"additionalProperties": true
},
"if_revision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic concurrency revision, sent as If-Match. Reload after a 409."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}delete_assistant
Delete this assistant. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"if_revision": {
"type": "integer",
"minimum": 1,
"description": "Optional optimistic concurrency revision, sent as If-Match. Reload after a 409."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}set_assistant_tools
Replace all attached HTTP tools with existing tools owned by this workspace. Empty tool_ids detaches every tool.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"tool_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"maxItems": 200,
"description": "Complete replacement list; an empty list removes every attachment."
}
},
"description": "Attachment set.",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}set_assistant_knowledge
Replace all attached knowledge documents. Each document must belong to this workspace.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"knowledge_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"maxItems": 200,
"description": "Complete replacement list; an empty list removes every attachment."
}
},
"description": "Attachment set.",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}create_browser_test_token
Issue a short-lived browser voice-test URL. Opening its WebSocket can incur usage. Never publish the returned token.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"ttl_seconds": {
"type": "integer",
"minimum": 1,
"description": "Token lifetime, clamped to 30–3600 seconds."
},
"max_duration_seconds": {
"type": "integer",
"minimum": 1,
"description": "Call duration limit, clamped to 30–3600 seconds."
}
},
"description": "Test session options.",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}list_numbers
List number bindings. This does not buy phone numbers from a carrier.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}bind_number
Bind an existing carrier number to a workspace assistant. This changes incoming call routing; configure the carrier webhook separately.
{
"type": "object",
"required": [
"number",
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"region": {
"type": "string",
"minLength": 1,
"description": "Carrier region, when required."
},
"provider": {
"enum": [
"telnyx",
"twilio",
"voximplant",
"voipcloud"
],
"type": "string"
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"description": "Number binding.",
"additionalProperties": true
},
"number": {
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$",
"minLength": 1,
"description": "International E.164 number, including the leading +."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}unbind_number
Remove the routing binding. This does not release or cancel the carrier number.
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$",
"minLength": 1,
"description": "International E.164 number, including the leading +."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_calls
Read call logs, summary statistics and pagination. Each row may contain transcript, analysis, costs and recording links; recordings require separate authentication.
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number; default 1."
},
"sort": {
"type": "string",
"minLength": 1,
"description": "Supported sort column; default started_at."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Rows per page; default 200, maximum 1000."
},
"model": {
"type": "string",
"minLength": 1,
"description": "Model filter."
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string"
},
"voice": {
"type": "string",
"minLength": 1,
"description": "Voice filter."
},
"search": {
"type": "string",
"minLength": 1,
"description": "Text or call identifier search."
},
"source": {
"type": "string",
"minLength": 1,
"description": "Call source filter."
},
"date_to": {
"type": "string",
"minLength": 1,
"description": "End date filter."
},
"outcome": {
"type": "string",
"minLength": 1,
"description": "Outcome filter."
},
"date_from": {
"type": "string",
"minLength": 1,
"description": "Start date filter."
},
"sentiment": {
"type": "string",
"minLength": 1,
"description": "Sentiment filter."
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_outbound_call
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.
{
"type": "object",
"required": [
"data",
"confirm"
],
"properties": {
"data": {
"type": "object",
"properties": {
"to": {
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$",
"minLength": 1,
"description": "International E.164 number, including the leading +."
},
"from": {
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$",
"minLength": 1,
"description": "International E.164 number, including the leading +."
},
"user_number": {
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$",
"minLength": 1,
"description": "International E.164 number, including the leading +."
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"description": "Call request.",
"additionalProperties": true
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approves this paid action. A timeout is not safe to retry blindly."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}get_waveform
Read recording waveform metadata and available audio channels.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}delete_recording
Permanently remove a call recording. The call log remains. Confirm the identifier before deleting.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_tools
List http tools in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_tool
Get one tool belonging to this workspace.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_tool
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.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS callback URL; private network targets are rejected."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Function name: letters, digits and underscore; cannot start with a digit."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"parameters": {
"type": "object",
"properties": {},
"description": "JSON Schema for tool arguments.",
"additionalProperties": true
},
"timeout_ms": {
"type": "integer",
"maximum": 30000,
"minimum": 500
},
"description": {
"type": "string",
"minLength": 1,
"description": "Tool purpose."
}
},
"description": "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 https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_tool
Update selected tool fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS callback URL; private network targets are rejected."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Function name: letters, digits and underscore; cannot start with a digit."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"parameters": {
"type": "object",
"properties": {},
"description": "JSON Schema for tool arguments.",
"additionalProperties": true
},
"timeout_ms": {
"type": "integer",
"maximum": 30000,
"minimum": 500
},
"description": {
"type": "string",
"minLength": 1,
"description": "Tool purpose."
}
},
"description": "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 https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}delete_tool
Delete this tool. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_knowledge_documents
List knowledge in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_knowledge_document
Get one knowledge document belonging to this workspace.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_knowledge_document
Create a knowledge document. Attach documents separately to use them in an assistant. Total injected knowledge has a 200 KiB limit.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Unique document name in this workspace."
},
"source": {
"type": "string",
"minLength": 1,
"description": "Source label; defaults to text."
},
"content": {
"type": "string",
"maxLength": 51200,
"minLength": 1,
"description": "Plain text; maximum 50 KiB per document."
}
},
"description": "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",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_knowledge_document
Update selected knowledge document fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Unique document name in this workspace."
},
"source": {
"type": "string",
"minLength": 1,
"description": "Source label; defaults to text."
},
"content": {
"type": "string",
"maxLength": 51200,
"minLength": 1,
"description": "Plain text; maximum 50 KiB per document."
}
},
"description": "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",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}delete_knowledge_document
Delete this knowledge document. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_webhooks
List webhooks in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_webhook
Create a webhook. Creation returns a signing secret once; verify delivery signatures against the raw body. Events may be retried.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS receiver."
},
"events": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"description": "Event name, e.g. call.ended or assistant.updated."
}
},
"enabled": {
"type": "boolean"
}
},
"description": "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",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_webhook
Update selected webhook fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"description": "Public HTTPS receiver."
},
"events": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"description": "Event name, e.g. call.ended or assistant.updated."
}
},
"enabled": {
"type": "boolean"
}
},
"description": "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",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}delete_webhook
Delete this webhook. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_simulation_personas
List simulation personas in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_simulation_persona
Get one simulation persona belonging to this workspace.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_simulation_persona
Create a simulation persona.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Persona name."
},
"system_prompt": {
"type": "string",
"minLength": 1,
"description": "Instructions for the simulated caller."
}
},
"description": "Resource fields. Additional settings are documented in https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_simulation_persona
Update selected simulation persona fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Persona name."
},
"system_prompt": {
"type": "string",
"minLength": 1,
"description": "Instructions for the simulated caller."
}
},
"description": "Resource fields. Additional settings are documented in https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}delete_simulation_persona
Delete this simulation persona. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_simulation_scenarios
List simulation scenarios in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_simulation_scenario
Get one simulation scenario belonging to this workspace.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_simulation_scenario
Create a simulation scenario.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Scenario name."
},
"evaluations": {
"type": "array",
"items": {
"type": "object",
"properties": {},
"description": "Evaluation specification; see simulation documentation.",
"additionalProperties": true
}
},
"instructions": {
"type": "string",
"minLength": 1,
"description": "Scenario instructions."
}
},
"description": "Resource fields. Additional settings are documented in https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_simulation_scenario
Update selected simulation scenario fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Scenario name."
},
"evaluations": {
"type": "array",
"items": {
"type": "object",
"properties": {},
"description": "Evaluation specification; see simulation documentation.",
"additionalProperties": true
}
},
"instructions": {
"type": "string",
"minLength": 1,
"description": "Scenario instructions."
}
},
"description": "Resource fields. Additional settings are documented in https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}delete_simulation_scenario
Delete this simulation scenario. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_simulations
List simulations in the authenticated workspace.
{
"type": "object",
"required": [],
"properties": {
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_simulation
Get one simulation belonging to this workspace.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_simulation
Create a simulation.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Optional simulation name."
},
"persona_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"scenario_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"description": "Resource fields. Additional settings are documented in https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}update_simulation
Update selected simulation fields. Omitted fields retain their values.
{
"type": "object",
"required": [
"id",
"data"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Optional simulation name."
},
"persona_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"scenario_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"description": "Resource fields. Additional settings are documented in https://apifleet.dev/docs",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}delete_simulation
Delete this simulation. Review the identifier before deleting; the change cannot be undone.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}list_simulation_runs
List simulation runs and pagination; inspect status before starting another run.
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number."
},
"limit": {
"type": "integer",
"minimum": 1,
"description": "Rows per page."
},
"status": {
"enum": [
"queued",
"running",
"completed",
"error"
],
"type": "string"
},
"batch_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"simulation_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_simulation_run
Read a run, its evaluations and linked call when available.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}delete_simulation_run
Delete a completed simulation result. Running runs may reject deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}start_simulation_run
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.
{
"type": "object",
"required": [
"id",
"data",
"confirm"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
},
"data": {
"type": "object",
"properties": {
"mode": {
"enum": [
"chat",
"voice"
],
"type": "string",
"default": "chat"
}
},
"description": "Run options.",
"additionalProperties": true
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approves this paid action. A timeout is not safe to retry blindly."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}start_simulation_batch
Queue every simulation for one assistant. This can incur multiple test runs; approve the batch first.
{
"type": "object",
"required": [
"data",
"confirm"
],
"properties": {
"data": {
"type": "object",
"properties": {
"mode": {
"enum": [
"chat",
"voice"
],
"type": "string",
"default": "chat"
},
"assistant_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"description": "Batch options.",
"additionalProperties": true
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user approves this paid action. A timeout is not safe to retry blindly."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}list_tts_rates
Read configured voice-cost reference rates. These are not an invoice or a complete call price.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_tts_voices
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.
{
"type": "object",
"required": [],
"properties": {
"provider": {
"type": "string",
"minLength": 1,
"description": "Voice provider identifier."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}list_voice_presets
Read configured runnable voice presets. Provider catalog requests may reach a vendor.
{
"type": "object",
"required": [],
"properties": {
"model": {
"type": "string",
"minLength": 1,
"description": "Optional realtime model."
},
"provider": {
"type": "string",
"minLength": 1,
"description": "Optional catalog provider."
},
"realtime_provider": {
"type": "string",
"minLength": 1,
"description": "Optional realtime provider."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_assistant_voice_presets
Read voices compatible with this assistant configuration.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_tts_settings
Read supported provider voice settings and validation ranges.
{
"type": "object",
"required": [],
"properties": {
"provider": {
"type": "string",
"minLength": 1,
"description": "Optional voice provider."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_provider_credentials
List which provider credentials are configured. Returns metadata only, never provider secret values.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_api_keys
List this workspace API-key metadata. Full key values cannot be retrieved.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_api_key
Create a new full workspace key. The secret is returned once. Store it privately; never put it in public client code.
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Human-readable key label."
}
},
"description": "Key label.",
"additionalProperties": true
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}revoke_api_key
Revoke a workspace API key immediately. Revoking the key in use disconnects this MCP client on its next request.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Resource identifier returned by a previous request."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}get_wallet
Read available, reserved and total prepaid funds, policy, funding availability and runtime enforcement. Amounts ending in microusd are integer millionths of a USD.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_billing_policy
Read the actual workspace policy. Internal exempt workspaces can differ from the public tariff.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_balance_activity
Read balance activity and pagination cursor. Funding is credited only after verified payment processing.
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"description": "Maximum entries; defaults to 50."
},
"before": {
"type": "integer",
"minimum": 1,
"description": "Return entries before this ledger identifier."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_payments
Read confirmed and pending workspace payment records for the configured live/test environment.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_metrics
Read the authenticated workspace metrics snapshot. Metrics may reset with the application process and are not a complete billing ledger.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1327 ms
- 95th percentile latency
- 1327 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1327 ms · metadata changed · 67 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http apifleet-mcp https://apifleet.dev/mcpCodex
codex mcp add apifleet-mcp --url https://apifleet.dev/mcpCursor
{
"mcpServers": {
"apifleet-mcp": {
"url": "https://apifleet.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"apifleet-mcp": {
"type": "streamableHttp",
"url": "https://apifleet.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"apifleet-mcp": {
"type": "http",
"url": "https://apifleet.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http apifleet-mcp https://apifleet.dev/mcpClaude Desktop
{
"mcpServers": {
"apifleet-mcp": {
"url": "https://apifleet.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"apifleet-mcp": {
"serverUrl": "https://apifleet.dev/mcp"
}
}
}Let your agent find its tools
Find servers like APIFleet MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run APIFleet MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.