Model Context Protocol server for iTop ITSM integration
Project description
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
Option 1: Install from PyPI (Recommended)
# Install the package
pip install itop-mcp
# Or using uv
uv add itop-mcp
Option 2: Install from Source
-
Prerequisites:
- Python 3.10 or higher
- Access to an iTop instance with REST API enabled
- iTop user account with "REST Services User" profile
-
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
-
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 profileITOP_PASSWORD: Password for the userITOP_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-mcpas an entry point inpyproject.toml. You need to run this from the project directory wherepyproject.tomlis 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:
- Add new tools by creating functions decorated with
@mcp.tool() - Follow the iTop REST API documentation for available operations
- Handle errors gracefully and provide informative messages
- Test thoroughly in a development environment
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
License
This project is open source. See the LICENSE file for details.
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file itop_mcp-1.0.2.tar.gz.
File metadata
- Download URL: itop_mcp-1.0.2.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bba8b9cf746be974801680425c5077d9e674e58021b9e6b11582de39edfa1521
|
|
| MD5 |
842981dc62f17e5fcef9c378cb9967fb
|
|
| BLAKE2b-256 |
717286ec9dbee3b4617c0c234d3ade62531a2809c6591bc136246a4423f6e66b
|
File details
Details for the file itop_mcp-1.0.2-py3-none-any.whl.
File metadata
- Download URL: itop_mcp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66a49204f51ed1912d55e11ebb3cd556f61a581c47e3a460e9b9f2783110b563
|
|
| MD5 |
9489c46ddfa25e5856beb7d53f9d80c3
|
|
| BLAKE2b-256 |
0aa957018ae2de07daca285ee80ff64e97ab7831a86040066b2688bedcdca386
|