Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HULY_EMAILNoHuly account e-mail (with HULY_PASSWORD)
HULY_TOKENNoInstead of e-mail/password: account or API token (Google/GitHub accounts: npx huly-mcp-selfhost setup)
HULY_PASSWORDNoHuly account password
HULY_TOOLSETSNoComma-separated toolsets to load, or 'all' (default: agent, tracker, documents, chat, contacts, inbox, activity, planner, generic)
HULY_FRONT_URLNoSelf-hosted: front service for documents and files, e.g. https://huly.example.com
HULY_WORKSPACENoPin one workspace (slug); fewer tokens
HULY_ACCOUNTS_URLNoSelf-hosted: accounts service, e.g. https://huly.example.com/_accounts (empty = Huly Cloud)
HULY_WRITE_PROJECTSNoOnly allow changes in these project keys, e.g. TSK,WEB

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Huly workspaces (tracker, docs, chat, planner, …), self-hosted or cloud.

  • workspace: slug, name or id from list_workspaces. Required for changes — never guess; ask if unclear. Reads may omit it only if exactly one workspace exists. Ids are only valid within their workspace.

  • Issue id PROJ-123; dates ISO 8601; people by name (ambiguous names are rejected); null clears a field; text is Markdown.

  • Start with one-call overviews: my_day, standup, triage_inbox, project_report, get_issue_context.

  • Agent work: start_work → work → finish_work; plans → create_issue_tree (dry run first); with parallel agents claim_issue first.

  • Read before replacing: get_issue before update_issue description, get_document before update_document.

  • Risky tools may ask the user; if declined, do not retry. Login or setup problems: check_setup. A change was wrong: undo_changes (dry run first).

  • Missing tools may be in a disabled toolset (HULY_TOOLSETS).

  • Guides: resources huly://guide/workflow, huly://guide/costs, huly://guide/onboarding, huly://guide/features; prompt "setup" writes a project's Huly rules.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": true,
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_workspacesA

List accessible workspaces (name, slug, id)

undo_changesA

Undo your last changes made through this server: created → removed, changed → old values, deleted → restored. Dry run first

check_setupB

Diagnose the setup: version and updates, login, workspaces, front URL, settings (no secrets)

list_projectsC

List all projects in a Huly workspace

get_projectC

Project by key (e.g. "PROJ"): name, description, issue count, statuses

list_issuesC

List issues of a project; filters: status, priority, milestone, component, label, assignee, parent

get_issueB

Get full details of an issue by identifier (e.g. "PROJ-123")

create_issueC

Create a new issue in a project

update_issueC

Update issue fields

delete_issueB

Permanently delete an issue by identifier (e.g. "PROJ-123")

bulk_update_issuesB

Apply one change to many issues; validates all first

move_issueA

Move issue (incl. sub-issues, comments, files, time) to another project; gets a new id, component/milestone cleared

list_sub_issuesC

Sub-issue tree of an issue with progress

add_commentC

Add a comment to an issue

list_commentsC

List comments of an issue (with ids)

delete_commentA

Permanently delete a comment on an issue (commentId from list_comments); to edit: update_comment

update_commentC

Edit a comment by id

log_timeC

Log hours spent on an issue

list_time_reportsB

Logged time for an issue or project, totals per person; person/date filters

list_labelsB

List all labels in the workspace

create_labelA

Create a workspace-wide label (optional hex color); an existing title is reused. Tag an issue: add_label

add_labelC

Add label to issue (auto-creates label)

remove_labelB

Remove a label from an issue

add_relationB

Mark two issues as related to each other (bidirectional)

add_blocked_byC

Mark an issue as blocked by another issue

set_parentC

Set or clear the parent (epic) of an issue

remove_relationB

Remove the "related" link between two issues

remove_blocked_byC

Remove a "blocked by" link from an issue

list_membersC

List all members in the workspace

list_milestonesC

List milestones for a project

create_milestoneC

Create a new milestone in a project with a target date

get_milestoneD

Milestone with progress and open issues

update_milestoneC

Update a milestone (name, target date, status, description)

list_componentsC

List components (sub-areas) in a project

create_componentA

Create a component (sub-area) in a project; issues get it via componentLabel. Change it: update_component

update_componentC

Update a component (name, description, lead)

list_teamspacesB

List document teamspaces with their ids (teamspaceId for list_documents, create_document)

create_teamspaceC

Create a document teamspace

list_documentsC

List documents in a teamspace

get_documentC

Document metadata and content

create_documentA

Create an empty document in a teamspace, optionally under a parent; returns its id. Write the body with update_document

delete_documentA

Permanently delete a document by its ID

update_documentA

Replace content (Markdown), rename or move a document

link_documentC

Link a document to an issue (Relations panel)

search_issuesC

Full-text search across all issues

list_channelsC

List all channels in the workspace

create_channelD

Create a new channel

start_direct_messageB

Start or find a 1:1 DM with a person

send_messageC

Send a message to a channel or direct message

list_messagesC

List messages in a channel or direct message

attach_fileB

Attach a file to an issue (base64-encoded content)

list_attachmentsC

List files attached to an issue

delete_attachmentA

Permanently delete a file attached to an issue (attachmentId from list_attachments)

