Skip to main content
Glama
yougile-mcp
by nebelov

@nebelov/yougile-mcp

npm version License: MIT TypeScript Node.js

MCP server for YouGile project management. 57 tools covering 100% of YouGile API v2.

Works with Claude, ChatGPT, Gemini CLI, VS Code, Cursor, and any MCP-compatible client.

README on Russian / README на русском

Quick Start

npx @nebelov/yougile-mcp --setup

Logs you into YouGile, gets an API key, and writes the config for your AI tool.

Manual setup

  1. Get an API key from YouGile (Settings > API or POST /auth/keys)

  2. Add to your AI tool config:

Claude Code (~/.claude.json):

{
  "mcpServers": {
    "yougile": {
      "command": "npx",
      "args": ["-y", "@nebelov/yougile-mcp"],
      "env": { "YOUGILE_API_KEY": "your-key" }
    }
  }
}

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "yougile": {
      "command": "npx",
      "args": ["-y", "@nebelov/yougile-mcp"],
      "env": { "YOUGILE_API_KEY": "your-key" }
    }
  }
}

Gemini CLI (~/.gemini/settings.json):

{
  "mcpServers": {
    "yougile": {
      "command": "npx",
      "args": ["-y", "@nebelov/yougile-mcp"],
      "env": { "YOUGILE_API_KEY": "your-key" }
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "mcpServers": {
    "yougile": {
      "command": "npx",
      "args": ["-y", "@nebelov/yougile-mcp"],
      "env": { "YOUGILE_API_KEY": "your-key" }
    }
  }
}

Related MCP server: yougile-mcp

ChatGPT Setup

Use the hosted server at you-mcp.com — no installation needed.

In ChatGPT (web):

  1. Settings > Apps & Connectors > Advanced > Developer Mode ON

  2. Click Create > paste https://you-mcp.com/mcp > Save

  3. Open any chat > click + > More > Developer Mode > enable your connector

  4. ChatGPT will redirect you to login with your YouGile email and password

  5. Your credentials go directly to YouGile's API (zero-knowledge proxy — the server never sees your password)

Option B: Self-hosted (ngrok)

Requires ngrok (free).

Step 1. Start the server with HTTP transport:

YOUGILE_API_KEY=your-key npx @nebelov/yougile-mcp --http --port 3000

Step 2. In a second terminal, create an HTTPS tunnel:

ngrok http 3000

Copy the https://...ngrok-free.app URL from ngrok output.

Step 3. In ChatGPT (web):

  1. Settings > Apps & Connectors > Advanced > Developer Mode ON

  2. Click Create > paste https://YOUR-URL.ngrok-free.app/mcp > Save

  3. Open any chat > click + > More > Developer Mode > enable your connector

Available Tools (57)

Module

Tools

Description

projects

4

list, get, create, update

boards

4

list, get, create, update

columns

4

list, get, create, update

tasks

6

list, get, create, update, get/set chat-subscribers

chat

8

messages (list, send, get, delete) + group chats (list, get, create, update)

users

5

list, get, invite, update, delete

company

2

get, update

departments

4

list, get, create, update

project-roles

5

list, get, create, update, delete

string-stickers

6

CRUD + create/update state

sprint-stickers

6

CRUD + create/update state

webhooks

3

list, create, update

Bundled Skill

The package includes skill/SKILL.md — a best-practices guide for working with YouGile through AI. Copy it to your project or Claude Code skills directory for better task management.

API Patterns

  • Soft delete: PUT {deleted: true} works for all entities. DELETE method only works for project roles.

  • Pagination: {paging: {count, limit, offset, next}, content: [...]}. Exception: /webhooks returns raw array.

  • Sticker fields: Use name (not title) for stickers and states.

  • Task assigned: Array of UUIDs ["uuid1", "uuid2"], not an object.

  • Chat messages: PUT only supports {deleted: true} — editing text is not possible.

  • State IDs: 12-char hex strings (not UUID).

Environment Variables

Variable

Required

Description

YOUGILE_API_KEY

Yes

YouGile API key

YOUGILE_API_HOST_URL

No

Custom API URL (default: https://yougile.com/api-v2)

Development

git clone https://github.com/nebelov/yougile-mcp
cd yougile-mcp
npm install
npm run dev

License

MIT

Available Tools

57 tools
yougile_create_boardA

Create a new board inside a project.

Inputs: title (required), projectId (required).

yougile_create_columnA

Create a new column inside a board. Color is 1-16.

Inputs: title (required), boardId (required), color.

yougile_create_departmentB

Create a new department.

Inputs: title (required), users.

yougile_create_group_chatA

Create a group chat. Requires users map, userRoleMap, and roleConfigMap. Example: users={'userId': {notified: true}}, userRoleMap={'userId': 'admin'}, roleConfigMap={'admin': {notified: true}}.

Inputs: title (required), users (required), userRoleMap (required), roleConfigMap (required).

yougile_create_projectB

Create a new project. Optionally assign users with roles (admin/worker/observer).

Inputs: title (required), users.

yougile_create_project_roleA

Create a new role in a project.

Inputs: name (required), projectId (required), users.

yougile_create_sprint_stickerB

Create a sprint sticker. Use 'name' field (not 'title').

Inputs: name (required), projectId (required).

yougile_create_sprint_sticker_stateA

Create a state (option) for a sprint sticker.

Inputs: name (required), stickerId (required), color.

yougile_create_string_stickerA

Create a string sticker. Use 'name' field (not 'title').

Inputs: name (required), projectId (required).

yougile_create_string_sticker_stateB

Create a state (option) for a string sticker.

Inputs: name (required), stickerId (required), color.

yougile_create_taskA

Create a new task in a column. Supports: title, description, assigned users, deadline (timestamp ms), checklists, color (task-primary/gray/red/pink/yellow/green/turquoise/blue/violet), time tracking, stickers.

Inputs: title (required), columnId (required), color, assigned, +4 more.

yougile_create_webhookB

Create a webhook to receive events at a URL.

Inputs: url (required), event (required), projectId.

yougile_delete_messageA
Destructive

Soft-delete a message. Note: editing message text is NOT supported by the API.

Inputs: chatId (required), messageId (required).

yougile_delete_project_roleA
Destructive

Delete a project role (hard delete, not soft-delete).

Inputs: roleId (required), projectId (required).

yougile_delete_userA
Destructive

Remove a user from the company.

Inputs: id (required).

yougile_get_boardA
Read-only

Get details of a specific board by ID.

Inputs: id (required).

yougile_get_chat_subscribersA
Read-only

Get the list of users subscribed to a task's chat notifications.

Inputs: taskId (required).

yougile_get_columnB
Read-only

Get details of a specific column by ID.

Inputs: id (required).

yougile_get_companyA
Read-only

Get current company information.

Inputs: no named parameters.

yougile_get_departmentA
Read-only

Get details of a specific department.

Inputs: id (required).

yougile_get_group_chatB
Read-only

Get details of a specific group chat.

Inputs: id (required).

yougile_get_messageA
Read-only

Get a specific message by ID from a chat.

Inputs: chatId (required), messageId (required).

yougile_get_projectA
Read-only

Get details of a specific project by ID.

Inputs: id (required).

yougile_get_project_roleB
Read-only

Get a specific role in a project.

Inputs: roleId (required), projectId (required).

yougile_get_sprint_stickerA
Read-only

Get a sprint sticker by ID. States are embedded in the response.

Inputs: id (required).

yougile_get_string_stickerA
Read-only

Get a string sticker by ID. States are embedded in the response.

Inputs: id (required).

yougile_get_taskA
Read-only

Get full details of a task: title, description, assigned users, deadline, checklists, stickers, time tracking, etc.

Inputs: id (required).

yougile_get_userA
Read-only

Get details of a specific user by ID.

Inputs: id (required).

yougile_invite_userA

Invite a user to the company by email.

Inputs: email (required), isAdmin.

yougile_list_boardsA
Read-only

List boards. Filter by projectId to see boards for a specific project.

Inputs: limit, title, offset, projectId.

yougile_list_columnsA
Read-only

List columns. Filter by boardId to see columns for a specific board.

Inputs: limit, title, offset, boardId.

yougile_list_departmentsA
Read-only

List all departments in the company.

Inputs: limit, offset.

yougile_list_group_chatsA
Read-only

List all group chats in the company.

Inputs: limit, title, offset.

yougile_list_messagesA
Read-only

Get messages from a chat. For task chats, chatId = taskId. Also works for group chats.

Inputs: chatId (required), text, limit, since, +2 more.

yougile_list_project_rolesA
Read-only

List roles for a project.

Inputs: projectId (required).

yougile_list_projectsA
Read-only

List all projects in the YouGile company. Returns project names, IDs, and user roles.

Inputs: limit, title, offset.

yougile_list_sprint_stickersB
Read-only

List sprint stickers (sprint/iteration labels for tasks). States are embedded in each sticker object.

Inputs: limit, offset, projectId.

yougile_list_string_stickersA
Read-only

List string stickers (custom labels/tags for tasks). States are embedded in each sticker object.

Inputs: limit, offset, projectId.

yougile_list_tasksA
Read-only

List tasks with filters. Use columnId to get tasks from a specific column, or assignedTo/stickerId/title for advanced filtering. Uses /task-list read-only endpoint (supports more filters than /tasks).

Inputs: limit, title, offset, columnId, +2 more.

yougile_list_usersA
Read-only

List all users (employees) in the company. Can filter by email or projectId.

Inputs: email, limit, offset, projectId.

yougile_list_webhooksA
Read-only

List all webhooks. Note: returns a raw array (no paging wrapper).

Inputs: no named parameters.

yougile_send_messageA

Send a message to a chat. For task chats, chatId = taskId. Also works for group chats.

Inputs: text (required), chatId (required).

yougile_set_chat_subscribersA

Set the list of users subscribed to a task's chat notifications. Replaces existing list.

Inputs: taskId (required), userIds (required).

yougile_update_boardC
Destructive

Update a board (title, stickers, or soft-delete).

Inputs: id (required), title, deleted.

yougile_update_columnA
Destructive

Update a column (title, color, move to another board, or soft-delete).

Inputs: id (required), color, title, boardId, +1 more.

yougile_update_companyB

Update company settings (name, subdomain, etc.).

Inputs: name, subdomain.

yougile_update_departmentA
Destructive

Update a department (title, users, or soft-delete).

Inputs: id (required), title, users, deleted.

yougile_update_group_chatA
Destructive

Update a group chat (title, users, or soft-delete).

Inputs: id (required), title, users, deleted.

yougile_update_projectA
Destructive

Update a project (title, users, or soft-delete). Use '-' as role value to remove a user.

Inputs: id (required), title, users, deleted.

yougile_update_project_roleC

Update a project role (name, users).

Inputs: roleId (required), projectId (required), name, users.

yougile_update_sprint_stickerA
Destructive

Update a sprint sticker (name or soft-delete). Use 'name' field (not 'title').

Inputs: id (required), name, deleted.

yougile_update_sprint_sticker_stateC
Destructive

Update a state of a sprint sticker. State IDs are 12-char hex strings.

Inputs: stateId (required), stickerId (required), name, color, +1 more.

yougile_update_string_stickerA
Destructive

Update a string sticker (name or soft-delete). Use 'name' field (not 'title').

Inputs: id (required), name, deleted.

yougile_update_string_sticker_stateA
Destructive

Update a state of a string sticker. State IDs are 12-char hex strings.

Inputs: stateId (required), stickerId (required), name, color, +1 more.

yougile_update_taskA
Destructive

Update a task. Can change: title, description, columnId (move), assigned, completed, archived, deadline, checklists, color, timeTracking, stickers. To delete deadline/timer: pass { deleted: true } inside that field. To soft-delete task: set deleted=true.

Inputs: id (required), color, title, deleted, +8 more.

yougile_update_userA

Update a user. Only supports changing admin status.

Inputs: id (required), isAdmin (required).

yougile_update_webhookA
Destructive

Update a webhook (url, event, disabled, or soft-delete).

Inputs: id (required), url, event, deleted, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 57 tools

    Disambiguation5/5

    Each tool is clearly named with a resource and action, such as list_projects vs. create_project. Even similar resources like string stickers and sprint stickers are distinguished by the resource name in every tool.

    Naming Consistency5/5

    All tools follow a consistent 'yougile_verb_noun' pattern using snake_case. Verbs are consistently list/get/create/update/delete/set/invite, and nouns switch between plural for list operations and singular for others without exception.

    Tool Count2/5

    With 57 tools, this is a very large surface area. While the number reflects the breadth of the YouGile API, it exceeds the 25+ threshold that typically makes a server unwieldy for agents, and many tools are highly granular (e.g., separate tools for sticker states).

    Completeness5/5

    The tool set provides full CRUD coverage across all major resources: projects, boards, columns, tasks, users, departments, roles, stickers, chats, and webhooks. Soft-delete via update operations is consistently supported, and no obvious workflow dead ends are visible.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      MCP server for interacting with YouTrack, enabling issue management, project operations, and search via natural language.
      308 npm
      100
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      A YouTrack MCP server that enables natural language interaction with your YouTrack instance, supporting issue management, time tracking, agile boards, and more.
      87
      17
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      An unofficial, security-focused MCP server for YouGile REST API, providing policy-controlled tools with read-only defaults and optional direct-write profiles.
      16 npm
      4
      MIT