Skip to main content
Glama
jmpijll

site24x7-code-mode-mcp

by jmpijll

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HTTP_PORTNoHTTP port (only if MCP_TRANSPORT=http)8000
MCP_TRANSPORTNostdio or httpstdio
SITE24X7_ZONENoData center zone (com, eu, in, com.au, cn, jp, ca, uk, ae, sa)com
SITE24X7_ZAAIDNoDefault MSP/BU customer zaaid (optional)
SITE24X7_CACHE_DIRNoOn-disk cache root~/.cache/site24x7-code-mode-mcp/
SITE24X7_CLIENT_IDYesZoho Self Client client ID
SITE24X7_ACCOUNT_TYPENoAccount type: standard, msp, bustandard
SITE24X7_CLIENT_SECRETYesZoho Self Client client secret
SITE24X7_REFRESH_TOKENYesPermanent refresh token from Zoho OAuth
MCP_HTTP_ALLOWED_ORIGINSNoComma-separated origin allowlisthttp://localhost,http://127.0.0.1
SITE24X7_EXECUTE_TIMEOUT_MSNoWall-clock deadline in ms30000
SITE24X7_MAX_CALLS_PER_EXECUTENoPer-execute API call budget50

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
site24x7_searchA

Search the Site24x7 REST API spec by writing JavaScript.

The sandbox is read-only — no network. Use this tool to discover what to call before invoking site24x7_execute.

Globals

  • spec{ title, sourceUrl, generatedAt, operationCount, tags[] }. null if no spec is loaded.

  • searchOperations(query, limit?) — text-ranked search; default limit 25.

  • getOperation(operationId) — full operation including parameters, requiredScopes, mspOnly / buOnly flags. Returns null if no such id.

  • findOperationsByPath(substring) — list operations whose path contains the substring (case-insensitive).

  • findOperationsByTag(tag) — list operations in a tag (e.g. 'monitors', 'msp', 'business_units').

  • console.log() — captured into the tool output.

Examples

// All operations tagged "monitors"
findOperationsByTag('monitors');
// Top 10 hits for "msp customer"
searchOperations('msp customer', 10);
// Full detail on the create-monitor op
getOperation('post_monitors');
site24x7_executeA

Run Site24x7 API calls by writing JavaScript that uses the site24x7 namespace.

Surface:

  • site24x7.<tag>.<operationId>(args) — typed call. Args are auto-routed: keys matching path or query params from the spec are placed correctly; remaining keys form the JSON body for POST/PUT/PATCH. Override with { pathParams: {...}, query: {...}, body: {...}, version: '2.1', zaaid: '...' }.

  • site24x7.callOperation(operationId, args) — flat lookup by id.

  • site24x7.request({ method, path, query?, body?, version?, zaaid? }) — raw HTTP escape hatch (e.g. for endpoints not yet in the spec).

  • site24x7.spec{ title, sourceUrl, generatedAt, operationCount } for diagnostics.

  • site24x7.listCustomers() — MSP/BU customer enumeration (uses /api/short/msp/customers or /api/short/bu/business_units based on accountType).

  • site24x7.withCustomer(zaaid, async fn) — run fn(site24x7) with the closure scoped to a customer. Restores the previous zaaid on exit, even on throw. Must be awaited.

  • site24x7.zaaid — the currently active zaaid (or undefined).

Operations are async — use await. Top-level await is not supported; wrap in an async IIFE:

(async () => {
  const status = await site24x7.request({ method: 'GET', path: '/api/current_status' });
  return status;
})()

MSP recipe (fan out over customers)

(async () => {
  const customers = await site24x7.listCustomers();
  const out = [];
  for (const c of customers) {
    const status = await site24x7.withCustomer(c.zaaid, async (s) => {
      return s.request({ method: 'GET', path: '/api/current_status' });
    });
    out.push({ name: c.name, zaaid: c.zaaid, down: status?.monitors_status?.down ?? 0 });
  }
  return out;
})()

Errors

Errors are prefixed with a structured tag:

  • [site24x7.HttpError] HTTP 403 GET /api/users (operation requires scope(s) \Site24x7.Admin.Read` — confirm your refresh token grants them)`

  • [site24x7.MissingZaaidError] operation "..." requires a zaaid in scope (operation mspOnly=true). Hint: call site24x7.listCustomers() and wrap the call in site24x7.withCustomer(zaaid, ...).

  • [site24x7.MissingCredentialsError] ... when no Zoho OAuth credentials are configured

  • [site24x7.UnknownOperationError] ... when the operationId doesn't exist in the spec

Limits

  • Per-execute API call ceiling (default 50, configurable via SITE24X7_MAX_CALLS_PER_EXECUTE).

  • Sandbox memory + 30 s deadline.

  • Credentials never enter the sandbox.

  • Site24x7 enforces its own per-token rate limit (~10 req/s on most plans). 429 triggers one polite retry.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jmpijll/site24x7-code-mode-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server