Model Context Protocol Preferences

Configuration file
A reference to a JSON file that configures MCP servers. MCP servers can have three type of transport protocols:
  • Stdio transport: Uses standard input/output streams for direct process communication between local processes on the same machine, providing optimal performance with no network overhead.
  • Streamable HTTP transport: Uses HTTP POST for client-to-server messages with optional Server-Sent Events for streaming capabilities.
  • Streamable HTTP with SSE transport: Uses HTTP POST for client-to-server messages with optional Server-Sent Events for streaming capabilities. Server can make use of Server-Sent Events (SSE) to stream multiple server messages
Important:
For configuration files which contain API key values you can use Oxygen XML editor variables in order to avoid setting key values directly in the configuration files.
Configuration file examples:
  • Configuration of a local MCP server that adds tools to allow the AI to use the Brave engine to perform web searches:
    {
      "mcpServers": {
        "brave-search": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-brave-search"
          ],
          "env": {
            "BRAVE_API_KEY": "API_KEY_HERE"
          }
        }
    }
  • Configuration of a remote MCP Streamable HTTP server that adds tools to allow the AI to call the DeepWiki service and obtain information about various GitHub projects:
    {
      "mcpServers": {
          "deepwiki": {
            "url":"https://mcp.deepwiki.com/mcp"
          } 
      }
    }
    For Streamable HTTP connections, you can pass header values to the server using the headers property like this:
    {
      "mcpServers": {
        "atlassian": {
          "url": "http://our.jira.server.url:8000/mcp",
          "headers": {
             "Authorization": "Bearer SOME_KEY_VALUE_HERE"
          }
        }
      }
    }
    You can also use editor variables in the header values (for example, to access environmental variables or system properties).

    If you want to ask the end user for a certain value to be used in the headers, you can do so by defining inputs like this:

    {
      "servers": {
        "github": {
          "type": "http",
          "url": "https://api.githubcopilot.com/mcp/",
          "headers": {
            "Authorization": "Bearer ${input:github_mcp_pat}"
          }
        }
      },
      "inputs": [
        {
          "type": "promptString",
          "id": "github_mcp_pat",
          "description": "GitHub Personal Access Token",
          "password": true
        }
      ]
    }
    Example: Start an Atlassian JIRA Streamable HTTP MCP server with the command:
    uvx mcp-atlassian --jira-url https://our.jira.server.url --jira-personal-token MY_TOKEN_HERE --transport streamable-http --port 8000 --read-only --verbose
    and then use it as a remote server in the configuration file:
    {
      "mcpServers": {
        "atlassian": {
          "url": "http://our.jira.server.url:8000/mcp"
        }
      }
    }
  • Configuration of a remote MCP Streamable HTTP with SSE server that adds tools to allow the AI to call the DeepWiki service and obtain information about various GitHub projects:
    {
      "mcpServers": {
          "deepwiki": {
            "url":"https://mcp.deepwiki.com/sse"
          } 
      }
    }
    If the HTTP SSE server has a URL that does not end with /sse, then an extra "type":"sse" property must be added in the configuration.
  • Multiple MCP servers (Brave search, GitHub, DeepWiki) configured in the same file:
    {
      "mcpServers": {
        "brave-search": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-brave-search"
          ],
          "env": {
            "BRAVE_API_KEY": "API_KEY_HERE"
          }
        },
        "github": {
            "command": "docker",
            "args": [
              "run",
              "-i",
              "--rm",
              "-e",
              "GITHUB_PERSONAL_ACCESS_TOKEN",
              "ghcr.io/github/github-mcp-server"
            ],
            "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "API_KEY_HERE"
            }
          },
          "deepwiki": {
            "url":"https://mcp.deepwiki.com/sse"
          } 
      }
    }
