tanss-mcp-server

pronet-systems/tanss-mcp-server

3.2

If you are the rightful owner of tanss-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The TANSS MCP Server is a comprehensive Model Context Protocol server designed to integrate AI assistants with the TANSS ticket management system.

Tools
5
Resources
0
Prompts
0

TANSS MCP Server

A comprehensive Model Context Protocol (MCP) server for the TANSS API, providing seamless integration with AI assistants like Claude or n8n.


What is this?

The TANSS MCP Server bridges the gap between AI assistants (like Claude/n8n) and the TANSS ticket management system. It exposes 238 API endpoints through 237 tools that can be called by AI assistants to:

  • 🎫 Create and manage tickets
  • 📞 Handle phone calls and call assignments
  • 💬 Manage chats and communications
  • 🖥️ Track IT assets (PCs, peripherals, components)
  • 👥 Manage employees and companies
  • ⏱️ Track time and timestamps
  • 📊 Create offers and invoices
  • 🔧 Handle remote support sessions
  • 📈 Monitor systems and devices
  • And much more!

Features

238 API endpoints covering all TANSS functionality
237 tools (e.g., create_ticket)
Dual transport modes: stdio and SSE (HTTP)
Role-based authentication: Support for 6 different token types
Automatic token management: Bearer prefix handling and role-specific token prioritization


Quick Start

Prerequisites

  • Python 3.8+
  • TANSS account with API access
  • API token from TANSS

Installation

  1. Clone the repository
git clone <repository-url>
cd tanss-mcp
  1. Install dependencies
pip install -r requirements.txt
  1. Configure the server

Create config.ini from the example:

cp config.ini.example config.ini

Edit config.ini and add your TANSS credentials:

[tanss]
base_url = https://your-tanss-instance.com/backend/
api_token = your_api_token_here

[credentials]
username = your_username
password = your_password
  1. Start the server

For Claude Desktop (stdio mode):

python3 server.py --mode stdio

For web clients (SSE mode):

python3 server.py --mode sse --host 0.0.0.0 --port 3001

Configuration

Basic Configuration

Minimal config.ini:

[tanss]
base_url = https://your-tanss.com/backend/
api_token = your_access_token

[sse]
host = 127.0.0.1
port = 3001

Advanced Configuration with Role-Specific Tokens

For enhanced security and permissions, configure role-specific tokens:

[tanss]
base_url = https://your-tanss.com/backend/
api_token = your_main_token

# Optional: Role-specific tokens for specialized operations
erp_api_token = Bearer your_erp_token
phone_api_token = Bearer your_phone_token
remote_support_api_token = Bearer your_remote_support_token
monitoring_api_token = Bearer your_monitoring_token
device_management_api_token = Bearer your_device_mgmt_token
timestamp_api_token = Bearer your_timestamp_token

[sse]
host = 192.168.0.153
port = 3001
reload = false
log_level = info

[credentials]
username = your_username
password = your_password

Usage

With Claude Desktop

Add to your Claude Desktop MCP settings (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "tanss": {
      "command": "python3",
      "args": ["/absolute/path/to/tanss-mcp/server.py"],
      "cwd": "/absolute/path/to/tanss-mcp"
    }
  }
}

Restart Claude Desktop, and you'll have access to all TANSS tools!

As SSE Server

# Start server
python3 server.py --mode sse --host 0.0.0.0 --port 3001

# The server will be available at:
# SSE endpoint: http://your-host:3001/sse
# Messages endpoint: http://your-host:3001/messages

Getting Your API Token

Use the login tool or the test script:

# Start SSE server first
python3 server.py --mode sse

# In another terminal, test login
python3 test_login.py

This will generate access and refresh tokens you can use in config.ini.


Available Tools

The server provides 237 human-friendly tools across 41 categories.

Most Common Tools

🎫 Ticket Management (37 tools)
  • create_ticket - Create a new ticket
  • get_ticket - Get ticket details
  • update_ticket - Update an existing ticket
  • delete_ticket - Delete a ticket
  • get_my_tickets - Get your assigned tickets
  • get_all_tickets - Get all tickets
  • get_company_tickets - Get tickets for a company
  • add_ticket_comment - Add a comment to a ticket
  • get_ticket_history - View ticket change history
  • upload_ticket_file - Upload a file to a ticket
