Skip to main content

invgate-service-desk-mcp

CI PyPI Python License: MIT MCP Registry Smithery

A Model Context Protocol server for InvGate Service Desk / Service Management.

Give your AI assistant full access to your InvGate Service Desk — query incidents, look up users, search the knowledge base, check assets, and manage tickets — all through natural language.

96 tools across 11 domains. Read-only by default, with optional write operations behind explicit opt-in.

Install in one click

The easiest way to use this server with Claude Desktop (and other MCPB-compatible clients) is the prebuilt bundle:

➡️ Download invgate-service-desk.mcpb — then double-click it. Claude Desktop opens the installer, prompts for your InvGate base URL and API token, and you're done. No Python, no npx/uvx, no config files.

The .mcpb is attached to every GitHub Release and mirrored on Smithery. Prefer a package manager or container? See Quick start below.

What can it do?

Domain Tools Examples
Catalog 5 List priorities, statuses, incident types, categories (with search), sources
Incidents 34 Get ticket details, list by status/agent/customer, create & update tickets, reassign, comment, manage approvals
Users & Groups 7 Look up users, find by email/phone, list group members
Knowledge Base 10 Search articles, browse categories, create & update articles
Custom Fields 9 List field definitions, get options (list/tree), fields by category
Organization 11 Helpdesks, levels, locations, company structure
Assets / CIs 6 Find assets linked to incidents, CI relationships
Time Tracking 4 View logged hours, log new time entries
Triggers 2 List automation rules and their executions
Workflows 3 Inspect workflow fields, processes, and field values
Breaking News 5 View announcements, statuses, types

63 read-only tools work out of the box. 33 write tools (incidents, KB, time tracking) activate only when you explicitly opt in.

Quick start

1. Install

pip install invgate-service-desk-mcp

Or run without installing (requires uv):

uvx invgate-service-desk-mcp

2. Connect to Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "invgate": {
      "command": "uvx",
      "args": ["invgate-service-desk-mcp"],
      "env": {
        "INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
        "INVGATE_API_TOKEN": "your-api-token"
      }
    }
  }
}

Restart Claude Desktop. That's it — start asking about your tickets.

Using pip install instead of uvx
{
  "mcpServers": {
    "invgate": {
      "command": "invgate-service-desk-mcp",
      "env": {
        "INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
        "INVGATE_API_TOKEN": "your-api-token"
      }
    }
  }
}
Enabling write operations

By default the server is read-only. Opt into writes with INVGATE_WRITE_PROFILE:

Profile Reads Writes
none (default) everything nothing
support everything incidents (tickets, comments, reassign, approve) + time tracking
full everything incidents + time tracking + Knowledge Base
{
  "mcpServers": {
    "invgate": {
      "command": "uvx",
      "args": ["invgate-service-desk-mcp"],
      "env": {
        "INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
        "INVGATE_API_TOKEN": "your-api-token",
        "INVGATE_WRITE_PROFILE": "support"
      }
    }
  }
}

Compatibility: the legacy INVGATE_ENABLE_WRITES=1 still works and maps to full. If both are set, the profile wins and a warning is printed to stderr. Note: support deliberately keeps the Knowledge Base read-only. An invalid profile name fails fast at startup.

Warning: write mode lets the connected agent create, modify, and delete real content through your InvGate credential. There is no API to delete a ticket — created tickets can only be cancelled, not removed.

3. Get your API token

In your InvGate Service Desk instance: Settings > Integrations > API (or ask your admin). The server authenticates via HTTP Basic with username api and your token as the password.

Configuration

Configuration resolves in this order (highest priority first):

  1. Environment variables (always win)
  2. TOML config at ~/.config/invgate-service-desk-mcp/config.toml
