AIWorkers MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TASKS_GROUP_ID | No | Legacy fallback for tasks group ID | |
| AIWORKERS_API_KEY | No | Parent awp_… or legacy Bearer token | |
| AIWORKERS_MODULES | No | Comma-separated list of modules to enable. Possible values: surveys, tasks, workers, telegram, crm, finance (stub) | surveys,tasks,workers,telegram,crm |
| TASKS_MCP_API_KEY | No | Legacy fallback for tasks module API key | |
| AIWORKERS_API_BASE | No | Base URL for the API | https://ai.knopka.click |
| AIWORKERS_GROUP_ID | No | Default Telegram group_id for tasks, workers, telegram, and crm | |
| SURVEY_MCP_API_KEY | No | Legacy fallback for surveys module API key | |
| AIWORKERS_CREDENTIALS | No | Override path to credentials.json | |
| AIWORKERS_KEY_WORKERS | No | Child awm_… token for workers module (can also append _SURVEYS, _TASKS, _TELEGRAM, _CRM for specific modules) | |
| AIWORKERS_BOOKING_BASE | No | Base URL for booking API | https://book.knopka.click/booking |
| BOOKING_INTERNAL_SECRET | No | Legacy fallback for booking internal secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| aiworkers_login_linkA | Share a Telegram URL to get a one-time MCP token. The link has no secret. After the Mini App shows the token once, run |
| aiworkers_skillA | Return the AIWorkers MCP SKILL.md (how to log in and which tools to call). No existing key required. |
| aiworkers_skill_updateA | Write/refresh SKILL.md into ~/.cursor/skills/aiworkers (and project .cursor/skills if present). Call this to pick up the latest skill after a deploy. No existing key required. |
| aiworkers_whoamiA | Show what this API key can see: groups, modules, endpoint map. Call this first. If there is no key, returns the login URL. |
| aiworkers_token_mintA | Mint a child awm_ token for one module + one group. Parent awp_ only. Token is shown once. save=true (default) writes it to credentials.json so this MCP can call that module without Mini App. Free for now; later will debit group TokenTime. |
| survey_get_dsl_rulesB | Fetch current Survey DSL parsing rules from the server. |
| survey_validate_dslA | Validate Survey DSL without saving. |
| survey_agent_list_formsA | List surveys for this API token (scoped by group_id). Archived hidden unless include_archived. |
| survey_agent_getB | Get survey DSL and metadata. survey_id may be the full id, public slug, or form URL. |
| survey_agent_updateC | Update survey DSL (POST; nginx often 405s PUT). |
| survey_agent_responsesC | Fetch respondent answers for a survey. |
| survey_agent_scenarios_getC | Get post-submit automation scenarios. |
| survey_agent_scenarios_saveC | Save post-submit scenarios (JSON array or {"scenarios": [...]}). |
| survey_agent_skillD | Agent skill: auth, endpoints, group-bound token. |
| survey_createC | Create a survey from DSL. Child token: group_id must match the key or be omitted. Mismatch → 403. |
| survey_agent_statsC | Funnel stats for a survey. |
| survey_agent_settings_getC | Read survey settings (view mode, etc.). |
| survey_agent_settings_saveC | Save survey settings. settings_json is an object or {"settings": {...}}. |
| survey_agent_archiveA | Archive (hide from list) or restore a survey. Does not delete answers. |
| survey_agent_deleteA | Permanently delete a survey, DSL file, and answers. Requires confirm=true. |
| survey_agent_shareD | form_url + chat_text for workers_chat_send / readyreply. No native open-in-chat widget. |
| tasks_listC | List tasks for a Telegram group (manual + booking). |
| tasks_countC | Count tasks with the same filters as tasks_list. |
| tasks_getC | Get one task by id. |
| tasks_createB | Create a manual task (optional Telegram card + calendar hold). |
| tasks_updateC | Update task fields. patch_json: JSON object with title/description/status/dates. |
| tasks_batch_updateC | Batch update: updates_json is JSON array of {id, ...fields}. |
| tasks_completeB | Mark task done (releases calendar hold). |
| tasks_cancelC | Cancel task (releases calendar hold). |
| workers_listA | List workers this key can access. Each row has group tt/usd/stars. Root account is the shared USD wallet once. For one group use workers_balance. |
| workers_getA | Read the worker card (no bot tokens). For money prefer workers_balance. |
| workers_updateB | Update worker fields: status, lang, paid_until, translate_langs. Never write tt here — use workers_salary_quote or workers_tt_buy_quote. |
| workers_balanceB | Two layers: account.usd (shared wallet) and group.tt (TokenTime). Empty group_id uses credentials / AIWORKERS_GROUP_ID, else «нужен group_id». Does not charge. |
| workers_topup_linkA | URL to top up the ACCOUNT wallet in @aiworkersbot (users.balance). Does not credit group tt. No tt_credit. If amount_usd omitted: ask_amount=true and start=addBalance. If set: start=addBalance_10 (integer USD); bot shows Change amount. Dot in start payload is invalid. |
| workers_salary_quoteB | Preview raising YOUR contribution by whole USD. Debits account, adds add_usd*3600 tt, raises solary. Does not charge until workers_salary_confirm(quote_id, confirm=true). Other admins can raise their own share. |
| workers_salary_confirmA | Charge a salary quote. confirm must be true. Quote lives ~5 min; reuse is 409. Cannot decrease contribution (write @dimaneuron). |
| workers_tt_buy_quoteA | Preview one-time tt buy at 10x subscription ($10 → 3600 tt). Does not change solary. Pass amount_usd or tt. Does not charge until workers_tt_buy_confirm. |
| workers_tt_buy_confirmA | Charge a one-time tt quote. confirm must be true. Quote lives ~5 min; reuse is 409. solary unchanged. |
| workers_partnerA | Platform partner terms, catalog/builder/community URLs, ref_link. rates is a constants dict — do not invent percents if empty. Not the worker-bot /ref product. |
| workers_memory_getC | Read memory topics and entries. Optional topic=topic_. |
| workers_memory_addC | Add a memory entry to a topic (topic_*). |
| workers_memory_editC | Edit a memory entry by message_id. |
| workers_memory_deleteC | Delete a memory entry by message_id. |
| workers_memory_create_topicC | Create a new memory forum topic. |
| workers_chats_listC | List user chats (no message logs). |
| workers_chats_getB | Get one user chat card (no message logs). |
| workers_chat_sendA | Send one message to a known chat from workers_chats_list. channel=auto|bot|embed|topic (auto: bot DM, or embed outbox for widget users). Mirrors into the user's forum topic. Need text and/or rr_id. Does not send to arbitrary Telegram ids. Rate-limited. |
| workers_broadcast_quoteA | Preview a one-shot DM blast of a ready reply to everyone who already wrote this worker bot. Does not send until workers_broadcast_confirm(quote_id, confirm=true). Not widget, not folders, not arbitrary ids. |
| workers_broadcast_confirmA | Start the quoted bot-user blast. confirm must be true. Quote lives ~5 min; reuse 409. Status goes to the mailing topic. |
| workers_readyreply_listC | List ready replies, or one item if rr_id is set. |
| workers_readyreply_upsertC | Create or update a ready reply. Posts the donor into the native ready-reply Telegram topic (P{message_id} + customization button). item_json: text/triggers/caption/buttons/topic_name. |
| workers_readyreply_deleteC | Delete a ready reply by id. |
| workers_readyreply_create_topicC | Create a Telegram topic for ready replies. |
| telegram_statusC | Bot connection status (username/id, no token). Does not send messages. |
| telegram_commands_getA | Read bot command menu (segments + translations). Does not send messages. |
| telegram_commands_saveC | Save bot commands. JSON: builtin/custom/segments/translations. Syncs Bot API menu, no chats. |
| telegram_restartA | Restart this group's Telegram worker process (pm2 aibot-). Same as /telegram_bot «Перезапустить скрипт». Rate-limited (60s per bot); on 429 wait retry_after, do not loop. Use when the user asks to restart the bot — not workers_update. Does not send messages. |
| crm_contextC | Resolve Booking CRM context: linked Telegram group and topic keys. |
| crm_processC | Create/update/cancel a Booking CRM event. payload_json: {action, event, ...}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| aiworkers_skill_resource | Latest SKILL.md for this MCP. |
| survey_dsl_spec_resource | Read-only Survey DSL specification (markdown). |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dimaneuron/aiworkers-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server