The Yougile MCP Server brings the power of Model Context Protocol (MCP) to Yougile, allowing AI agents and developer tools to interact programmatically with your Yougile workspace.
This server unlocks all sorts of useful capabilities for anyone working with Yougile:
- Manage projects (get, create, update)
- Manage tasks (get, create, update, assign)
- Manage users (invite, get details, update)
- Manage boards and columns
- Update task statuses and move tasks between columns
- Build smart apps that interact naturally with Yougile
- Node.js 18 or higher
- A Yougile account with appropriate permissions
- An API key for your Yougile company
The easiest way to get your API key is through the built-in Yougile configurator.
How to open the configurator:
- Press
Ctrl + ~in the Yougile app, or - Go to the Projects page → click the gear icon ⚙️ next to your company name → select "Configure" (Настроить)
Once in the configurator:
- Navigate to API settings
- Generate or copy your API key
You can get your API key programmatically using the following cURL command:
curl -X POST "https://yougile.com/api-v2/auth/keys" \
-H "Content-Type: application/json" \
-d '{
"login": "your_email@example.com",
"password": "your_password",
"companyId": "your_company_id"
}'Note: This creates a new API key. Make sure to save the returned API key securely.
To retrieve your existing API keys:
curl -X POST "https://yougile.com/api-v2/auth/keys/get" \
-H "Content-Type: application/json" \
-d '{
"login": "your_email@example.com",
"password": "your_password"
}'You'll need your Company ID for some API operations. Here are the ways to get it:
Keyboard Shortcut (Recommended)
- Press
Ctrl + Alt + Q(Windows/Linux) orCtrl + Option + Q(Mac) in Yougile - The Company ID will appear on screen and automatically copy to your clipboard
Via API
- Use the
/api-v2/auth/companiesendpoint with your login credentials to list all your companies
- Clone or download this repository
- Install dependencies:
npm install- Build the server:
npm run buildThe server is configured through the global MCP configuration file. Update the configuration with your API key:
{
"mcpServers": {
"yougile-mcp": {
"command": "node",
"args": [
"D:\\Projects\\yougile-mcp\\yougile.cjs"
],
"env": {
"YOUGILE_API_KEY": "your_actual_api_key_here"
},
"disabled": false,
"alwaysAllow": []
}
}
}For Claude Desktop or other MCP-compatible tools, you can add Yougile by updating your global MCP configuration file (
typically located at C:\Users\{username}\.kilocode\globalStorage\kilo code.kilo-code\settings\mcp_settings.json):
{
"mcpServers": {
"yougile-mcp": {
"command": "node",
"args": [
"D:\\Projects\\yougile-mcp\\yougile.cjs"
],
"env": {
"YOUGILE_API_KEY": "your_actual_api_key_here"
}
}
}
}Alternatively, if you prefer to manage your API key through system environment variables:
{
"mcpServers": {
"yougile-mcp": {
"command": "node",
"args": [
"D:\\Projects\\yougile-mcp\\yougile.cjs"
],
"env": {
"YOUGILE_API_KEY": "${env.YOUGILE_API_KEY}"
}
}
}
}If you experience "MCP error -32000: Connection closed" when working with different projects:
- Make sure the server file extension is
.cjs(CommonJS) rather than.js(ES modules) to properly support__dirname - Ensure that the path in your MCP configuration points to
yougile.cjsand notyougile.js - If the problem persists, check that your global MCP configuration is properly set up
- Restart your MCP client (Claude Desktop, KiloCode, etc.) after making configuration changes
YOUGILE_API_KEY- Your Yougile API token (required)YOUGILE_API_HOST_URL(optional) - The host URL of the Yougile API Server. Defaults to https://yougile.com/api-v2/YOUGILE_DEBUG(optional) - Set to1to enable debug logging. Logs are written toyougile-mcp-debug.login the current working directory. Disabled by default.
get_users- Get all users in the companyget_user- Get a specific user by IDcreate_user- Invite a user to the companyupdate_user- Update an existing userdelete_user- Remove a user from the company
get_projects- Get all projects for the current userget_project- Get a specific project by IDcreate_project- Create a new projectupdate_project- Update an existing project
get_tasks- Get tasks list with filters (columnId, assignedTo, title). Note: projectId filter is NOT supported by YouGile API!get_user_tasks- Get ALL tasks assigned to a user (recommended for complete task list)get_task- Get a specific task by ID (supports both UUID and task code like "SAI-515")create_task- Create a new taskupdate_task- Update an existing task (supports completed, archived flags)
get_boards- Get all boards in the companyget_board- Get a specific board by IDcreate_board- Create a new boardupdate_board- Update an existing board
get_columns- Get all columns in a boardget_column- Get a specific column by IDcreate_column- Create a new columnupdate_column- Update an existing column
get_task_chat- Get chat messages/comments for a specific tasksend_task_message- Send a message/comment to a specific task's chatget_task_messages- Get messages/comments for a specific task (alternative method)
You can add Yougile to Claude Desktop by updating your MCP configuration file:
{
"mcpServers": {
"yougile-mcp": {
"command": "node",
"args": [
"path/to/yougile.js"
],
"env": {
"YOUGILE_API_KEY": "${env.YOUGILE_API_KEY}"
}
}
}
}To run the server directly:
npm run serveTo build the TypeScript code:
npm run buildTo run in development mode with auto-rebuild:
npm run devThis MCP server implements ~30% of the YouGile API v2.0 endpoints.
projectIdfilter is NOT supported by YouGile API forget_tasks! UsecolumnIdorassignedToinstead.assignedTofilter works correctly for all projects when querying tasks.- Task codes like "SAI-515" work in
get_task- the API accepts both UUID and task codes. - Use
get_user_tasksfor a complete list of user's tasks across all projects.
get_users- Get all usersget_user- Get user by IDcreate_user- Invite user to companyupdate_user- Update userdelete_user- Remove user from company
get_projects- Get all projectsget_project- Get project by IDcreate_project- Create projectupdate_project- Update project
get_tasks- Get tasks with filters (columnId, assignedTo, title). Note: projectId NOT supported!get_user_tasks- Get ALL tasks assigned to a user (recommended for complete list)get_task- Get task by ID (supports UUID and task codes like "SAI-515")create_task- Create taskupdate_task- Update task (supports completed, archived flags)
GET /api-v2/boards- Get all boardsGET /api-v2/boards/{id}- Get board by IDPOST /api-v2/boards- Create boardPUT /api-v2/boards/{id}- Update board
GET /api-v2/columns- Get all columnsGET /api-v2/columns/{id}- Get column by IDPOST /api-v2/columns- Create columnPUT /api-v2/columns/{id}- Update column
GET /api-v2/chats/{chatId}/messages- Get task chat messagesPOST /api-v2/chats/{chatId}/messages- Send message to task chatGET /api-v2/chats/{chatId}/messages- Get task messages (alternative)
- Companies list, API keys management (create, list, delete)
- Get company details, update company
- Full CRUD operations for departments
- Full CRUD operations for project roles
- String stickers (with states) - full CRUD
- Sprint stickers - full CRUD
- Sticker states management
- Full CRUD operations for group chats
- Create, list, update webhooks
- File upload functionality
- Contact persons management
- External ID lookup
- Task chat subscribers management
- Delete operations for tasks, boards, columns
For more details about the Yougile API endpoints, see the OpenAPI specification at docs/open-api-v2.json.
This project is licensed under the MIT License.