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

# MCP Server

> Connect Claude Desktop, Claude Code, Codex CLI, ChatGPT, or VS Code to the VISO TRUST MCP server.

Connect your AI assistant to VISO TRUST through the **Model Context Protocol (MCP)**. Your assistant can retrieve relationships and assessment details, or perform actions you request.

The examples below use the hosted VISO TRUST MCP server, except the Claude Desktop Docker option. For the full tool reference and self-hosting details, see the [VISO TRUST MCP server repository](https://github.com/visotrust/viso-mcp-server).

## Before You Begin

Generate a VISO TRUST API token from an **Admin** or **Program Manager** account. Follow [Generate an API token](/api-reference/authentication#generate-an-api-token).

The server uses the same token as the REST API. Keep it out of chat messages and shared configuration files.

## Connection Settings

| Setting      | Value                           |
| ------------ | ------------------------------- |
| Server URL   | `https://mcp.visotrust.com/mcp` |
| Transport    | Streamable HTTP                 |
| Header name  | `Authorization`                 |
| Header value | `Bearer YOUR_API_TOKEN`         |

Replace `YOUR_API_TOKEN` with your token and keep the `Bearer ` prefix, including the space. Configure the connection in your AI client; no setup in VISO TRUST's **Settings → Integrations** is required.

Client authentication support varies. Choose your client below for its setup method and any limitations.

## Choose Your Client

<Tabs>
  <Tab title="Claude Desktop">
    ### Hosted Connection

    Claude's **Request headers** option is in beta for a limited set of organizations. An organization administrator configures a shared credential. If that option is unavailable, use the local setup below.

    1. Open **Organization settings → Connectors**, then **Add → Custom**. Choose **Web** if asked.
    2. Name the connector **VISO TRUST** and enter `https://mcp.visotrust.com/mcp`.
    3. Choose **No sign-in**, open **Request headers**, and add `Authorization` with the value `Bearer YOUR_API_TOKEN`. Replace the placeholder with the API token for the VISO TRUST account your organization intends to share.
    4. Save the connector. In Claude Desktop, open **Customize → Connectors** to connect, then enable it from the chat's **+ → Connectors** menu.

    **No sign-in** disables OAuth; the request header still authenticates every request. See [Claude's request-header instructions](https://claude.com/docs/connectors/custom/remote-mcp#authenticating-with-request-headers) for availability and credential management.

    ### Local Setup with Docker

    If request headers are unavailable, Claude Desktop can run the **VISO TRUST MCP server locally** with Docker. This connects the local server to the VISO TRUST API.

    1. Install and start Docker Desktop.
    2. In Claude Desktop's application settings, open **Developer → Edit Config**.
    3. Add this entry to `claude_desktop_config.json`. Merge it into any existing `mcpServers` object.

    ```json theme={null}
    {
      "mcpServers": {
        "viso-trust": {
          "command": "docker",
          "args": [
            "run", "-i", "--rm",
            "-e", "VISOTRUST_API_TOKEN",
            "-e", "VISOTRUST_API_BASEURL",
            "visotrustai/viso-mcp-server:latest"
          ],
          "env": {
            "VISOTRUST_API_TOKEN": "YOUR_API_TOKEN",
            "VISOTRUST_API_BASEURL": "https://app.visotrust.com"
          }
        }
      }
    }
    ```

    4. Replace `YOUR_API_TOKEN`, save, then fully quit and reopen Claude Desktop.
    5. Enable **viso-trust** in the conversation's connectors menu and try the request below.

    This file contains your token; keep it private. If Claude cannot find `docker`, use its full executable path. Docker must stay running.

    See the [VISO server's Docker configuration](https://github.com/visotrust/viso-mcp-server#usage-with-claude-desktop-and-other-mcp-clients) and [Claude Desktop configuration guide](https://modelcontextprotocol.io/docs/develop/connect-local-servers).
  </Tab>

  <Tab title="Claude Code">
    Export your API token as `VISO_API_TOKEN` in the environment where you launch Claude Code. Use your shell or secret manager to supply the value.

    Run this command in Bash or zsh:

    ```bash theme={null}
    claude mcp add --transport http --scope user \
      --header 'Authorization: Bearer ${VISO_API_TOKEN}' \
      -- viso-trust https://mcp.visotrust.com/mcp
    ```

    Keep the single quotes: they store the variable reference so Claude Code reads the token from its environment. The user scope makes the connection available across your projects.

    Start `claude`, run `/mcp`, and confirm **viso-trust** is connected. Then try the request below. You do not need an OAuth login for this server.

    For a project-specific setup, use `--scope project` instead. See [Claude Code's MCP guide](https://code.claude.com/docs/en/mcp) for other shells and configuration options.
  </Tab>

  <Tab title="Codex CLI">
    Export your API token as `VISO_API_TOKEN` in the environment where you launch Codex. Register the server:

    ```bash theme={null}
    codex mcp add viso-trust \
      --url https://mcp.visotrust.com/mcp \
      --bearer-token-env-var VISO_API_TOKEN
    ```

    Alternatively, add this to `~/.codex/config.toml`:

    ```toml theme={null}
    [mcp_servers.viso-trust]
    url = "https://mcp.visotrust.com/mcp"
    bearer_token_env_var = "VISO_API_TOKEN"
    ```

    Choose one method. Run `codex mcp list` to check the configuration, then start `codex` and use `/mcp` to inspect the connection. Try the request below to verify data access.

    The token environment variable must be available each time you launch Codex. `codex mcp login` is for OAuth and is not needed here. See [Codex MCP configuration](https://developers.openai.com/codex/mcp).
  </Tab>

  <Tab title="ChatGPT">
    ### Desktop App

    The ChatGPT desktop app shares MCP configuration with Codex on the same host. In `~/.codex/config.toml`, add:

    ```toml theme={null}
    [mcp_servers.viso-trust]
    url = "https://mcp.visotrust.com/mcp"
    http_headers = { Authorization = "Bearer YOUR_API_TOKEN" }
    ```

    Replace the placeholder and keep this user-level file private. If **viso-trust** already exists, replace its authentication settings with the header above instead of adding a duplicate entry. This works without relying on a GUI app inheriting your terminal environment.

    In **Settings → MCP servers**, restart the server. Use `/mcp` in the composer to check it. See [OpenAI's MCP guide](https://developers.openai.com/codex/mcp).

    ### ChatGPT on the Web

    ChatGPT web does not read your local MCP configuration. Its [developer-mode apps](https://developers.openai.com/api/docs/guides/developer-mode) support OAuth, no authentication, or a mixture of those methods. They do not document an arbitrary bearer-token header field.

    The hosted VISO TRUST MCP server currently requires an API token and does not provide an OAuth sign-in flow. As a result, its URL alone is not sufficient to connect through that web flow. Do not choose **No Authentication** or put your token in the URL.

    Use the desktop setup above or Codex CLI for direct access. If your organization needs ChatGPT web access, contact [VISO TRUST support](mailto:support@visotrust.com) to discuss a compatible integration.
  </Tab>

  <Tab title="VS Code">
    In VS Code, run **MCP: Open User Configuration** from the Command Palette. Add the following configuration to `mcp.json`. If the file already contains servers or inputs, merge these entries into the existing objects and arrays.

    ```json theme={null}
    {
      "inputs": [
        {
          "type": "promptString",
          "id": "viso_token",
          "description": "VISO TRUST API token",
          "password": true
        }
      ],
      "servers": {
        "viso-trust": {
          "type": "http",
          "url": "https://mcp.visotrust.com/mcp",
          "headers": {
            "Authorization": "Bearer ${input:viso_token}"
          }
        }
      }
    }
    ```

    Run **MCP: List Servers** and select **viso-trust**.

    <img src="https://mintcdn.com/visotrust/RfG3OhypZqOSG_ti/images/viso-mcp-select-server.png?fit=max&auto=format&n=RfG3OhypZqOSG_ti&q=85&s=5cf109899ea94f1a02f53b3a561958bc" alt="VS Code's MCP server list with viso-trust stopped and available to select." width="602" height="91" data-path="images/viso-mcp-select-server.png" />

    Choose **Start Server**.

    <img src="https://mintcdn.com/visotrust/RfG3OhypZqOSG_ti/images/viso-mcp-start-server.png?fit=max&auto=format&n=RfG3OhypZqOSG_ti&q=85&s=5cd1e10cbcfc710bda835e27d347e4fa" alt="VS Code's action menu for viso-trust with Start Server as the first option." width="602" height="157" data-path="images/viso-mcp-start-server.png" />

    Confirm that you trust the server and enter your token when prompted. Open Chat and use **Configure Tools** to enable the VISO TRUST tools. To send requests from Chat, sign in to GitHub Copilot if prompted.

    This example uses VS Code's interactive token input for local chat sessions. See the [VS Code MCP guide](https://code.visualstudio.com/docs/agent-customization/mcp-servers) for setup options and limitations for other session types.
  </Tab>
</Tabs>

## Try Your First Request

Ask your assistant:

> Use VISO TRUST to list my third-party relationships and their assessment status.

The assistant should call `get_all_relationships` and summarize the returned data. A successful tool call confirms access to your VISO TRUST data; the tool list alone does not verify your token's permissions. An empty list can mean your organization has no relationships yet.

Then try a more specific request, using an ID from the result:

* "Use VISO TRUST to show the details for relationship ID 123."
* "Use VISO TRUST to list the assessment history for relationship ID 123."

Replace `123` with your actual relationship ID. Include the vendor name or relationship ID when asking follow-up questions.

The server also exposes tools that change data, such as creating relationships or starting assessments. Review the requested action and its inputs before approving those tool calls in your client.

## Troubleshooting

| Problem                             | What to check                                                                                                                                                                          |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Authentication fails                | Confirm that the header is named `Authorization` and its value is `Bearer ` followed by your API token. If the token is no longer valid, generate a new one and update the connection. |
| A tool returns a permission error   | Confirm that the token belongs to an Admin or Program Manager in the intended organization. See [Permissions](/api-reference/authentication#permissions).                              |
| The client cannot connect           | Use the full `https://mcp.visotrust.com/mcp` URL and Streamable HTTP. Older configurations using `/sse` need to be updated. Confirm that your network allows access to the server.     |
| No VISO TRUST tools appear          | Restart the connection and enable the server in the client's tool settings. For Claude Desktop with Docker, confirm Docker is running.                                                 |
| A terminal client rejects the token | Confirm that `VISO_API_TOKEN` is exported in the environment that starts Claude Code or Codex. Restart the client after updating it.                                                   |
| Results are empty or unexpected     | Check the organization associated with the token and verify the relationship ID in VISO TRUST.                                                                                         |

If you still need help, contact [VISO TRUST support](mailto:support@visotrust.com) with the client name and error message. Do not include your API token.