Env var TOML key Description
INVGATE_BASE_URL base_url Instance URL, e.g. https://acme.sd.cloud.invgate.net
INVGATE_API_TOKEN api_token API token (HTTP Basic password)
INVGATE_API_USERNAME api_username HTTP Basic username (optional, defaults to api)
INVGATE_WRITE_PROFILE write_profile Write access profile: none (default), support, or full
INVGATE_TELEMETRY telemetry_enabled Enable OpenTelemetry (default: false)
INVGATE_TELEMETRY_DETAIL telemetry_detail Span detail: metadata (default), ids, or full
# ~/.config/invgate-service-desk-mcp/config.toml
base_url = "https://acme.sd.cloud.invgate.net"
api_token = "..."
# api_username = "api"
# write_profile = "none"  # "none" (default) | "support" | "full"
# telemetry_enabled = false
# telemetry_detail = "metadata"

Tip: create the config directory first: mkdir -p ~/.config/invgate-service-desk-mcp

See config.toml.example for a copy-paste template.

Running the server

invgate-service-desk-mcp                 # STDIO transport (default)
invgate-service-desk-mcp --transport sse # SSE/HTTP transport

Security note: STDIO (the default) keeps everything local. The sse and streamable-http transports have no built-in authentication — only use them bound to loopback or behind an authenticated reverse proxy.

Observability (optional)

The server can emit OpenTelemetry traces, metrics, and logs — completely opt-in and vendor-neutral. Export to any OTLP-compatible backend (Dynatrace, Grafana, Datadog, Jaeger, etc.).

pip install "invgate-service-desk-mcp[telemetry]"

export INVGATE_TELEMETRY=1

OTLP endpoint and headers are configured via standard OpenTelemetry env vars (not in the TOML file):

Dynatrace setup
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<your-env>.live.dynatrace.com/api/v2/otlp"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token <YOUR_DT_TOKEN>"
export OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta
export OTEL_SERVICE_NAME=invgate-service-desk-mcp

Token scopes needed: openTelemetryTrace.ingest, metrics.ingest, logs.ingest. See docs/observability-dynatrace.md for a detailed guide.

Generic OTLP collector
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"
export OTEL_SERVICE_NAME=invgate-service-desk-mcp

Signals emitted:

  • Traces — tool execution spans (GenAI semantic conventions) + InvGate API request spans with response size and item count
  • Metrics — mcp.tool.duration, invgate.client.request.duration, mcp.tool.errors, invgate.response.item_count, invgate.response.size
  • Logs — tool errors and unexpected API response shapes, correlated to traces (OTLP only, never stdout)

Development

git clone https://github.com/tracegazer/invgate-service-desk-mcp.git
cd invgate-service-desk-mcp
uv venv && uv pip install -e ".[dev]"
pytest

License

MIT

Metadata

Release files for invgate-service-desk-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for invgate-service-desk-mcp 0.2.0
File Size Uploaded Provenance
invgate_service_desk_mcp-0.2.0.tar.gz 124.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for invgate-service-desk-mcp 0.2.0
File Interpreter ABI Platform
invgate_service_desk_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 162.8 kB

Release files / invgate_service_desk_mcp-0.2.0.tar.gz

Download URL invgate_service_desk_mcp-0.2.0.tar.gz
Size 124.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b40cbd4a08f917d24a9f094e54d0ba7381b30830ccd8b7d7610505dd6b7a3d55
BLAKE2b-256 checksum
How to use checksums
c8a8c886dcd1405d0894a19e269dfa1181f9695254af5f0ccc6541496743c252
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 9, 2026.

Transparency log

Release files / invgate_service_desk_mcp-0.2.0-py3-none-any.whl

Download URL invgate_service_desk_mcp-0.2.0-py3-none-any.whl
Size 38.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23de6a644782c2e446166e82e63b9e02d21a5f0c12899ca98fe13db4e7291375
BLAKE2b-256 checksum
How to use checksums
6a6de7f29e3db3b956dd2ea2a867a9c706e309ba6a8b4c7444bc890b24944a4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 9, 2026.

Transparency log

Security for invgate-service-desk-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for invgate_service_desk_mcp-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page