⏱️ Time Tracking (15 tools)
  • create_timestamp - Clock in/out or log time
  • get_timestamps - Get time records
  • close_day - Close the day for time tracking
  • get_timestamp_statistics - Get time statistics
💬 Chats (10 tools)
  • create_chat - Start a new chat
  • send_chat_message - Send a message
  • close_chat - Close a chat
  • reopen_chat - Reopen a closed chat
  • add_chat_participant - Add someone to a chat
📞 Phone Calls (8 tools)
  • create_call - Log a phone call
  • get_my_calls - Get your calls
  • identify_caller - Identify a caller by phone number
  • assign_call_to_employee - Assign a call
🔧 Remote Support (9 tools)
  • create_remote_support - Create a remote support session
  • list_remote_supports - List all remote support sessions
  • assign_device_to_remote_support - Link a device
  • assign_employee_to_remote_support - Assign a technician
💼 ERP Integration (15 tools)
  • get_company_employees - Get employees of a company
  • get_company_departments - Get departments
  • get_ticket_types - Get available ticket types
  • get_ticket_statuses - Get available ticket statuses
  • create_invoice - Create an invoice
  • create_customer - Create a customer
🖥️ IT Asset Management
  • create_pc / update_pc / delete_pc - Manage computers
  • create_peripheral / update_peripheral - Manage peripherals
  • create_component / update_component - Manage components
  • get_operating_system - Get OS information
📋 Offers & Quotes (13 tools)
  • create_offer - Create a new offer/quote
  • update_offer - Update an offer
  • get_offer_template - Get offer templates
🔐 Authentication
  • login - Login and get API tokens

Complete Tool List

Total Tools: 237

