Huly Mcp

io.github.varaprasadreddy9676Published by GitHub account varaprasadreddy9676v0.5.4Updated Oct 28, 2026

MCP server for Huly — manage projects, issues, documents and more via natural language.

Overview

AI-generated overview

Connects an assistant to a Huly workspace so it can manage projects, issues, comments, documents, labels and milestones in natural language.

What you can do
  • List, create and inspect projects, including available statuses
  • List, search, create, update and delete issues, plus add, list and delete comments
  • Manage labels, issue relations, parent epics, milestones, components and workspace members
  • Log time spent on issues
  • List, create, read, update, link and delete documents and teamspaces, writing Markdown with Mermaid diagrams
When to use it
Useful when a team tracks work in Huly and wants an assistant to file or update issues, tidy up labels and relations, log time, or draft and edit documents without switching to the web app.
Requirements
Runs locally over stdio via npx, so Node.js 20 or newer is needed. Requires a Huly account (cloud or self-hosted), the workspace slug in HULY_WORKSPACE, and either a HULY_TOKEN or email and password credentials; HULY_FRONT_URL is optional for reading document text. Network access to the Huly instance is required.
Before you install
HULY_TOKEN is a workspace credential taken from browser local storage and expires; email and password are an alternative but expose the account password to the local config. Many tools write or permanently delete data (issues, comments, documents), so mistakes are not easily undone. Document content and workspace data are sent to the Huly instance configured.

Installation

In SourceWeft

  1. Open Huly Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

huly-mcp-sdk

The most complete MCP server for Huly — the open-source project management platform.

Connects Claude Desktop (and any MCP-compatible client) directly to your Huly workspace. Manage projects, issues, milestones, components, documents, labels, and more — all via natural language.


Tools (36 total)

CategoryToolDescription
Projectslist_projectsList all projects in the workspace
get_projectGet project details + available statuses
create_projectCreate a new tracker project with a unique identifier
Issueslist_issuesList issues with optional status / priority filters
get_issueGet full details of an issue (e.g. PROJ-42)
create_issueCreate a new issue
update_issueUpdate title, status, priority, assignee, due date, component, milestone
delete_issuePermanently delete an issue by identifier
Commentsadd_commentAdd a comment to an issue
list_commentsList all comments on an issue (includes IDs for delete_comment)
delete_commentDelete a specific comment by ID
Time Trackinglog_timeLog hours spent on an issue
Labelslist_labelsList all labels with color + usage count
create_labelCreate a new label with an optional hex color
add_labelAdd a label to an issue (auto-creates if it doesn't exist)
remove_labelRemove a label from an issue
Relationsadd_relationMark two issues as related (bidirectional)
add_blocked_byMark an issue as blocked by another issue
set_parentSet or clear the parent epic of an issue
Memberslist_membersList workspace members
Milestoneslist_milestonesList milestones for a project
create_milestoneCreate a milestone with a target date and status
Componentslist_componentsList components (sub-areas) in a project
create_componentCreate a new component with optional lead
Documentslist_teamspacesList document teamspaces
create_teamspaceCreate a new teamspace (top-level document folder)
list_documentsList documents in a teamspace
delete_documentPermanently delete a document by ID
get_documentGet document metadata + content
create_documentCreate a new document in a teamspace
update_documentWrite Markdown content to a document — Mermaid diagrams render natively
link_documentLink a document to an issue — appears in the Relations panel
Searchsearch_issuesFull-text search across all issues

Requirements

  • Node.js >= 20
  • A Huly account — huly.app (cloud) or self-hosted

Quick Start

bash
npx huly-mcp-sdk setup

This runs the interactive setup wizard — sends a one-time code to your email (works for Google/GitHub SSO accounts too) and writes your .env file automatically.

Your workspace slug is the part of your Huly URL after the domain: huly.app/myteam → slug is myteam.


Compatible Clients

The same MCP server works across all major AI coding tools. Pick your client.

Auth note: All config examples below use HULY_TOKEN. If you have issues with token expiry, use email + password instead — just replace the env block with:

json
"HULY_EMAIL": "[email protected]","HULY_PASSWORD": "yourpassword","HULY_WORKSPACE": "your-workspace-slug"

See Manual Auth for details on both options.


Claude Desktop

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "huly": {      "command": "npx",      "args": ["huly-mcp-sdk"],      "env": {        "HULY_TOKEN": "your-token",        "HULY_WORKSPACE": "your-workspace-slug"      }    }  }}

Restart Claude Desktop after saving.


Claude Code (CLI)

