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
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-toolsOr install it locally in your project:
npm install haloapi-mcp-toolsConfiguration
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=infoRequired 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-serverThis 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
Start the MCP server:
haloapi-mcp-server
Open Claude Desktop
Go to Settings > Extensions
Click "Add MCP Server"
Enter the following details:
- URL:
http://localhost:3000(or your configured port) - Name: HaloPSA
- URL:
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 buildRunning tests
npm testContributing
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.