Tool NameCategory
get_ticketTicket Operations
create_ticketTicket Operations
update_ticketTicket Operations
delete_ticketTicket Operations
get_ticket_historyTicket Operations
add_ticket_commentTicket Operations
get_my_ticketsTicket Lists
get_all_ticketsTicket Lists
get_company_ticketsTicket Lists
get_technician_ticketsTicket Lists
get_repair_ticketsTicket Lists
get_project_ticketsTicket Lists
get_tickets_by_roleTicket Lists
get_unidentified_ticketsTicket Lists
get_admin_ticketsTicket Lists
update_ticket_listTicket Lists
get_ticket_documentTicket Content
get_ticket_screenshotTicket Content
upload_ticket_fileTicket Content
get_ticket_statesTicket States
create_ticket_stateTicket States
update_ticket_stateTicket States
delete_ticket_stateTicket States
get_callPhone Calls
create_callPhone Calls
update_callPhone Calls
get_call_assignmentsPhone Calls
assign_call_to_employeePhone Calls
unassign_call_from_employeePhone Calls
identify_callerPhone Calls
send_call_notificationPhone Calls
get_my_callsUser Phone Calls
update_my_callUser Phone Calls
identify_my_callerUser Phone Calls
get_remote_supportRemote Support
create_remote_supportRemote Support
list_remote_supportsRemote Support
update_remote_supportRemote Support
delete_remote_supportRemote Support
get_remote_support_devicesRemote Support
assign_device_to_remote_supportRemote Support
unassign_device_from_remote_supportRemote Support
get_remote_support_employeesRemote Support
assign_employee_to_remote_supportRemote Support
unassign_employee_from_remote_supportRemote Support
get_monitoring_ticketMonitoring
create_monitoring_ticketMonitoring
update_monitoring_ticketMonitoring
get_monitoring_groupsMonitoring
assign_monitoring_groupMonitoring
unassign_monitoring_groupMonitoring
get_tickets_from_monitoring_groupMonitoring
get_company_departmentsERP Integration
get_company_employeesERP Integration
get_department_employeesERP Integration
get_employee_departmentsERP Integration
search_company_by_idERP Integration
get_ticket_statusesERP Integration
get_ticket_typesERP Integration
get_company_categoriesERP Integration
create_company_categoryERP Integration
get_customersERP Integration
create_customerERP Integration
get_invoicesERP Integration
create_invoiceERP Integration
create_erp_ticketERP Integration
upload_ticket_file_erpERP Integration
get_timestampsTime Tracking
create_timestampTime Tracking
update_timestampTime Tracking
get_timestamp_infoTime Tracking
get_timestamp_statisticsTime Tracking
get_pause_configsTime Tracking
create_pause_configTime Tracking
update_pause_configTime Tracking
delete_pause_configTime Tracking
get_day_closingTime Tracking
create_day_closingTime Tracking
delete_day_closingTime Tracking
close_dayTime Tracking
update_dayTime Tracking
set_employee_initial_balanceTime Tracking
get_chatChats
create_chatChats
update_chatChats
get_chat_close_requestsChats
close_chatChats
update_chat_closeChats
reopen_chatChats
send_chat_messageChats
add_chat_participantChats
remove_chat_participantChats
get_offerOffers
create_offerOffers
update_offerOffers
update_offersOffers
delete_offerOffers
get_offer_templateOffers
create_offer_templateOffers
update_offer_templateOffers
delete_offer_templateOffers
get_erp_selectionOffers
create_erp_selectionOffers
update_erp_selectionOffers
delete_erp_selectionOffers
get_material_pickerOffers
get_availabilityAvailability
get_techniciansEmployees
create_employeeEmployees
get_tagTags
create_tagTags
update_tagTags
delete_tagTags
get_tag_assignmentsTags
assign_tagTags
update_tag_assignmentTags
unassign_tagTags
get_tag_assignment_logTags
get_callbackCallbacks
create_callbackCallbacks
update_callbackCallbacks
searchSearch
get_checklist_assignmentsChecklists
assign_checklistChecklists
unassign_checklistChecklists
get_checklist_processChecklists
check_checklist_itemChecklists
get_support_sessionSupport Sessions
create_support_sessionSupport Sessions
update_support_sessionSupport Sessions
update_support_listSupport Sessions
add_support_signatureSupport Sessions
get_timerTimers
create_timerTimers
update_timerTimers
delete_timerTimers
get_timer_notesTimers
update_timer_notesTimers
delete_timer_notesTimers
get_pcPCs/Computers
create_pcPCs/Computers
update_pcPCs/Computers
delete_pcPCs/Computers
get_peripheralPeripherals
create_peripheralPeripherals
update_peripheralPeripherals
delete_peripheralPeripherals
get_peripheral_typesPeripherals
create_peripheral_typePeripherals
update_peripheral_typePeripherals
delete_peripheral_typePeripherals
install_builtin_peripheralPeripherals
get_componentComponents
create_componentComponents
update_componentComponents
delete_componentComponents
get_component_typesComponents
create_component_typeComponents
update_component_typeComponents
delete_component_typeComponents
get_serviceServices
create_serviceServices
update_serviceServices
delete_serviceServices
get_ip_addressesIP Addresses
create_ip_addressIP Addresses
update_ip_addressIP Addresses
delete_ip_addressIP Addresses
create_companyCompanies
get_company_employees_listCompanies
get_company_categoryCompany Categories
create_company_categoryCompany Categories
update_company_categoryCompany Categories
delete_company_categoryCompany Categories
get_company_category_typesCompany Categories
create_company_category_typeCompany Categories
update_company_category_typeCompany Categories
delete_company_category_typeCompany Categories
get_documentDocuments
create_documentDocuments
upload_documentDocuments
update_documentDocuments
delete_documentDocuments
get_webhook_rulesWebhooks
create_webhook_ruleWebhooks
update_webhook_ruleWebhooks
delete_webhook_ruleWebhooks
test_webhookWebhooks
get_ticket_boardTicket Board
get_ticket_board_projectTicket Board
get_ticket_board_panelTicket Board
create_ticket_board_panelTicket Board
update_ticket_board_panelTicket Board
delete_ticket_board_panelTicket Board
get_project_registersTicket Board
get_panel_registersTicket Board
get_global_panelsTicket Board
get_operating_systemOperating Systems
create_operating_systemOperating Systems
update_operating_systemOperating Systems
delete_operating_systemOperating Systems
get_manufacturerManufacturers
create_manufacturerManufacturers
update_manufacturerManufacturers
delete_manufacturerManufacturers
get_cpuCPUs
create_cpuCPUs
update_cpuCPUs
delete_cpuCPUs
get_hdd_typeHDD Types
create_hdd_typeHDD Types
update_hdd_typeHDD Types
delete_hdd_typeHDD Types
identifyIdentification
get_email_accountEmail Accounts
create_email_accountEmail Accounts
update_email_accountEmail Accounts
delete_email_accountEmail Accounts
get_company_email_accountsEmail Accounts
get_email_account_typesEmail Accounts
create_vacation_requestVacation Requests
update_vacation_requestVacation Requests
delete_vacation_requestVacation Requests
update_vacation_request_listVacation Requests
get_vacation_daysVacation Requests
set_vacation_daysVacation Requests
get_vacation_additional_typesVacation Requests
get_unseen_eventsActivity Feed
mark_all_events_seenActivity Feed
update_eventActivity Feed
get_domainDomains
create_domainDomains
update_domainDomains
delete_domainDomains
get_company_domainsDomains
loginAuthentication
test_smtpMail Testing

