MCP server for Huly task tracker integration
@firfi/huly-mcp
MCP server for Huly integration.
Installation
The standard configuration works with most MCP clients:
{
"mcpServers": {
"huly": {
"command": "npx",
"args": ["-y", "@firfi/huly-mcp@latest"],
"env": {
"HULY_URL": "https://huly.app",
"HULY_EMAIL": "your@email.com",
"HULY_PASSWORD": "yourpassword",
"HULY_WORKSPACE": "yourworkspace"
}
}
}
}
Claude Code
claude mcp add huly \
-e HULY_URL=https://huly.app \
-e HULY_EMAIL=your@email.com \
-e HULY_PASSWORD=yourpassword \
-e HULY_WORKSPACE=yourworkspace \
-- npx -y @firfi/huly-mcp@latest
Or add to ~/.claude.json using the standard config above.
Claude Desktop
Add the standard config to your claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
VS Code
Add to your user settings (.vscode/mcp.json) or use Command Palette → "MCP: Add Server":
{
"servers": {
"huly": {
"command": "npx",
"args": ["-y", "@firfi/huly-mcp@latest"],
"env": {
"HULY_URL": "https://huly.app",
"HULY_EMAIL": "your@email.com",
"HULY_PASSWORD": "yourpassword",
"HULY_WORKSPACE": "yourworkspace"
}
}
}
}
Cursor
Add the standard config to ~/.cursor/mcp.json, or via Settings → Tools & Integrations → New MCP Server.
Windsurf
Add the standard config to your Windsurf MCP configuration file.
Updating
The @latest tag in the install command always fetches the newest version. Most MCP clients cache the installed package, so you need to force a re-fetch:
| Client | How to update |
|---|---|
| Claude Code | claude mcp remove huly then re-add with the install command above |
| Claude Desktop | Restart the app (it runs npx on startup) |
| VS Code / Cursor | Restart the MCP server from the command palette or reload the window |
| npx (manual) | npx -y @firfi/huly-mcp@latest — the -y flag skips the cache when @latest resolves to a new version |
HTTP Transport
By default, the server uses stdio transport. For HTTP transport (Streamable HTTP):
HULY_URL=https://huly.app \
HULY_EMAIL=your@email.com \
HULY_PASSWORD=yourpassword \
HULY_WORKSPACE=yourworkspace \
MCP_TRANSPORT=http \
npx -y @firfi/huly-mcp@latest
Server listens on http://127.0.0.1:3000/mcp by default.
Configure with MCP_HTTP_PORT and MCP_HTTP_HOST:
MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-mcp@latest
Environment Variables
| Variable | Required | Description |
|---|---|---|
HULY_URL |
Yes | Huly instance URL |
HULY_EMAIL |
Auth* | Account email |
HULY_PASSWORD |
Auth* | Account password |
HULY_TOKEN |
Auth* | API token (alternative to email/password) |
HULY_WORKSPACE |
Yes | Workspace identifier |
HULY_CONNECTION_TIMEOUT |
No | Connection timeout in ms (default: 30000) |
MCP_TRANSPORT |
No | Transport type: stdio (default) or http |
MCP_HTTP_PORT |
No | HTTP server port (default: 3000) |
MCP_HTTP_HOST |
No | HTTP server host (default: 127.0.0.1) |
TOOLSETS |
No | Comma-separated tool categories to expose. If unset, all tools are exposed. Example: issues,projects,search |
*Auth: Provide either HULY_EMAIL + HULY_PASSWORD or HULY_TOKEN.
Available Tools
TOOLSETS categories: projects, issues, comments, milestones, documents, storage, attachments, contacts, channels, calendar, time tracking, search, activity, notifications, workspace, cards, labels, tag-categories, test-management
Projects
| Tool | Description |
|---|---|
list_projects |
List all Huly |
Tools (1)
list_projectsList all Huly projectsEnvironment Variables
HULY_URLrequiredHuly instance URLHULY_EMAILAccount emailHULY_PASSWORDAccount passwordHULY_TOKENAPI token (alternative to email/password)HULY_WORKSPACErequiredWorkspace identifierConfiguration
{
"mcpServers": {
"huly": {
"command": "npx",
"args": ["-y", "@firfi/huly-mcp@latest"],
"env": {
"HULY_URL": "https://huly.app",
"HULY_EMAIL": "your@email.com",
"HULY_PASSWORD": "yourpassword",
"HULY_WORKSPACE": "yourworkspace"
}
}
}
}