JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14
  • Score
    100M100P100Q36436F
  • License MIT

Model Context Protocol (MCP) server for interacting with the HaloPSA API

Package Exports

  • haloapi-mcp-tools
  • haloapi-mcp-tools/standalone-mcp.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (haloapi-mcp-tools) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

HaloPSA MCP Tools

Version License

A Model Context Protocol (MCP) server for interacting with the HaloPSA API. This package provides tools that allow Claude and other AI assistants to interact with HaloPSA for ticket management, user information, and asset tracking.

Features

  • 🔄 Seamless integration with Claude Desktop and Claude API
  • 🎫 Complete ticket management (create, read, update, delete)
  • 👤 User information lookup and management
  • 💻 Asset tracking and management
  • 🔐 Secure authentication with HaloPSA API
  • 🌐 Multiple transport options: HTTP, STDIO, TCP

Installation

You can install this package globally to use it as a command-line tool:

npm install -g haloapi-mcp-tools

Or install it locally in your project:

npm install haloapi-mcp-tools

Configuration

Create a .env file in your project root with the following settings:

# HaloPSA API Configuration
HALO_API_URL=https://your-instance.halopsa.com/api
HALO_API_VERSION=v3
HALO_API_KEY=your_api_key_here

# MCP Server Configuration
MCP_SERVER_PORT=3000
TRANSPORT=http
TOOL_PREFIX=halo
DEBUG=false
LOG_LEVEL=info

Required Environment Variables

Variable Description
HALO_API_URL Your HaloPSA instance API URL
HALO_API_KEY Your HaloPSA API key

Usage

As a Command-Line Tool

Start the MCP server for Claude Desktop:

haloapi-mcp-server

This will start an HTTP server on port 3000 (or the port specified in your .env file).

As a Library

const { startServer } = require('haloapi-mcp-tools');

// Start the server with custom options
const server = startServer({
  port: 4000,
  transport: 'http',
  debug: true
});

Integrating with Claude

Claude Desktop Integration

  1. Start the MCP server:

    haloapi-mcp-server
  2. Open Claude Desktop

  3. Go to Settings > Extensions

  4. Click "Add MCP Server"

  5. Enter the following details:

    • URL: http://localhost:3000 (or your configured port)
    • Name: HaloPSA
  6. Click "Save"

You can now use HaloPSA tools in your Claude conversations.

Claude API Integration

To use with the Claude API, you can include the MCP server configuration in your API requests:

{
  "mcpServers": {
    "halopsa": {
      "command": "npx",
      "args": ["-y", "haloapi-mcp-tools"],
      "env": {
        "HALO_API_KEY": "your_api_key_here", 
        "HALO_API_URL": "https://your-instance.halopsa.com/api"
      }
    }
  }
}

Available Tools

This package provides the following MCP tools:

Ticket Tools

Tool Description
halo-get-tickets Get a list of tickets with optional filtering
halo-get-ticket Get detailed information about a specific ticket
halo-create-ticket Create a new ticket
halo-update-ticket Update an existing ticket
halo-delete-ticket Delete a ticket
halo-get-ticket-comments Get comments for a ticket
halo-add-comment Add a comment to a ticket

User Tools

Tool Description
halo-get-users Get a list of users with optional filtering
halo-get-user Get detailed information about a specific user
halo-create-user Create a new user
halo-update-user Update an existing user

Asset Tools

Tool Description
halo-get-assets Get a list of assets with optional filtering
halo-get-asset Get detailed information about a specific asset
halo-create-asset Create a new asset
halo-update-asset Update an existing asset

Example: Creating a Ticket with Claude

Here's an example of how you might use Claude to create a ticket in HaloPSA:

User: I need to create a new support ticket for a server outage in the finance department.

Claude: I can help you create a ticket in HaloPSA for that. What details would you like to include?

User: The server finance-srv01 is down and affecting the entire finance department. We need urgent assistance.

Claude: I'll create a ticket for that issue right away. Let me use the HaloPSA tools.

[Claude uses the halo-create-ticket tool]

Claude: I've created a ticket for the server outage. Here are the details:

Ticket #12345
Subject: Finance Server Outage - finance-srv01
Status: Open
Priority: High
Assigned Team: IT Support

The ticket has been created and is now visible in your HaloPSA instance. Is there anything else you'd like me to do with this ticket?

Development

Building from source

git clone https://github.com/username/haloapi-mcp-tools.git
cd haloapi-mcp-tools
npm install
npm run build

Running tests

npm test

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions, please open an issue on GitHub.