list_issue_statusesB

List all issue statuses (workflow states), grouped by phase

list_organizationsB

List all organizations (companies) in the workspace

get_organizationA

Organization (company) by id from list_organizations: city, linked members, description

create_organizationC

Create a new organization (company contact)

update_organizationC

Set the description of an organization from Markdown

list_threadC

Message with its thread replies

reply_to_messageC

Reply in the thread of a message or comment

update_messageC

Edit a message or thread reply

delete_messageC

Delete a message or thread reply

add_reactionA

Add your emoji reaction to a message or comment (no-op if already there); undo: remove_reaction

remove_reactionB

Remove your emoji reaction

pin_messageA

Pin a message or comment in its channel; pinned=false unpins

list_notificationsC

Your inbox notifications, grouped by issue/PR/document

triage_inboxB

Unread items with what changed since last read: new comments, fields, status

mark_notifications_readA

Mark notifications read (by object, ids or all); optionally archive

manage_notificationsC

Inbox for one object: pin, hide, mark unread, unarchive, follow/unfollow (and the undo of each)

get_activityC

Change history and comments of an issue or object

list_todosB

List your own planner to-dos: open by default, in planner order; filter by status or due date

create_todoC

Create a to-do, optionally on an issue

update_todoC

Update a to-do or mark it done

delete_todoC

Delete a to-do

schedule_todoC

Block time for a to-do in your calendar

list_personsC

Contact persons with their channels

get_personD

Person details, channels, organizations

create_personC

Create a contact person

update_personC

Update a contact person

add_contact_channelC

Add email/phone/… to a person

remove_contact_channelC

Remove email/phone/… from a person

get_issue_contextC

Issue with description, sub-issues, blockers, PRs, comments, branch name

start_workC

Pick up issue: In Progress, assign me, return context

finish_workC

Hand back: summary comment, link PR, status to review

create_issue_treeB

Plan → epic + sub-issues with blockers; skips duplicates; dry run first

my_dayB

Today at a glance: calendar, to-dos, my issues, reviews, unread inbox

issues_from_documentB

Spec → epic + sub-issues from a document's open checklist items (else its sections); links the doc. Dry run first

issues_from_meetingB

Meeting notes → issues: action items with @assignee and due date; links the doc. Dry run first

standupC

Standup: what I did since the last working day, today, blockers

release_notesB

Release notes from a milestone: features, fixes, PRs, still open

project_reportC

Weekly report: done, new, blocked, overdue, PRs, milestones, time

changes_sinceC

Issues/PRs changed since a time: fields, comments, who

claim_issueB

Lease an issue so parallel agents skip it

find_project_for_repoC

Huly workspace + project linked to a GitHub repo

release_issueC

Release an agent claim

searchA

Fulltext search across all content (issues, docs, messages, cards, files …); issues only, with status: search_issues

list_classesB

Huly data classes (for modules without dedicated tools)

describe_classC

Attributes and types of a class

query_documentsC

Read documents of any class (secrets redacted)

Prompts

Interactive templates invoked by user choice

NameDescription
setupAsk how Huly should be used for a project, write the rules for your project instructions, optionally import it
startPick up an issue, load its context and propose a plan
finishPost a work summary, link the PR and move the issue to review
planEpic + sub-issues from a goal or plan, with duplicate check
triageGo through unread notifications and suggest actions
standupWhat I did since the last working day, today, blockers

Resources

Contextual data attached and managed by the client

NameDescription
guide-workflowRepo rules first, pick up/hand back issues, status flow, creating without duplicates
guide-costsWhich call answers which question with the least output (measured sizes)
guide-onboardingStatus set, components, milestones, TODO scan, architecture document
guide-featuresLabels, templates, test management, documents, drive, custom fields, cards — tools and toolsets

TDQS

C2.7/5.0

Scored across 99 tools

Disambiguation3/5

Most tools name a distinct resource+action, and descriptions actively cross-reference siblings (e.g. "to edit: update_comment", "issues only, with status: search_issues"), which helps a lot. However several clusters overlap: list_notifications / mark_notifications_read / manage_notifications / triage_inbox, get_issue vs get_issue_context, start_work vs claim_issue, search vs search_issues, and list_comments vs get_activity all require careful reading to choose correctly.

Naming Consistency4/5

The dominant pattern is consistent snake_case verb_noun (create_issue, update_milestone, remove_blocked_by, list_attachments) applied across every domain. A handful of outliers break it: bare 'search', noun-phrase 'my_day', 'standup', and workflow verbs like 'finish_work' and 'triage_inbox', but these remain readable and memorable.

Tool Count2/5

99 tools is far beyond a practical single-server surface; even though the server spans issues, docs, chat, CRM, planner and notifications, the sheer volume forces an agent to scan an enormous list for routine actions. Consolidation (e.g. one notification tool, merged issue-read tools, fewer per-field workflow wrappers) would clearly help.

Completeness4/5

Coverage is unusually deep: issues get full CRUD plus relations, blockers, labels, components, milestones, time logs, attachments and batch/undo operations; documents, chat threads, persons and todos each have lifecycle coverage. Gaps exist mainly on the delete/replace side for channels, milestones, components, persons, organizations and projects, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues