MCP Server (Preview)

Overview, Tools, and Client Integration Guide

Purpose

This documentation provides users with the necessary information to understand and consume the MCP server, including:

  • Overview & capabilities
  • Environments & endpoints
  • Authentication and token requirements
  • IDE / LLM integration examples
  • Usage verification and expected behaviour
  • Troubleshooting
  • Additional references

1. Overview

The MCP provides an Apollo-compatible MCP server that enables LLM clients, developers, and automation systems to interact with N-able's GraphQL schema more effectively.

The MCP server is exposed under the /mcp/preview endpoint. (see Environments & Endpoints for URLs).

Capabilities

The MCP server exposes the following tools:

ToolDescription
introspectAllows for the N-query schema to be introspected.
searchAllows searching for schema fields, types, directives, etc.
validateValidates GraphQL operations against the schema.
executeExecutes GraphQL operations against the schema.

During the preview we will be adding and modifying additional tools based on user feedback. The list of tools currently available can be requested from the MCP server with a LLM prompt such as:

"What tools does the MCP server provide?"

The MCP server will provide a list of tools and their descriptions. The list will include the default tools and additional tools such as (subject to change):

ToolDescription
getAssetInventoryRetrieves a list of all devices under management. Useful for inventory checks.
getSingleAssetDetailsAndMetricsFetches detailed telemetry and metrics for a single asset (requires asset ID).
CreateStaticTagCreates a new static tag within an organization.
AssignTagsToAssetsAssigns existing tags to one or more assets.

2. Environments & Endpoints

The MCP server is deployed to multiple environments (during preview both Testing and Production will use the same endpoint):


3. Authentication & Authorization

To communicate with the MCP server, consumers must provide a valid authorisation token via the HTTP header:

Authorization: Bearer <API_TOKEN>

Permissions

API tokens inherit permissions from the SSO user who created them, meaning authorization depends on the creating user’s permissions.

If a token does not have adequate permissions:

  • Queries may fail
  • Certain fields may not resolve
  • Result sets may be filtered or partially returned

4. IDE & LLM Integrations (Non-Exhaustive Examples)

These are examples, not the full set of supported integrations.
Any MCP-compatible IDE/LLM client may be used.



Example: GitHub Copilot - VS Code

Update settings.json:

{
  "servers": {
    "n-query": {
      "url": "https://api.n-able.com/mcp/preview",
      "type": "http",
      "headers": {
        "Authorization": "Bearer <CTS_TOKEN>"
      }
    }
  },
  "inputs": []
}

After restart, an Agent can invoke MCP tooling.


Example: Gemini CLI / Workspace

Example:

{
  "mcpServers": {
    "nquery": {
      "httpUrl": "https://api.n-able.com/mcp/preview",
      "headers": {
        "Authorization": "Bearer <CTS_TOKEN>"
      }
    }
  }
}

Example: Claude Code

Example:

{
  "mcpServers": {
    "nquery": {
      "type": "http",
      "url": "https://api.n-able.com/mcp/preview",
      "headers": {
        "Authorization": "Bearer <CTS_TOKEN>"
      }
    }
  }
}

Example: GitHub Copilot - IntelliJ

Open GitHub Copilot Chat
Switch to Agent mode
Select Configure Tools
Add MCP server configuration:

{
  "servers": {
    "n-query": {
      "url": "https://api.n-able.com/mcp/preview",
      "requestInit": {
        "headers": {
          "Authorization": "Bearer <CTS_TOKEN>"
        }
      }
    }
  }
}

Restart IntelliJ and the MCP tools should be visible.


5. Verification & Example Query (Expected Behavior)

Once MCP is configured properly:

✔️ There should be no console errors

  • No connection failures
  • No token-related errors
  • MCP tools visible to the Agent

✔ MCP n-query server visible to the agent
✔ Requests authenticated using APItoken
✔ Agent can resolve schema and execute queries

After verification, you can test functionality by asking:

"Give me the AssetCount"

The MCP agent should then:

  • Use the execute tool
  • Run a GraphQL query similar to:
query GetAssetCount {
  assetSearch(first: 1) {
    totalCount
  }
}

Expected raw MCP output:

{
  "data": {
    "assetSearch": {
      "totalCount": "ASSETS_COUNT_NUMBER"
    }
  }
}

Expected natural language response from the agent:

"You have “XX” assets in total."

This proves that:

  • Auth is correct
  • Default tools are available
  • Schema is reachable

6. Error Handling & Troubleshooting

ErrorLikely CauseResolution
401 UnauthorizedInvalid or missing tokenProvide valid API token
404 Not FoundWrong URLEnsure /mcp/preview endpoint is included
Unknown MCP ToolsMisconfigured clientReconfigure and restart IDE

7. Additional References

Apollo MCP Server - https://www.apollographql.com/docs/apollo-mcp-server

CAT-MIP MCP Standard - [https://cat-mip.org/]

CAT-MIP Releases - [https://github.com/cat-mip/cat-mip/releases]