Remote MCP Server: Self-Hosted Deployment (Beta)

The Remote MCP setup lets your organization host a single, centrally managed MCP Server instance and share it with all users over HTTPS - eliminating the need for per-user Docker installs, local credential management, or manual update cycles.

With the Docker and NPM setups, every user in your organization installs and runs their own local MCP Server process. Instead the Remote MCP setup deploys a single shared instance on a host machine. Authentication, updates, and credential management are all handled centrally - end users just point their MCP client at a URL and connect.

Getting Started

  1. Register an OAuth Client
  2. Configuring Environment Variables
  3. Run the Remote MCP Container
  4. Configure MCP Clients

Step 1: Register an OAuth Client

Unlike the local setups (Docker and NPM) which use a Self-Client application, the Remote MCP Server requires a server-based OAuth application that supports Redirect URIs. This is because the server manages the full OAuth authorization flow on behalf of users connecting via the browser.

  1. Go to the Zoho Developer Console.
  2. Click Add Client and select Server-based Application (not Self-Client) as the client type.
  3. Set the Authorized Redirect URI to:
    Redirect URI: 

     <your-public-url>/auth/callback

    Replace <your-public-url> with the public HTTPS URL where you plan to host the Remote MCP Server.

  4. Save the application and note down the Client ID and Client Secret. These will be used in the environment variables in the next step.
Note: Do not use a Self-Client application for the Remote MCP setup. Self-Client apps are designed for single-user, personal access tokens and do not support redirect-based OAuth flows required by the shared server.

Step 2: Configuring Environment Variables

The Remote MCP Server is configured entirely through a .env file on the host machine. This file is passed to the Docker container at runtime using the --env-file flag. Create this file on your host before proceeding to the next step.

Required Environment Variables

Configure these essential variables before integrating with the MCP Hosts:

Variable

Description

ANALYTICS_SERVER_URL

The Zoho Analytics API base URL for your data centre.

Example: https://analyticsapi.zoho.com

Please refer to the API Specification document for more details.

OIDC_PROVIDER_CLIENT_IDThe Client ID from the server-based OAuth application registered in Step 1.
OIDC_PROVIDER_CLIENT_SECRETThe Client Secret from the OAuth application. Keep this confidential — do not commit this file to version control.
MCP_SERVER_PUBLIC_URLThe fully qualified public HTTPS URL at which your Remote MCP Server will be reachable. This must match the domain used in the redirect URI registered in Step 1.
SESSION_SECRET_KEYA long, randomly generated string used to sign and encrypt user sessions.
MCP_SERVER_ORG_IDSA comma-separated list of Zoho Analytics Organization IDs whose users are permitted to access this Remote MCP Server. Acts as an access control list - users from organizations not listed here will be denied.
PORT (Optional)

Overrides the default port the server listens on.

Default: 4000

STORAGE_BACKEND"memory" (default) or "redis" for distributed storage
REDIS_HOST / REDIS_PORT / REDIS_PASSWORD (Optional)Connection details for your Redis instance. Only required when STORAGE_BACKEND=redis.

Step 3: Run the Remote MCP Container

The Remote MCP Server runs from the same Docker image as the local setup but uses the remote-v1 tag, which includes the HTTP server and authentication layer required for shared, multi-user operation. Start the container on your host machine using the command below.

 docker run --name remote-mcp-server \
--network=host \
--env-file .env \
zohoanalytics/mcp-server:remote-v1


 

Note: For production deployments, We also recommend running the MCP Server instance with storage backend as Redis (rather than in-memory storage).

Step 4: Configure MCP Clients

Once the Remote MCP Server is running and reachable at its public URL, users do not need to install or configure anything locally. All they need to do is add a short entry to their MCP host configuration file pointing at the hosted server URL.

Any MCP host that supports the HTTP transport can connect to your Remote MCP Server. The configuration is the same regardless of which AI tool the user is connecting from - only the file location and enclosing key differ per host.

Client Configuration

Add the following to the MCP host configuration file. Replace <hosted-mcp-server-url> with the actual MCP_SERVER_PUBLIC_URL value from your deployment.

{
"mcpServers": {
"ZohoAnalyticsMCP": {
"url": "<hosted-mcp-server-url>/mcp",
"type": "http"
}
}
}

 

Tools in Zoho Analytics MCP Server

The Zoho Analytics MCP server provides various tools for interacting with Zoho Analytics.

ToolAPI UsedDescription
create_workspaceCreate WorkspaceCreates a new workspace in Zoho Analytics with the given name.
create_tableCreate TableCreates a new table in a specified workspace with defined columns.
get_workspaces_listGet All WorkspacesFetches the list of workspaces in the user's organization.
search_viewsGet ViewsFetches the list of views (tables, reports, dashboards) within a specified workspace based on the query.
get_view_detailsGet View DetailsFetches the details of a specific view, including its structure and properties.
import_dataImport data - New tableImports data into a specified table from a file or a list of dictionaries.
export_viewExports an object (table, chart, or dashboard) from the workspace in the specified format.
query_dataCreate Export Job - Using SQL Query

Executes a SQL query on the specified workspace and returns the results.

Note:
This tool uses an asynchronous API (V2) for query execution. By default, it waits for 2 minutes for query completion before timing out. The timeout duration can be configured via environment variables.

create_aggregate_formulaAdd Aggregate FormulaCreates an aggregate formula in a specified table that returns a single aggregate value.
create_query_tableCreate Query TableCreates a query table based on a SQL query for derived data views.
create_chart_reportCreate ReportCreates a chart report (bar, line, pie, scatter, bubble) in the specified workspace.
create_pivot_reportCreate ReportCreates a pivot table report for multidimensional data analysis.
create_summary_reportCreate ReportCreates a summary report that groups data by specified columns and applies aggregate functions.
add_rowAdd rowAdds a new row to a specified table.
update_rowsUpdate rowUpdates rows in a specified table based on given criteria.
delete_rowsDelete rowDeletes rows from a specified table based on given criteria.
delete_viewDelete ViewDeletes a view (table, report, or dashboard) from a workspace.
analyse_file_structureNot ApplicableAnalyzes the structure of a CSV or JSON file to determine its columns and data types.
download_fileNot ApplicableDownloads a file from a given URL and saves it to a local directory.

Help & Support

We offer 24x5 technical support (Monday to Friday). In case if you need our assistance kindly do mail us your questions to support@zohoanalytics.com.

You can also reach out to us on our toll-free numbers.
United States: +1 (888) 900 9646
United Kingdom: +44 (20) 35647890
Australia: +61-2-80662898
India: +91 44 6965 6060