Tool Categories

CategoryToolsDescription
Tickets6Core ticket operations
Ticket Lists10Ticket filtering and views
Ticket Content3File uploads and screenshots
Ticket States4Ticket state management
Calls8Phone call management
Remote Support11Remote support sessions
Monitoring7System monitoring
ERP15ERP integration
Timestamp15Time tracking
Chats10Chat management
Offers14Offers and quotes
Tags9Tag management
Checklists5Checklist operations
Documents5Document management
Webhooks5Webhook configuration
Company2Company management
Employees2Employee operations
......And 24 more categories

API Documentation

This MCP server implements the TANSS API v10.10.0.

Official TANSS API Documentation: 🔗 https://api-doc.tanss.de/#section/Documentation-of-the-TANSS-API.-Version:-10.10.0

The API documentation provides:

  • Detailed endpoint specifications
  • Request/response schemas
  • Authentication requirements
  • Parameter descriptions
  • Example requests and responses

Architecture

Authentication Flow

┌─────────────────────────────────────────────────────────────────┐
│                        MCP Client                               │
│                    (Claude, etc.)                               │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             │ MCP Protocol
                             │
┌────────────────────────────▼────────────────────────────────────┐
│                    TANSS MCP Server                             │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │  Tool Catalog (237 tools)                                │  │
│  │  - create_ticket                                         │  │
│  │  - get_my_tickets                                        │  │
│  │  - create_remote_support                                 │  │
│  │  - ...                                                   │  │
│  └──────────────────────────────────────────────────────────┘  │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │  Token Manager                                           │  │
│  │  - Main API Token                                        │  │
│  │  - Role-specific Tokens (ERP, Phone, etc.)              │  │
│  │  - Automatic Bearer prefix handling                      │  │
│  └──────────────────────────────────────────────────────────┘  │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             │ HTTP + Custom apiToken header
                             │
┌────────────────────────────▼────────────────────────────────────┐
│                        TANSS API                                │
│                     (v10.10.0)                                  │
└─────────────────────────────────────────────────────────────────┘

Token Priority

When making API calls, the server uses this token priority:

  1. Role-specific token (if configured for that endpoint category)
  2. Main API token (fallback)

Example:

  • ERP endpoints use erp_api_token if configured, otherwise api_token
  • Ticket endpoints always use api_token

Custom Authentication Header

TANSS uses a custom authentication header instead of the standard Authorization header:

headers = {
    'apiToken': 'Bearer <token>',  # TANSS-specific
    'Content-Type': 'application/json'
}

The server handles this automatically.


Command-Line Options

python3 server.py --help

Options

OptionValuesDefaultDescription
--modestdio, ssesseTransport mode
--configpathconfig.iniConfig file path
--hosthostname127.0.0.1SSE server host
--portnumber8000SSE server port
--reloadflagfalseAuto-reload on changes
--log-leveldebug, info, warning, errorinfoLogging level

Examples

# stdio mode (default for Claude Desktop)
python3 server.py --mode stdio

# SSE mode for local development
python3 server.py --mode sse

# SSE mode for network access
python3 server.py --mode sse --host 0.0.0.0 --port 3001

# Development mode with auto-reload
python3 server.py --mode sse --reload --log-level debug

Security Notes

⚠️ Important Security Considerations:

  • Use environment variables for tokens in production
  • Rotate API tokens regularly
  • Monitor token expiration dates
  • Configure CORS properly for SSE mode in production
  • Use HTTPS for production deployments

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Support

Author: Sebastian Michel
Company: ProNet Systems GmbH
Website: https://www.pronet-systems.de


Made with ❤️ by ProNet Systems GmbH