bash
claude mcp add huly -e HULY_TOKEN=your-token -e HULY_WORKSPACE=your-slug -- npx huly-mcp-sdk

Or scope it to a single project only:

bash
claude mcp add huly --scope project -e HULY_TOKEN=your-token -e HULY_WORKSPACE=your-slug -- npx huly-mcp-sdk

Verify it's connected: claude mcp list


Cursor

Create or edit ~/.cursor/mcp.json:

json
{  "mcpServers": {    "huly": {      "command": "npx",      "args": ["huly-mcp-sdk"],      "env": {        "HULY_TOKEN": "your-token",        "HULY_WORKSPACE": "your-workspace-slug"      }    }  }}

Restart Cursor. The tools appear in the Agent panel under MCP.


Windsurf (Codeium)

Create or edit ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "huly": {      "command": "npx",      "args": ["huly-mcp-sdk"],      "env": {        "HULY_TOKEN": "your-token",        "HULY_WORKSPACE": "your-workspace-slug"      }    }  }}

Restart Windsurf. MCP tools are available to the Cascade AI panel.


VS Code — Cline extension

  1. Install the Cline extension
  2. Open Cline settings → MCP Servers → Edit MCP Settings
  3. Add:
json
{  "huly": {    "command": "npx",    "args": ["huly-mcp-sdk"],    "env": {      "HULY_TOKEN": "your-token",      "HULY_WORKSPACE": "your-workspace-slug"    }  }}

VS Code — Continue extension

  1. Install the Continue extension
  2. Edit ~/.continue/config.json and add to the mcpServers array:
json
{  "mcpServers": [    {      "name": "huly",      "command": "npx",      "args": ["huly-mcp-sdk"],      "env": {        "HULY_TOKEN": "your-token",        "HULY_WORKSPACE": "your-workspace-slug"      }    }  ]}

Zed

Edit ~/.config/zed/settings.json and add a context_servers entry:

json
{  "context_servers": {    "huly": {      "command": {        "path": "npx",        "args": ["huly-mcp-sdk"],        "env": {          "HULY_TOKEN": "your-token",          "HULY_WORKSPACE": "your-workspace-slug"        }      }    }  }}

OpenAI Codex CLI

Edit ~/.codex/config.json and add to mcpServers:

json
{  "mcpServers": {    "huly": {      "type": "stdio",      "command": "npx",      "args": ["huly-mcp-sdk"],      "env": {        "HULY_TOKEN": "your-token",        "HULY_WORKSPACE": "your-workspace-slug"      }    }  }}

Any other MCP-compatible client

The server uses standard stdio transport. If your tool supports MCP, the config pattern is always the same:

  • command: npx
  • args: ["huly-mcp-sdk"]
  • env: HULY_TOKEN + HULY_WORKSPACE

Consult your tool's MCP documentation for the exact config file location.

Alternative (avoid npx cold-start): Clone and build once, then point directly at the compiled binary:

bash
git clone https://github.com/varaprasadreddy9676/huly-mcp.gitcd huly-mcp && npm install && npm run build

Replace "command": "npx", "args": ["huly-mcp-sdk"] with "command": "node", "args": ["/absolute/path/to/huly-mcp/dist/index.js"] in any config above.


[image]

Example Prompts

Projects & issues:

  • "Create a new project called 'Mobile App' with identifier MOBILE"
  • "List all in-progress issues in the PROJ project"
  • "Create a high-priority issue in PROJ titled 'Fix login timeout'"
  • "Update PROJ-42 status to Done, assign it to Sarah, and move it to the Auth component"
  • "Search for issues related to authentication"
  • "Add a comment to PROJ-15 saying the fix is deployed"
  • "List all comments on PROJ-42 to see the discussion"

Milestones & components:

  • "Create a milestone 'v2.0 Launch' in PROJ with target date 2026-06-01"
  • "List milestones for the PROJ project"
  • "Create a component called 'Auth' in PROJ"
  • "List all components in PROJ"

Labels & relations:

  • "Add the label 'bug' to PROJ-42"
  • "Create a label called 'backend' with color #3b82f6"
  • "Mark PROJ-55 as blocked by PROJ-12"
  • "Set PROJ-42 as a subtask of PROJ-5"

Time tracking:

  • "Log 2.5 hours on PROJ-42 for the database refactor"

Documents:

  • "List all documents in the Engineering teamspace"
  • "Create a document called 'API Design' in the Engineering teamspace"
  • "Update the API Design document with this Markdown: ..."
  • "Add a Mermaid architecture diagram to the EP1 document"
  • "Link document abc123 to issue PROJ-42"
  • "Delete the second comment on PROJ-15"

