weeek-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@weeek-mcp List all tasks in project 'Website Redesign'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WEEEK MCP
MCP-сервер для WEEEK Public API v1: задачи, проекты, доски, теги, кастомные поля, тайм-трекинг и CRM.
Сервер строит инструменты из официальной OpenAPI-спецификации WEEEK, поэтому названия и параметры эндпоинтов не переписаны вручную.
Возможности
Workspace: информация о рабочем пространстве, участники, теги.
Task Manager: portfolios, projects, boards, board columns, tasks, watchers, assignees, timers, time entries, attachments, custom fields.
CRM: funnels, statuses, deals, organizations, contacts, currencies, связи между сущностями, custom fields.
Генератор
npm run update:openapiподтягивает свежую спецификацию изdevelopers.weeek.net.
Related MCP server: kaiten-mcp
Установка
git clone https://github.com/maxwellviksna-stack/weeek-mcp.git
cd weeek-mcp
npm install
npm run buildСоздайте токен в настройках workspace WEEEK, раздел API, и передайте его в окружение:
export WEEEK_API_TOKEN="your-token"WEEEK_TOKEN тоже поддерживается, если такое имя уже используется в вашей конфигурации.
Подключение
Claude Desktop
{
"mcpServers": {
"weeek": {
"command": "node",
"args": ["/absolute/path/to/weeek-mcp/dist/server.js"],
"env": {
"WEEEK_API_TOKEN": "your-token"
}
}
}
}Локальный запуск
WEEEK_API_TOKEN="your-token" npm startДля разработки:
WEEEK_API_TOKEN="your-token" npm run devИнструменты
Все API-операции публикуются как отдельные MCP tools с префиксом weeek_.
Примеры:
weeek_get_workspace_infoweeek_get_project_listweeek_create_taskweeek_get_tasksweeek_complete_taskweeek_get_all_dealsweeek_create_a_contact
Есть служебный инструмент:
weeek_list_operations— поиск по доступным операциям, тегу или тексту.
Формат аргументов у сгенерированных инструментов одинаковый:
{
"path": { "id": 123 },
"query": { "search": "release" },
"body": { "title": "Prepare release notes" }
}Для загрузки файлов используется files:
{
"path": { "task_id": 123 },
"files": [
{
"path": "/absolute/path/to/file.pdf",
"fieldName": "files[]"
}
]
}Конфигурация
Переменная | По умолчанию | Описание |
| обязательна | Bearer token из настроек workspace |
| optional | Алиас для |
|
| Базовый URL API |
|
| Таймаут запроса |
Обновление API
npm run update:openapi
npm run buildГенератор берет текущий bundle документации WEEEK, находит модуль weeek.yaml-*.js, импортирует OpenAPI-объект и пересобирает src/generated/weeek-openapi.ts.
Проверка перед релизом
npm run update:openapi
npm run check
npm run build
npm pack --dry-runДля проверки на реальном workspace:
WEEEK_API_TOKEN="your-token" npm run smoke:liveSmoke-тест поднимает MCP-сервер через stdio, проверяет список tools, делает read/write-запросы к Task Manager и CRM, а затем удаляет временные сущности с префиксом mcp-smoke-*.
Available Tools
154 toolsweeek_add_assigneesAdd assigneesD
POST /tm/tasks/{taskId}/assignees. Add assignees. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_add_a_task_to_a_projectAdd a task to a projectC
POST /tm/tasks/{task_id}/locations. Add a task to a project. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_add_watchers_to_a_taskAdd watchers to a taskC
POST /tm/tasks/{task_id}/watchers. Add watchers to a task. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_archive_projectArchive projectC
POST /tm/projects/{id}/archive. Archive project. Tags: Project. Body: text/plain.
Inputs: path (required), body.
weeek_attach_a_contactAttach a contactC
POST /crm/deals/{dealId}/contacts. Attach a contact. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_attach_a_contact_2Attach a contactD
POST /crm/organizations/{organizationId}/contacts. Attach a contact. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_attach_an_assigneeAttach an assigneeC
POST /crm/deals/{dealId}/assignees. Attach an assignee. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_attach_a_new_taskAttach a new taskC
POST /crm/deals/{id}/tasks. Attach a new task. Tags: Deals.
Inputs: path (required).
weeek_attach_an_organizationAttach an organizationC
POST /crm/deals/{dealId}/organizations. Attach an organization. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_attach_a_tagAttach a tagC
POST /crm/deals/{dealId}/tags. Attach a tag. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_attach_a_tag_2Attach a tagD
POST /crm/organizations/{organizationId}/tags. Attach a tag. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_attach_a_tag_3Attach a tagC
POST /crm/contacts/{contactId}/tags. Attach a tag. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_change_boardChange boardD
POST /tm/tasks/{id}/board. Change board. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_change_board_columnChange board columnC
POST /tm/tasks/{id}/board-column. Change board column. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_change_task_parentChange task parentC
POST /tm/tasks/{taskId}/parent. Change task parent. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_complete_taskComplete taskC
POST /tm/tasks/{id}/complete. Complete task. Tags: Task. Body: text/plain.
Inputs: path (required), body.
weeek_create_a_contactCreate a contactC
POST /crm/contacts. Create a contact. Tags: Contacts. Body: application/json.
Inputs: body.
weeek_create_a_custom_fieldCreate a custom fieldC
POST /tm/projects/{project_id}/custom-fields. Create a custom field. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_create_a_custom_field_2Create a custom fieldC
POST /tm/boards/{board_id}/custom-fields. Create a custom field. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_create_a_custom_field_3Create a custom fieldC
POST /crm/funnels/{funnel_id}/custom-fields. Create a custom field. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_create_a_custom_field_optionCreate a custom field optionC
POST /tm/projects/{project_id}/custom-fields/{custom_field_id}/options. Create a custom field option. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_create_a_custom_field_option_2Create a custom field optionC
POST /tm/boards/{board_id}/custom-fields/{custom_field_id}/options. Create a custom field option. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_create_a_custom_field_option_3Create a custom field optionC
POST /crm/funnels/{funnel_id}/custom-fields/{custom_field_id}/options. Create a custom field option. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_create_a_dealCreate a dealC
POST /crm/statuses/{statusId}/deals. Create a deal. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_create_a_funnelCreate a funnelC
POST /crm/funnels. Create a funnel. Tags: Funnels. Body: application/json.
Inputs: body.
weeek_create_a_funnel_statusCreate a funnel statusC
POST /crm/funnels/{funnelId}/statuses. Create a funnel status. Tags: Funnel Statuses. Body: application/json.
Inputs: path (required), body.
weeek_create_an_addressCreate an addressC
POST /crm/organizations/{organizationId}/addresses. Create an address. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_create_an_emailCreate an emailC
POST /crm/organizations/{organizationId}/emails. Create an email. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_create_an_email_2Create an emailC
POST /crm/contacts/{contactId}/emails. Create an email. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_create_an_organizationCreate an organizationC
POST /crm/organizations. Create an organization. Tags: Organizations. Body: application/json.
Inputs: body.
weeek_create_a_phoneCreate a phoneC
POST /crm/organizations/{organizationId}/phones. Create a phone. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_create_a_phone_2Create a phoneC
POST /crm/contacts/{contactsId}/phones. Create a phone. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_create_a_time_entryCreate a time entryC
POST /tm/tasks/{task_id}/time-entries. Create a time entry. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_create_boardCreate boardC
POST /tm/boards. Create board. Tags: Board. Body: application/json.
Inputs: body.
weeek_create_board_columnCreate board columnC
POST /tm/board-columns. Create board column. Tags: BoardColumn. Body: application/json.
Inputs: body.
weeek_create_global_custom_fieldCreate global custom fieldC
POST /tm/custom-fields. Create global custom field. Tags: Custom fields. Body: application/json.
Inputs: body.
weeek_create_global_custom_field_optionCreate global custom field optionC
POST /tm/custom-fields/{custom_field_id}/options. Create global custom field option. Tags: Custom fields. Body: application/json.
Inputs: path (required), body.
weeek_create_portfolioCreate portfolioC
POST /tm/portfolios. Create portfolio. Tags: Portfolio. Body: application/json.
Inputs: body.
weeek_create_projectCreate projectC
POST /tm/projects. Create project. Tags: Project. Body: application/json.
Inputs: body.
weeek_create_tagCreate tagD
POST /ws/tags. Create tag. Tags: Tags. Body: application/json.
Inputs: body.
weeek_create_taskCreate taskC
POST /tm/tasks. Create task. Tags: Task. Body: application/json.
Inputs: body.
weeek_delete_a_contactDelete a contactC
DELETE /crm/contacts/{id}. Delete a contact. Tags: Contacts.
Inputs: path (required).
weeek_delete_a_custom_fieldDelete a custom fieldC
DELETE /tm/projects/{project_id}/custom-fields/{id}. Delete a custom field. Tags: Project.
Inputs: path (required).
weeek_delete_a_custom_field_2Delete a custom fieldC
DELETE /tm/boards/{board_id}/custom-fields/{id}. Delete a custom field. Tags: Board.
Inputs: path (required).
weeek_delete_a_custom_field_3Delete a custom fieldC
DELETE /crm/funnels/{funnel_id}/custom-fields/{id}. Delete a custom field. Tags: Funnels.
Inputs: path (required).
weeek_delete_a_custom_field_optionDelete a custom field optionC
DELETE /tm/projects/{project_id}/custom-fields/{custom_field_id}/options/{id}. Delete a custom field option. Tags: Board.
Inputs: path (required).
weeek_delete_a_custom_field_option_2Delete a custom field optionC
DELETE /crm/funnels/{funnel_id}/custom-fields/{custom_field_id}/options/{id}. Delete a custom field option. Tags: Funnels.
Inputs: path (required).
weeek_delete_a_dealDelete a dealC
DELETE /crm/deals/{id}. Delete a deal. Tags: Deals.
Inputs: path (required).
weeek_delete_a_funnelDelete a funnelC
DELETE /crm/funnels/{id}. Delete a funnel. Tags: Funnels.
Inputs: path (required).
weeek_delete_a_funnel_statusDelete a funnel statusC
DELETE /crm/statuses/{id}. Delete a funnel status. Tags: Funnel Statuses.
Inputs: path (required).
weeek_delete_an_organizationDelete an organizationC
DELETE /crm/organizations/{id}. Delete an organization. Tags: Organizations.
Inputs: path (required).
weeek_delete_a_time_entryDelete a time entryC
DELETE /tm/tasks/{task_id}/time-entries/{time_entry_id}. Delete a time entry. Tags: Task.
Inputs: path (required).
weeek_delete_boardDelete boardC
DELETE /tm/boards/{id}. Delete board. Tags: Board.
Inputs: path (required).
weeek_delete_board_columnDelete board columnC
DELETE /tm/board-columns/{id}. Delete board column. Tags: BoardColumn.
Inputs: path (required).
weeek_delete_global_custom_fieldDelete global custom fieldC
DELETE /tm/custom-fields/{id}. Delete global custom field. Tags: Custom fields.
Inputs: path (required).
weeek_delete_global_custom_field_optionDelete global custom field optionC
DELETE /tm/custom-fields/{custom_field_id}/options/{id}. Delete global custom field option. Tags: Custom fields.
Inputs: path (required).
weeek_delete_portfolioDelete portfolioC
DELETE /tm/portfolios/{id}. Delete portfolio. Tags: Portfolio.
Inputs: path (required).
weeek_delete_projectDelete projectC
DELETE /tm/projects/{id}. Delete project. Tags: Project.
Inputs: path (required).
weeek_delete_tagDelete tagC
DELETE /ws/tags/{id}. Delete tag. Tags: Tags.
Inputs: path (required).
weeek_delete_taskDelete taskC
DELETE /tm/tasks/{id}. Delete task. Tags: Task.
Inputs: path (required).
weeek_delete_the_addressDelete the addressC
DELETE /crm/organizations/{organizationId}/addresses/{addressId}. Delete the address. Tags: Organizations.
Inputs: path (required).
weeek_delete_the_emailDelete the emailC
DELETE /crm/organizations/{organizationId}/emails/{emailId}. Delete the email. Tags: Organizations.
Inputs: path (required).
weeek_delete_the_email_2Delete the emailC
DELETE /crm/contacts/{contactId}/emails/{emailId}. Delete the email. Tags: Contacts.
Inputs: path (required).
weeek_delete_the_phoneDelete the phoneC
DELETE /crm/organizations/{organizationId}/phones/{phoneId}. Delete the phone. Tags: Organizations.
Inputs: path (required).
weeek_delete_the_phone_2Delete the phoneC
DELETE /crm/contacts/{contactsId}/phones/{phoneId}. Delete the phone. Tags: Contacts.
Inputs: path (required).
weeek_detach_a_contactDetach a contactC
DELETE /crm/deals/{dealId}/contacts. Detach a contact. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_detach_an_assigneeDetach an assigneeC
DELETE /crm/deals/{dealId}/assignees. Detach an assignee. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_detach_an_organizationDetach an organizationC
DELETE /crm/deals/{dealId}/organizations. Detach an organization. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_detach_a_tagDetach a tagD
DELETE /crm/deals/{dealId}/tags. Detach a tag. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_detach_a_taskDetach a taskC
DELETE /crm/deals/{id}/tasks/{taskId}. Detach a task. Tags: Deals.
Inputs: path (required).
weeek_detach_the_contactDetach the contactC
DELETE /crm/organizations/{organizationId}/contacts. Detach the contact. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_detach_the_tagDetach the tagC
DELETE /crm/organizations/{organizationId}/tags. Detach the tag. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_detach_the_tag_2Detach the tagC
DELETE /crm/contacts/{contactId}/tags. Detach the tag. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_get_a_contactGet a contactC
GET /crm/contacts/{id}. Get a contact. Tags: Contacts.
Inputs: path (required).
weeek_get_a_dealGet a dealC
GET /crm/deals/{id}. Get a deal. Tags: Deals.
Inputs: path (required).
weeek_get_a_funnelGet a funnelC
GET /crm/funnels/{id}. Get a funnel. Tags: Funnels.
Inputs: path (required).
weeek_get_a_funnel_statusGet a funnel statusC
GET /crm/statuses/{id}. Get a funnel status. Tags: Funnel Statuses.
Inputs: path (required).
weeek_get_all_contactsGet all contactsC
GET /crm/contacts. Get all contacts. Tags: Contacts.
Inputs: query.
weeek_get_all_currenciesGet all currenciesA
GET /crm/currencies. Get all currencies. Tags: Currencies.
Inputs: no named parameters.
weeek_get_all_dealsGet all dealsC
GET /crm/statuses/{statusId}/deals. Get all deals. Tags: Deals.
Inputs: path (required), query.
weeek_get_all_funnelsGet all funnelsA
GET /crm/funnels. Get all funnels. Tags: Funnels.
Inputs: no named parameters.
weeek_get_all_funnel_statusesGet all funnel statusesB
GET /crm/funnels/{funnelId}/statuses. Get all funnel statuses. Tags: Funnel Statuses.
Inputs: path (required).
weeek_get_all_organizationsGet all organizationsC
GET /crm/organizations. Get all organizations. Tags: Organizations.
Inputs: query.
weeek_get_an_attachmentGet an attachmentC
GET /attachments/{attachment_id}. Get an attachment. Tags: Attachments.
Inputs: path (required).
weeek_get_an_organizationGet an organizationC
GET /crm/organizations/{id}. Get an organization. Tags: Organizations.
Inputs: path (required).
weeek_get_board_column_listGet board column listC
GET /tm/board-columns. Get board column list. Tags: BoardColumn.
Inputs: query.
weeek_get_board_listGet board listC
GET /tm/boards. Get board list. Tags: Board.
Inputs: query (required).
weeek_get_global_custom_fieldsGet global custom fieldsC
GET /tm/custom-fields. Get global custom fields. Tags: Custom fields.
Inputs: no named parameters.
weeek_get_one_task_infoGet one task infoC
GET /tm/tasks/{id}. Get one task info. Tags: Task.
Inputs: path (required).
weeek_get_portfolioGet portfolioC
GET /tm/portfolios/{id}. Get portfolio. Tags: Portfolio.
Inputs: path (required).
weeek_get_portfoliosGet portfoliosC
GET /tm/portfolios. Get portfolios. Tags: Portfolio.
Inputs: query.
weeek_get_profileGet profileC
GET /user/me. Get profile. Tags: User.
Inputs: no named parameters.
weeek_get_projectGet projectC
GET /tm/projects/{id}. Get project. Tags: Project.
Inputs: path (required).
weeek_get_project_listGet project listC
GET /tm/projects. Get project list. Tags: Project.
Inputs: no named parameters.
weeek_get_tasksGet tasksD
GET /tm/tasks. Get tasks. Tags: Task.
Inputs: query.
weeek_get_workspace_infoGet workspace infoB
GET /ws. Get workspace info for current token. Tags: Workspace.
Inputs: no named parameters.
weeek_get_workspace_membersGet workspace membersB
GET /ws/members. Get workspace members for current workspace. Tags: Workspace.
Inputs: no named parameters.
weeek_list_operationsList WEEEK operationsC
List generated WEEEK API operations exposed by this MCP server.
Inputs: tag, search.
weeek_move_a_attached_to_the_deal_taskMove a attached to the deal taskC
POST /crm/deals/{id}/tasks/{taskId}/move. Move a attached to the deal task. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_move_a_custom_fieldMove a custom fieldC
POST /crm/funnels/{funnel_id}/custom-fields/{id}/move. Move a custom field. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_move_a_custom_field_optionMove a custom field optionC
POST /tm/projects/{project_id}/custom-fields/{custom_field_id}/options/{id}/move. Move a custom field option. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_move_a_custom_field_option_2Move a custom field optionC
POST /tm/boards/{board_id}/custom-fields/{custom_field_id}/options/{id}/move. Move a custom field option. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_move_a_custom_field_option_3Move a custom field optionC
POST /crm/funnels/{funnel_id}/custom-fields/{custom_field_id}/options/{id}/move. Move a custom field option. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_move_a_dealMove a dealC
POST /crm/deals/{id}/move. Move a deal within the funnel. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_move_boardMove boardD
POST /tm/boards/{id}/move. Move board. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_move_board_columnMove board columnD
POST /tm/board-columns/{id}/move. Move board column. Tags: BoardColumn. Body: application/json.
Inputs: path (required), body.
weeek_move_global_custom_field_optionMove global custom field optionC
POST /tm/custom-fields/{custom_field_id}/options/{id}/move. Move global custom field option. Tags: Custom fields. Body: application/json.
Inputs: path (required), body.
weeek_remove_assigneeRemove assigneeC
DELETE /tm/tasks/{taskId}/assignees. Remove assignee. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_remove_a_task_from_a_projectRemove a task from a projectC
DELETE /tm/tasks/{task_id}/locations. Remove a task from a project. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_remove_watchers_from_a_taskRemove watchers from a taskC
DELETE /tm/tasks/{task_id}/watchers. Remove watchers from a task. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_start_task_timerStart task timerC
POST /tm/tasks/{id}/start-timer. Start task timer. Tags: Task.
Inputs: path (required).
weeek_stop_task_timerStop task timerD
POST /tm/tasks/{id}/stop-timer. Stop task timer. Tags: Task.
Inputs: path (required).
weeek_tagTagC
GET /ws/tags/{id}. Tag. Tags: Tags.
Inputs: path (required).
weeek_tag_listTag listC
GET /ws/tags. Tag list. Tags: Tags.
Inputs: no named parameters.
weeek_transfer_custom_field_to_boardTransfer custom field to boardD
POST /tm/projects/{project_id}/custom-fields/{id}/transfer-to-board. Transfer custom field to board. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_transfer_custom_field_to_board_2Transfer custom field to boardC
POST /tm/boards/{board_id}/custom-fields/{id}/transfer-to-board. Transfer custom field to board. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_transfer_custom_field_to_projectTransfer custom field to projectD
POST /tm/projects/{project_id}/custom-fields/{id}/transfer-to-project. Transfer custom field to project. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_transfer_custom_field_to_project_2Transfer custom field to projectC
POST /tm/boards/{board_id}/custom-fields/{id}/transfer-to-project. Transfer custom field to project. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_transfer_custom_field_to_task_managerTransfer custom field to task managerC
POST /tm/projects/{project_id}/custom-fields/{id}/transfer-to-task-manager. Transfer custom field to task manager. Tags: Project.
Inputs: path (required).
weeek_transfer_custom_field_to_task_manager_2Transfer custom field to task managerC
POST /tm/boards/{board_id}/custom-fields/{id}/transfer-to-task-manager. Transfer custom field to task manager. Tags: Board.
Inputs: path (required).
weeek_transfer_global_custom_field_to_boardTransfer global custom field to boardC
POST /tm/custom-fields/{id}/transfer-to-board. Transfer global custom field to board. Tags: Custom fields. Body: application/json.
Inputs: path (required), body.
weeek_transfer_global_custom_field_to_projectTransfer global custom field to projectC
POST /tm/custom-fields/{id}/transfer-to-project. Transfer global custom field to project. Tags: Custom fields. Body: application/json.
Inputs: path (required), body.
weeek_un_archive_projectUn Archive projectC
POST /tm/projects/{id}/un-archive. Un Archive project. Tags: Project. Body: text/plain.
Inputs: path (required), body.
weeek_un_complete_taskUn complete taskC
POST /tm/tasks/{id}/un-complete. Un complete task. Tags: Task. Body: text/plain.
Inputs: path (required), body.
weeek_update_a_contactUpdate a contactC
PUT /crm/contacts/{id}. Update a contact. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_update_a_custom_fieldUpdate a custom fieldC
PUT /tm/projects/{project_id}/custom-fields/{id}. Update a custom field. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_update_a_custom_field_2Update a custom fieldC
PUT /tm/boards/{board_id}/custom-fields/{id}. Update a custom field. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_update_a_custom_field_3Update a custom fieldC
PUT /crm/funnels/{funnel_id}/custom-fields/{id}. Update a custom field. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_update_a_custom_field_optionUpdate a custom field optionC
PUT /tm/projects/{project_id}/custom-fields/{custom_field_id}/options/{id}. Update a custom field option. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_update_a_custom_field_option_2Update a custom field optionC
PUT /tm/boards/{board_id}/custom-fields/{custom_field_id}/options/{id}. Update a custom field option. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_update_a_custom_field_option_3Update a custom field optionC
PUT /crm/funnels/{funnel_id}/custom-fields/{custom_field_id}/options/{id}. Update a custom field option. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_update_a_dealUpdate a dealC
PUT /crm/deals/{id}. Update a deal. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_update_a_deal_fieldsUpdate a deal fieldsC
PATCH /crm/deals/{id}. Update a deal fields. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_update_a_funnelUpdate a funnelC
PUT /crm/funnels/{id}. Update a funnel. Tags: Funnels. Body: application/json.
Inputs: path (required), body.
weeek_update_a_funnel_statusUpdate a funnel statusC
PUT /crm/statuses/{id}. Update a funnel status. Tags: Funnel Statuses. Body: application/json.
Inputs: path (required), body.
weeek_update_an_organizationUpdate an organizationC
PUT /crm/organizations/{id}. Update an organization. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_update_a_taskUpdate a taskC
PUT /tm/tasks/{id}. Update a task. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_update_a_time_entryUpdate a time entryC
PUT /tm/tasks/{task_id}/time-entries/{time_entry_id}. Update a time entry. Tags: Task. Body: application/json.
Inputs: path (required), body.
weeek_update_boardUpdate boardC
PUT /tm/boards/{id}. Update board. Tags: Board. Body: application/json.
Inputs: path (required), body.
weeek_update_board_columnUpdate board columnD
PUT /tm/board-columns/{id}. Update board column. Tags: BoardColumn. Body: application/json.
Inputs: path (required), body.
weeek_update_global_custom_fieldUpdate global custom fieldC
PUT /tm/custom-fields/{id}. Update global custom field. Tags: Custom fields. Body: application/json.
Inputs: path (required), body.
weeek_update_global_custom_field_optionUpdate global custom field optionC
PUT /tm/custom-fields/{custom_field_id}/options/{id}. Update global custom field option. Tags: Custom fields. Body: application/json.
Inputs: path (required), body.
weeek_update_portfolioUpdate portfolioC
PUT /tm/portfolios/{id}. Update portfolio. Tags: Portfolio. Body: application/json.
Inputs: path (required), body.
weeek_update_project_infoUpdate project infoC
PUT /tm/projects/{id}. Update project info. Tags: Project. Body: application/json.
Inputs: path (required), body.
weeek_update_tagUpdate tagD
PUT /ws/tags/{id}. Update tag. Tags: Tags. Body: application/json.
Inputs: path (required), body.
weeek_update_the_addressUpdate the addressC
PUT /crm/organizations/{organizationId}/addresses/{addressId}. Update the address. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_update_the_deal_funnelUpdate the deal funnelC
PUT /crm/deals/{id}/funnel. Update the deal funnel. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_update_the_deal_funnel_statusUpdate the deal funnel statusC
PUT /crm/deals/{id}/status. Update the deal funnel status. Tags: Deals. Body: application/json.
Inputs: path (required), body.
weeek_update_the_emailUpdate the emailC
PUT /crm/organizations/{organizationId}/emails/{emailId}. Update the email. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_update_the_email_2Update the emailC
PUT /crm/contacts/{contactId}/emails/{emailId}. Update the email. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_update_the_phoneUpdate the phoneC
PUT /crm/organizations/{organizationId}/phones/{phoneId}. Update the phone. Tags: Organizations. Body: application/json.
Inputs: path (required), body.
weeek_update_the_phone_2Update the phoneC
PUT /crm/contacts/{contactsId}/phones/{phoneId}. Update the phone. Tags: Contacts. Body: application/json.
Inputs: path (required), body.
weeek_upload_attachmentsUpload attachmentsC
POST /tm/tasks/{task_id}/attachments. Upload attachments. Tags: Task. Body: multipart/form-data.
Inputs: path (required), files (required), form.
weeek_upload_attachments_2Upload attachmentsC
POST /crm/deals/{deal_id}/attachments. Upload attachments. Tags: Deals. Body: multipart/form-data.
Inputs: path (required), files (required), form.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 154 tools
Many tools have overlapping purposes differentiated only by numeric suffixes (e.g., weeek_attach_a_tag, _2, _3), lacking clear target indication in names. Additionally, similar operations exist for different entities (deals, organizations, contacts) without disambiguation in the tool name, forcing reliance on descriptions.
Naming follows a general weeek_verb_... pattern but is inconsistent: sometimes uses articles (weeek_get_a_contact) and sometimes not (weeek_get_tasks), and suffixes like _2, _3 are arbitrary. Some tools like weeek_tag and weeek_tag_list break the pattern. Overall, no consistent naming strategy across the set.
154 tools is far too many for a single server. While the domain is broad (task management, CRM, etc.), the granularity is excessive; many operations could be combined via parameters. This extreme count overwhelms agents without clear benefit.
The server provides comprehensive CRUD and lifecycle operations for most entities (tasks, projects, contacts, deals, organizations, funnels, custom fields, etc.), including additional actions like move, attach, and archive. Minor gaps include lack of search endpoints and some missing list operations, but the core domain is well-covered.
Related MCP Connectors
MCP server for Getfly CRM — customers, opportunities, orders, tickets and tasks.
Toggl 2.0 MCP server for tasks, projects, time entries, and workspace operations.
Headless task management for bots, apps and AI agents. Remote MCP server, OAuth or access token.
Remote MCP for amoCRM and Kommo: leads, contacts, tasks, pipelines, chats, Salesbot. OAuth.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceFull-featured MCP server integrating all 71 endpoints of the Weeek API as MCP tools for AI clients, enabling task, project, and workspace management via natural language.2-
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with Kaiten project management through its REST API. Enables managing spaces, boards, cards, comments, checklists, tags, and time logs.1MIT
- AlicenseAqualityBmaintenanceWEEEK MCP server that allows creating, reading, updating, moving, and completing tasks using names instead of IDs for projects, columns, and assignees.2584 npm3MIT
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for the Weeek Public API. Use it from Cursor or Claude Code to browse projects, search tasks, read attachments, and (with a browser session) load task comments.66 npmMIT