Connection timeout (seconds)
The configured timeout for attempts to connect to each server or retrieve content from it.
Allow running local MCP servers
Selecting this option allows local MCP servers to run as external processes.
Attention:
Local MCP servers are run as processes from the current user account and have full access to the computer resources as all other processes run in the user account. Before enabling this option, you need to ensure that your configuration starts a secure MCP server and does not expose you to security risks.
Add provided tools to all chat modes
Enabled by default, this option allows all defined chat modes to access the tools provided by the MCP servers during conversations.
Connection status
Presents the status of each MCP server connection and the tools that have been retrieved from it.
Important:
All the tools loaded from an MCP server have their names prefixed with the name of the MCP server. This allows multiple servers to provide tools with the same name. If, for example, a tool name is search and is loaded from an MCP server named mcp-web-access, the tool name that needs to be referenced in a custom AI action is mcp-web-access_search.
Allow running the Oxygen XML application as a local MCP server (Experimental)
If enabled, external applications are allowed to programmatically start and control the Oxygen XML application. For more details, see Oxygen XML as a Local MCP Server (Experimental).

The Anthropic Model Context Protocol (MCP) is an open standard that enables developers to build secure, two-way connections between their data sources and AI-powered tools.

You can configure a reference to an MCP configuration file in the Oxygen XML Preferences > Plugins / Oxygen AI Positron / Model Context Protocol page. AI Positron utilizes this file to load extra tools that can be called by the AI engine when using the chat modes or when invoking custom AI actions.

Tool Call Security

AI Positron does not control how various tools are implemented by the configured MCP servers or what parameters are used by the LLM to call them. By default, whenever the LLM calls tools obtained by AI Positron from an MCP server, the end user is required to approve or reject each individual tool call in the Chat view.

To mark a MCP server as having all tool calls safe and avoid asking the end user each time for permission, you need to set an extra environmental parameter in its configuration file:
"env": {
        "OXYGEN_SAFE_TOOLS":"true"
      }

Oxygen XML as a Local MCP Server (Experimental)

When using Oxygen XML 28 or later, the entire Oxygen XML application can be configured and started from a third-party AI assistant (e.g. Claude Desktop or Claude Code) as a local MCP server, providing access to tools for calling specific AI actions, validating, editing, and refactoring XML documents.

Configuration steps:
  1. Install the AI Positron add-on in Oxygen XML. You will need to have an Enterprise distribution of Oxygen XML or buy a subscription license for it.
  2. Enable the Allow running the Oxygen XML application as a local MCP server (Experimental) option from the Model Context Protocol preferences page. You must read through the security warning and if suitable, accept the EULA that warns you that such a feature allows external AI assistants to make changes to documents by calling tools from Oxygen. If you accept the EULA and enable the setting afterwards, you can save the preferences and close Oxygen.
  3. Create a suitable MCP configuration file in the AI assistant. For Windows, it can look something like this:
    {
        "mcpServers": {
            "oxygen-mcp": {
                "command": "c:\\path\\to\\OXYGEN_INSTALL_DIR\\oxygen.bat",
                "env": {
                    "OXYGEN_RUN_AS_MCP_SERVER": "true"
                } 
            }
        }
    }
    and for Mac/Linux:
    {
        "mcpServers": {
            "oxygen-mcp": {
                "command": "/bin/sh",
                "args": [
                    "/Users/path/to/OXYGEN_INSTALL_DIR/oxygen.sh"
                ],
                "env": {
                    "OXYGEN_RUN_AS_MCP_SERVER": "true"
                } 
            }
        }
    }
    As a configurable feature, you can configure the Oxygen XML application to show a visual preview dialog box whenever its tools are used to save and modify content using a specific env variable:
    {
        "mcpServers": {
            "oxygen-mcp": {
                ....
                "env": {
                    "OXYGEN_RUN_AS_MCP_SERVER": "true",
                    "OXYGEN_MCP_SERVER_GUI_PREVIEW_FILE_CHANGES": "true"
                } 
            }
        }
    }
  4. Restart the AI assistant. When started, it should also start the Oxygen XML application and gain access to all AI tools available in its installed AI Positron add-on.