Document Content

Reading: get_document

get_document always returns full metadata (title, teamspace, comments, snapshots). To also fetch and display the text content, set the optional HULY_FRONT_URL env var:

json
"env": {  "HULY_TOKEN": "...",  "HULY_WORKSPACE": "myteam",  "HULY_FRONT_URL": "https://front.huly.app"}

For self-hosted Huly, set HULY_FRONT_URL to your own front service URL (e.g. http://localhost:8083).

Writing: update_document

update_document accepts a documentId and a markdown string and writes rich structured content directly to the document — no manual editing required.

Supported Markdown:

ElementSyntax
Headings#, ##, ###
Bold / inline code**bold**, `code`
Paragraphsplain text
Bullet lists- item
Pipe tables| col | col |
Code blocks```lang
Mermaid diagrams```mermaid — stored as Huly's native mermaid node type so diagrams render as interactive visuals in the editor

Example:

update_document({  documentId: "abc123",  markdown: `# Service Flow\n\n` +    `## Architecture\n\n` +    "```mermaid\n" +    "flowchart TD\n" +    "  A([User]) --> B[Browse Catalogue]\n" +    "  B --> C[Pay via Razorpay]\n" +    "  C --> D[Order Confirmed]\n" +    "```\n\n" +    "## Business Rules\n\n" +    "- Payment required before confirmation\n" +    "- All orders synced to HIS\n"})

The Mermaid block renders as a live interactive diagram in Huly's document editor — not as a code block.


Bulk CSV Import

Import many issues at once from a CSV file — useful for migrating from other tools:

bash
node scripts/import-csv.js tasks.csv PROJ

CSV format:

csv
title,priority,status,dueDateFix login bug,High,In Progress,2025-04-01Add dark mode,Medium,,Improve performance,Urgent,,2025-05-01

Required column: title. Optional: priority (Urgent/High/Medium/Low), status (must match a status name in the project), dueDate (YYYY-MM-DD).


Manual Auth

Create a .env file in the project root (or pass via env in your client config):

Option A — Email + password (recommended):

Works if you have a password set on your Huly account (Profile → Security → Change password).

bash
[email protected]HULY_PASSWORD=yourpasswordHULY_WORKSPACE=your-workspace-slug

Option B — Token:

bash
HULY_WORKSPACE=your-workspace-slugHULY_TOKEN=your-token-here

To get a token: go to huly.app → open browser DevTools → Application → Local Storage → https://huly.app → copy the token value.

Tokens expire after some time. If you get an auth error, switch to email + password auth or refresh the token from DevTools.

Self-hosted Huly:

bash
HULY_ACCOUNTS_URL=https://your-huly-instance.com/accountHULY_FRONT_URL=https://your-huly-instance.com

Architecture

  • Single long-lived WebSocket connection — connects once per process via @hcengineering/server-client, not per tool call (model load takes 1–3 s, so this keeps tools fast)
  • Lazy init — connects on the first tool call so auth errors surface clearly in Claude
  • Dual auth — OTP token (works for Google/GitHub SSO) or email + password
  • Stdio transport — standard MCP transport compatible with Claude Desktop and any MCP client

Changelog

v0.5.6 — delete_document

  • New: delete_document — permanently delete a document by ID

v0.5.5 — create_teamspace

  • New: create_teamspace — create a new document teamspace (top-level folder for organising documents by project or team)

v0.5.2 — delete_comment + link_document

  • New: delete_comment — delete a specific comment from an issue by ID; list_comments now includes comment IDs in its output
  • New: link_document — link a Huly document to an issue; the document appears in the Relations panel on the issue

v0.5.0 — Document Writing + Bug Fixes

  • New: update_document — write Markdown to any Huly document programmatically; \``mermaid` blocks use Huly's native node type and render as interactive diagrams
  • Fix: IssueStatus queries — statuses are stored globally in Huly (core:space:Model), not per-project; removed incorrect space filter that caused "no statuses found" errors on create_issue, update_issue, and list_issues
  • Fix: create_project — sets members: [currentUser] so newly created projects are immediately visible in the Huly UI

v0.4.0

  • log_time, list_comments, component/milestone assignment on update_issue

v0.3.1

  • get_document, create_document

v0.3.0

  • create_project, create_milestone, assignee support on issues

Links


License

Eclipse Public License 2.0

Source: README.md at commit 4876229

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.5.4LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.