> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# DialNexa MCP Server Overview

> Connect an AI client to the DialNexa MCP server with Streamable HTTP, OAuth 2.1, or workspace API key authentication.

The DialNexa MCP server lets an MCP-compatible AI client inspect and manage DialNexa resources through named tools. Connect to `https://api.dialnexa.com/v1/mcp` with OAuth 2.1 or a DialNexa API key, then let the client discover the available tools through the Model Context Protocol.

## Who should use the DialNexa MCP server

Use the MCP server when an AI client should choose and call DialNexa operations during a conversation. Use the REST API when your application code needs deterministic request and response handling without an AI client deciding which operation to run.

| Choose                                  | Best for                                                                                    |
| --------------------------------------- | ------------------------------------------------------------------------------------------- |
| [MCP tools](/docs/mcp-tools/quickstart)      | AI assistants, coding agents, and MCP hosts that discover and call tools dynamically.       |
| [REST API](/docs/api-reference/introduction) | Backend services, scheduled jobs, product integrations, and explicit application workflows. |

Both interfaces use many of the same resource IDs. MCP clients can use an interactive DialNexa sign-in or a workspace API key, while REST API integrations use API keys.

## DialNexa MCP Server Endpoint And Authentication

The server implements MCP Streamable HTTP at:

```text theme={null}
https://api.dialnexa.com/v1/mcp
```

OAuth 2.1 is the recommended connection method for interactive MCP clients. It uses authorization-code flow with PKCE and lets the user choose the workspace during consent. API key authentication remains available for clients that support custom request headers.

### OAuth 2.1 Sign-In

Add the remote MCP URL without an Authorization header when your client supports MCP OAuth discovery. The connection follows this sequence:

1. The client contacts the MCP endpoint and receives the protected-resource metadata location in the `WWW-Authenticate` header.
2. The client discovers the DialNexa authorization server and opens a browser.
3. Sign in to DialNexa if needed.
4. Review the requested permissions. If your account has multiple workspaces, select the workspace this client should use.
5. Click **Allow** to finish, or **Deny** to reject the connection.

The consent screen can request these scopes:

| Scope            | What it allows                                                                                |
| ---------------- | --------------------------------------------------------------------------------------------- |
| `mcp:read`       | Read DialNexa workspace data through MCP tools.                                               |
| `mcp:write`      | Run state-changing MCP tools after any tool-specific confirmation requirements are satisfied. |
| `offline_access` | Let a compatible client refresh access without asking you to sign in for every request.       |

<img src="https://mintcdn.com/dialnexa/KQqTe49OFCMnH_9c/images/documentation/screenshots/mcp-oauth-consent.png?fit=max&auto=format&n=KQqTe49OFCMnH_9c&q=85&s=2df55d326baa2fe195fb4d86536328d8" alt="DialNexa MCP OAuth consent screen showing Claude, read and write permissions, offline access, and Deny and Allow buttons." style={{ width: '100%', maxWidth: '700px', margin: '8px 0 24px', border: '1px solid #e5e7eb', borderRadius: '6px' }} width="1072" height="934" data-path="images/documentation/screenshots/mcp-oauth-consent.png" />

OAuth access is tied to the user who approved it and the workspace selected on the consent screen. Tool arguments cannot switch to another workspace.

### API Key Authentication

Send a workspace API key as a Bearer token on every request:

```text theme={null}
Authorization: Bearer YOUR_API_KEY
```

The server resolves the workspace from the API key. Tool arguments cannot select a different workspace. A missing, revoked, or malformed key returns `401 Unauthorized` before a tool runs.

See [API key authentication](/docs/api-reference/authentication) for key creation and storage guidance.

## DialNexa MCP tool reference

Each tool has its own reference page with the exact server description, input schema, safety level, JSON-RPC request shape, retry guidance, and related tools.

<CardGroup cols={2}>
  <Card title="Agents" icon="bot" href="/docs/mcp-tools/agents/overview">
    Create, inspect, configure, and remove voice agents.
  </Card>

  <Card title="Calls" icon="phone" href="/docs/mcp-tools/calls/overview">
    Find call records and place confirmed outbound calls.
  </Card>

  <Card title="Batch Calls" icon="layers" href="/docs/mcp-tools/batch-calls/overview">
    Inspect campaigns, review leads, and control batch calls.
  </Card>

  <Card title="Workflows" icon="git-branch" href="/docs/mcp-tools/workflows/overview">
    Build workflow graphs and manage workflow execution.
  </Card>

  <Card title="Knowledge Base" icon="database" href="/docs/mcp-tools/knowledge-base/overview">
    Inspect and manage knowledge base containers.
  </Card>

  <Card title="Phone Numbers" icon="phone-call" href="/docs/mcp-tools/phone-numbers/overview">
    Search, purchase, inspect, and configure phone numbers.
  </Card>

  <Card title="Reference Data" icon="book-marked" href="/docs/mcp-tools/reference-data/overview">
    Resolve language, voice, model, and transcriber IDs.
  </Card>

  <Card title="Templates" icon="layout-template" href="/docs/mcp-tools/templates/overview">
    Find reusable agent templates and inspect their configuration.
  </Card>

  <Card title="Billing" icon="credit-card" href="/docs/mcp-tools/billing/overview">
    Inspect billing plans, phone-number pricing, and SIP rates.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/docs/mcp-tools/webhooks/overview">
    Inspect workspace webhook configuration without exposing secrets.
  </Card>

  <Card title="Organization" icon="building" href="/docs/mcp-tools/organization/overview">
    Inspect the current workspace and its agent folders.
  </Card>

  <Card title="Dashboard" icon="layout-dashboard" href="/docs/mcp-tools/dashboard/overview">
    Read call, agent, onboarding, and weekly dashboard metrics.
  </Card>

  <Card title="Integrations" icon="plug-zap" href="/docs/mcp-tools/integrations/overview">
    Inspect, connect, validate, and disconnect integrations.
  </Card>

  <Card title="Prompt Suggestions" icon="sparkles" href="/docs/mcp-tools/prompt-suggestions/overview">
    Read AI-generated prompt improvements for an agent.
  </Card>
</CardGroup>

## Protocol behavior

* **Transport:** The server uses stateless MCP Streamable HTTP. Each request is authenticated independently with OAuth or an API key.
* **Discovery:** Use the standard MCP `tools/list` method after client initialization.
* **Invocation:** Use `tools/call` with the exact snake\_case tool name and an `arguments` object.
* **Results:** A successful tool returns one text content block. The text contains the JSON-encoded result.
* **Tool failures:** A tool-level failure sets `isError: true` and returns a readable explanation in the text block.
* **IDs:** Pass prefixed IDs exactly as returned, such as `agent_...`, `call_...`, `batch_...`, and `workflow_...`.

## Safety and confirmation

Reference pages classify every tool as read only, state changing, destructive, or billable. Tools that place calls, spend money, or permanently delete selected resources require explicit user approval as described by that tool. Never add `confirm: true` before the user approves the exact action.

After an uncertain timeout on a state-changing tool, read the affected resource before retrying. This prevents duplicate calls, purchases, or resources.

## Next steps

* [Connect a client in the MCP quickstart](/docs/mcp-tools/quickstart)
* [Handle MCP responses, errors, and retries](/docs/mcp-tools/errors)
* [Compare with the DialNexa REST API](/docs/api-reference/introduction)
