Skip to main content

iTop MCP Server

A Model Context Protocol (MCP) server for integrating with iTop ITSM (IT Service Management) systems. This server provides AI assistants with the ability to interact with iTop through its REST API, enabling operations like ticket management, CI (Configuration Item) management, and more.

Features

The iTop MCP server provides the following tools:

Core iTop Operations:

  • list_operations: List all available iTop REST API operations
  • get_objects: Search and retrieve iTop objects (tickets, users, CIs, etc.)
  • create_object: Create new objects in iTop
  • update_object: Update existing objects
  • delete_object: Delete objects (with simulation mode for safety)
  • apply_stimulus: Apply state transitions to objects (e.g., resolve tickets)
  • get_related_objects: Find related objects through impact/dependency relationships
  • check_credentials: Verify iTop API credentials

Enhanced Ticket Management:

  • get_latest_tickets: Get recent tickets ordered by creation date with status filtering
  • search_tickets_by_caller: Find tickets by caller name
  • get_ticket_details: Get comprehensive details for a specific ticket
  • get_my_assigned_tickets: Get tickets assigned to a specific agent with status grouping
  • create_user_request: Streamlined user request creation with smart field resolution

Organization Management:

  • get_organizations: List and search organizations with filtering

Installation

# Install the package
pip install itop-mcp

# Or using uv
uv add itop-mcp

Option 2: Install from Source

  1. Prerequisites:

    • Python 3.10 or higher
    • Access to an iTop instance with REST API enabled
    • iTop user account with "REST Services User" profile
  2. Install dependencies:

    # Install uv if you haven't already
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Clone and install
    git clone https://github.com/roneydsilva/itop-mcp.git
    cd itop-mcp
    uv sync
    
  3. Configure iTop connection:

    # Copy the example configuration
    cp .env.example .env
    
    # Edit the .env file with your iTop details
    nano .env
    

    Required environment variables:

    • ITOP_BASE_URL: Your iTop instance URL (e.g., https://itop.yourcompany.com)
    • ITOP_USER: Username with REST Services User profile
    • ITOP_PASSWORD: Password for the user
    • ITOP_VERSION: API version (optional, default: 1.4)

Usage

Running the Server

# Activate the virtual environment
source .venv/bin/activate

# Run the server
uv run main.py

Connecting to Claude Desktop

Option 1: Using PyPI Installation

To use this server with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "itop": {
      "command": "itop-mcp",
      "env": {
        "ITOP_BASE_URL": "https://your-itop-instance.com",
        "ITOP_USER": "your_username",
        "ITOP_PASSWORD": "your_password"
      }
    }
  }
}

Option 2: Using Source Installation

{
  "mcpServers": {
    "itop": {
        "command": "uv",
        "args": [
            "run",
            "--directory",
            "/path/to/itop-mcp",
            "itop-mcp"
        ],
        "env": {
            "ITOP_BASE_URL": "https://your-itop-instance.com",
            "ITOP_USER": "your_username",
            "ITOP_PASSWORD": "your_password",
            "ITOP_VERSION": "1.3"
        }
    }
  }
}

Note: This works because we've configured itop-mcp as an entry point in pyproject.toml. You need to run this from the project directory where pyproject.toml is located, or uv needs to be able to find the project.


### Example Operations

Once connected, you can ask your AI assistant to perform operations like:

**Basic Operations:**
- "List all open user requests in iTop"
- "Create a new incident ticket for server downtime"
- "Find all CIs related to the mail server"
- "Update the priority of ticket #123 to high"
- "Resolve ticket #456 with resolution details"

**Enhanced Queries:**
- "Get the latest 5 tickets created today"
- "Show me all tickets assigned to John Smith"
- "Find all tickets reported by Jane Doe"
- "Get detailed information for ticket R-000123"
- "List organizations containing 'Tech' in their name"

**Smart Ticket Creation:**
- "Create a new user request for printer issues reported by John from IT Department"

## iTop Class Examples

Common iTop classes you can work with:

- **UserRequest**: User requests/tickets
- **Incident**: Incident tickets
- **Person**: Users and contacts
- **Organization**: Organizations/companies
- **Server**: Server configuration items
- **Application**: Application configuration items
- **Service**: IT services
- **Contract**: Contracts and SLAs

## Security Notes

- Always use HTTPS for your iTop instance in production
- Store credentials securely (use environment variables, not hardcoded values)
- The user account should have minimal necessary permissions
- Test operations in a development environment first
- Use simulation mode for delete operations until you're confident

## Troubleshooting

### Common Issues

1. **Authentication errors**: Ensure your user has the "REST Services User" profile in iTop
2. **Connection errors**: Verify the ITOP_BASE_URL is correct and accessible
3. **Permission errors**: Check that the user has appropriate rights on the objects you're trying to access

### Testing the Connection

Use the `check_credentials` tool to verify your configuration:

```python
# The server will automatically test credentials on startup
# You can also ask the AI assistant: "Check my iTop credentials"

Development

To extend the server:

  1. Add new tools by creating functions decorated with @mcp.tool()
  2. Follow the iTop REST API documentation for available operations
  3. Handle errors gracefully and provide informative messages
  4. Test thoroughly in a development environment

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

This project is open source. See the LICENSE file for details.

References

Metadata

Release files for itop-mcp 1.0.2

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

Source distribution (sdist)

Source distribution for itop-mcp 1.0.2
File Size Uploaded Provenance
itop_mcp-1.0.2.tar.gz 14.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for itop-mcp 1.0.2
File Interpreter ABI Platform
itop_mcp-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 38.4 kB

Release files / itop_mcp-1.0.2.tar.gz

Download URL itop_mcp-1.0.2.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
bba8b9cf746be974801680425c5077d9e674e58021b9e6b11582de39edfa1521
BLAKE2b-256 checksum
How to use checksums
717286ec9dbee3b4617c0c234d3ade62531a2809c6591bc136246a4423f6e66b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.9

Release files / itop_mcp-1.0.2-py3-none-any.whl

Download URL itop_mcp-1.0.2-py3-none-any.whl
Size 24.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
66a49204f51ed1912d55e11ebb3cd556f61a581c47e3a460e9b9f2783110b563
BLAKE2b-256 checksum
How to use checksums
0aa957018ae2de07daca285ee80ff64e97ab7831a86040066b2688bedcdca386
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.9

Security for itop-mcp 1.0.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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