Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for HaloPSA — clients, tickets, and PSA workflows via the HaloPSA REST API.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
HALOPSA_CLIENT_ID, HALOPSA_CLIENT_SECRET, HALOPSA_TENANT, HALOPSA_BASE_URL, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"halopsa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID",
"-e",
"HALOPSA_CLIENT_SECRET",
"-e",
"HALOPSA_TENANT",
"-e",
"HALOPSA_BASE_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "your-value",
"HALOPSA_CLIENT_SECRET": "your-value",
"HALOPSA_TENANT": "your-value",
"HALOPSA_BASE_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add halopsa --env HALOPSA_CLIENT_ID=your-value --env HALOPSA_CLIENT_SECRET=your-value --env HALOPSA_TENANT=your-value --env HALOPSA_BASE_URL=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e HALOPSA_CLIENT_ID -e HALOPSA_CLIENT_SECRET -e HALOPSA_TENANT -e HALOPSA_BASE_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/halopsa-mcp:v1.7.11動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"halopsa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID",
"-e",
"HALOPSA_CLIENT_SECRET",
"-e",
"HALOPSA_TENANT",
"-e",
"HALOPSA_BASE_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "your-value",
"HALOPSA_CLIENT_SECRET": "your-value",
"HALOPSA_TENANT": "your-value",
"HALOPSA_BASE_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"halopsa": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HALOPSA_CLIENT_ID",
"-e",
"HALOPSA_CLIENT_SECRET",
"-e",
"HALOPSA_TENANT",
"-e",
"HALOPSA_BASE_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-technology/halopsa-mcp:v1.7.11"
],
"env": {
"HALOPSA_CLIENT_ID": "your-value",
"HALOPSA_CLIENT_SECRET": "your-value",
"HALOPSA_TENANT": "your-value",
"HALOPSA_BASE_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
HALOPSA_TENANT envHALOPSA_BASE_URL envMCP_TRANSPORT envAUTH_MODE envLOG_LEVEL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント wyre-technology で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:HALOPSA_CLIENT_ID, HALOPSA_CLIENT_SECRET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.7.11)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, AvaHR
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server for interacting with HaloPSA, featuring a decision tree architecture for efficient tool loading.
[!IMPORTANT]
Before you click: this server depends on
@wyre-technology/node-halopsa,
which is hosted on the GitHub Packages npm registry. GitHub Packages has no
anonymous access — even though the package is public, every
npm installneeds a
token. The cloud builder runs
npm installfor you, so you must give it one, or
the build fails with
npm error 401 Unauthorized ... npm.pkg.github.com.
1. Create a GitHub Personal Access Token with the
read:packagesscope
Any GitHub account works — you do not need to be a member of the
wyre-technologyorg to read its public packages.
2. Add it as a build variable when prompted by the deploy flow:
- Cloudflare Workers → set a build variable named `NODE_AUTH_TOKEN` to your PAT
(Workers → Settings → Build → Variables and Secrets).
- DigitalOcean App Platform → set an encrypted env var named `GITHUB_TOKEN`
with scope Build Time to your PAT (the
.do/app.yamlalready declares it).
[!NOTE]
The DigitalOcean target builds the full Docker image and runs the complete MCP
server over HTTP — this is the recommended path for operators. The Cloudflare
Workers target is currently a thin entrypoint (the
/mcproute returns 501 until
the Workers transport adapter lands) and is best suited to gateway-style
deployments; for a full self-hosted server prefer DigitalOcean or the prebuilt
container image (
ghcr.io/wyre-ai/halopsa-mcp).
This MCP server uses a hierarchical tool loading approach instead of exposing all tools upfront:
halopsa_navigate)This architecture provides:
halopsa_tickets_get renders as an interactive card in MCP Apps hosts (Claude Desktop/web) with an in-card "Add note" round-trip via halopsa_tickets_add_action; plain-JSON behavior is unchanged in other hosts. The card is neutral by default and brandable via window.__BRAND__ injection or MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) — no rebuild needed.
This package is published to the GitHub Packages npm registry, which requires a token even for public packages. Authenticate once, then install:
# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token) # or a PAT with read:packages
npm install @wyre-ai/halopsa-mcp
The repo's .npmrc already points the @wyre-technology scope at GitHub Packages and reads the token from NODE_AUTH_TOKEN, so no further config is needed.
Set the following environment variables:
| Variable | Required | Description |
|---|---|---|
HALOPSA_CLIENT_ID | Yes | OAuth 2.0 Client ID |
HALOPSA_CLIENT_SECRET | Yes | OAuth 2.0 Client Secret |
HALOPSA_TENANT | One of | Tenant name (e.g., yourcompany) |
HALOPSA_BASE_URL | these | Explicit base URL (e.g., https://yourcompany.halopsa.com) |
# Set credentials
export HALOPSA_CLIENT_ID="your-client-id" export HALOPSA_CLIENT_SECRET="your-client-secret" export HALOPSA_TENANT="yourcompany"
npx @wyre-ai/halopsa-mcp
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": { "halopsa": { "command": "npx", "args": ["@wyre-ai/halopsa-mcp"], "env": { "HALOPSA_CLIENT_ID": "your-client-id", "HALOPSA_CLIENT_SECRET": "your-client-secret", "HALOPSA_TENANT": "yourcompany" } } } }
docker build -t halopsa-mcp .
docker run -e HALOPSA_CLIENT_ID=xxx -e HALOPSA_CLIENT_SECRET=xxx -e HALOPSA_TENANT=yourcompany halopsa-mcp
Manage support tickets, create new tickets, update status, add actions/notes.
Tools:
halopsa_tickets_list - List tickets with filters (category_1 only; category_2–category_4 are rejected)halopsa_tickets_get - Get ticket detailshalopsa_tickets_create - Create a new ticket (optional category_1–category_4)halopsa_tickets_update - Update an existing ticket (optional category_1–category_4)halopsa_tickets_add_action - Add a note/action to a ticketLook up Halo ticket categories so triage can assign category_1–category_4 (the category name, matched to its level).
Tools:
halopsa_categories_list - List one page of ticket categories (limit defaults to 50; page_no starts at 1)halopsa_categories_get - Get a category by IDManage companies/clients in HaloPSA.
Tools:
halopsa_clients_list - List clientshalopsa_clients_get - Get client detailshalopsa_clients_create - Create a new clienthalopsa_clients_search - Search clients by nameManage configuration items/assets.
Tools:
halopsa_assets_list - List assets with filtershalopsa_assets_get - Get asset detailshalopsa_assets_search - Search assetshalopsa_assets_list_types - List available asset typesView technicians and teams.
Tools:
halopsa_agents_list - List agents/technicianshalopsa_agents_get - Get agent detailshalopsa_teams_list - List teamsView billing and invoices.
Tools:
halopsa_invoices_list - List invoices with filtershalopsa_invoices_get - Get invoice detailsAlways available:
halopsa_navigate - Select a domain to work withhalopsa_status - Show current state and credential statushalopsa_back - Return to main menu (when in a domain)User: Check my tickets
Claude: [calls halopsa_navigate with domain="tickets"] -> Navigated to tickets domain. Available tools: ...
User: List open tickets Claude: [calls halopsa_tickets_list with open_only=true] -> [ticket list results]
User: Now show me clients Claude: [calls halopsa_back] -> Navigated back to main menu. [calls halopsa_navigate with domain="clients"] -> Navigated to clients domain.
HaloPSA has a rate limit of 500 requests per 3-minute window. The underlying @asachs01/node-halopsa client handles this automatically with request throttling.
Apache-2.0