Skip to main content

MCP server for searching and retrieving OTOBO tickets

Project description

OTOBO MCP Server

An MCP server for searching and retrieving tickets from OTOBO via the Generic Interface REST API.

Prerequisites

  • Python 3.10+
  • An OTOBO instance with the Generic Interface enabled
  • uv package manager

OTOBO web service setup

In Admin > Web Services, create or edit a web service with these operations:

Operation Route Method
Ticket::TicketSearch /TicketSearch POST
Ticket::TicketGet /TicketGet POST

POST is required for both — GET cannot handle the nested search parameters.

Quickstart

git clone https://github.com/youruser/otobo-mcp-server.git
cd otobo-mcp-server

# Create environment and install dependencies
uv venv
source .venv/bin/activate
uv sync

Run the server:

# STDIO (default)
uv run otobo_mcp_server.py

# SSE
uv run otobo_mcp_server.py -t sse -p 8080

# Streamable HTTP
uv run otobo_mcp_server.py -t streamable-http -p 8080

Configuration

All configuration is through environment variables:

Variable Required Default Description
OTOBO_HOST yes Base URL, e.g. https://otobo.example.com
OTOBO_USER yes Agent username
OTOBO_PASSWORD yes Agent password
OTOBO_WEBSERVICE no GenericTicketConnectorREST Web service name in OTOBO admin
OTOBO_SSL_VERIFY no true SSL certificate verification
OTOBO_TIMEOUT no 30 HTTP timeout in seconds
OTOBO_TRANSPORT no stdio Transport: stdio, sse, streamable-http

For SSE/HTTP transports, bind address is set via FASTMCP_HOST (default 127.0.0.1) and FASTMCP_PORT (default 8000), or use --host / --port flags.

Usage

    "otobo": {
      "command": "uv",
      "args": [
        "--directory", "/absolute/path/to/otobo-mcp-server",
        "run", "otobo_mcp_server.py"
      ],
      "env": {
        "OTOBO_HOST": "https://otobo.example.com",
        "OTOBO_USER": "api_agent",
        "OTOBO_PASSWORD": "secret"
      }
    }

Usage with Claude Code

claude mcp add otobo \
  -e OTOBO_HOST=https://otobo.example.com \
  -e OTOBO_USER=api_agent \
  -e OTOBO_PASSWORD=secret \
  -- uv --directory /absolute/path/to/otobo-mcp-server run otobo_mcp_server.py

Remote (SSE / Streamable HTTP)

uv run otobo_mcp_server.py -t sse --host 0.0.0.0 -p 8080

SSE endpoint: http://your-host:8080/sse Streamable HTTP endpoint: http://your-host:8080/mcp

Tools

search_tickets — search with filters: title keywords, date range, state, priority, customer, queue. Returns JSON with ticket details and all articles/comments.

get_ticket_details — fetch a single ticket by ID with dynamic fields and articles.

get_ticket_articles — fetch only the article/comment history for a ticket.

check_connection — verify OTOBO connectivity and authentication.

Testing

# With MCP Inspector
npx @modelcontextprotocol/inspector uv run otobo_mcp_server.py

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

otobo_mcp_server-1.0.1.tar.gz (57.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

otobo_mcp_server-1.0.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file otobo_mcp_server-1.0.1.tar.gz.

File metadata

  • Download URL: otobo_mcp_server-1.0.1.tar.gz
  • Upload date:
  • Size: 57.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for otobo_mcp_server-1.0.1.tar.gz
Algorithm Hash digest
SHA256 954da6fab6fb2fd2d9b4891a3d4d81dc6dd4c6bebd05694fbfc107ef80880cec
MD5 00eb164045eda90dbf16e459396cec50
BLAKE2b-256 8602fcfbec0609b4c8a29f9680401a08c842fac1274d0c0fea7c0496a6f80a53

See more details on using hashes here.

Provenance

The following attestation bundles were made for otobo_mcp_server-1.0.1.tar.gz:

Publisher: build_and_publish_pypi.yaml on siscale/otobo-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file otobo_mcp_server-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for otobo_mcp_server-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e56247a47426e915fd85992d93100919bdf68cdea27f0fa40c608e6f9393d5c1
MD5 eabca524f010c73b6fc6dbc6f5e49960
BLAKE2b-256 011f2072b307f94ab626fe2c9701b89e9e4d536a4a7cd2faf766d29e793be768

See more details on using hashes here.

Provenance

The following attestation bundles were made for otobo_mcp_server-1.0.1-py3-none-any.whl:

Publisher: build_and_publish_pypi.yaml on siscale/otobo-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page