Skip to main content
Glama
741,228 tools. Updated 2026-11-04 03:10

"A server for managing Upwork-related tasks with MCP" matching MCP tools:

  • Undo a previous end-user merge: reads the merge ledger and re-points every FK row (events, insights, tasks, …) back to its original end-user, un-tombstoning the folded-in sources. Safe to retry — a second undo of the same merge changes nothing (it fails with already_reverted). Use to correct a wrong identity merge (merges stay reversible for 30 days). Find the event_id with list_identity_merges (pick an un-reverted merge); event_id is required.
    ConnectorNo auth
  • Who am I? Returns the signed-in account: email, @handle, plan + limits, counts of sites/domains/drives, and connected DNS providers. Call this first to orient before managing sites or domains.
    ConnectorNo auth
  • Browse tasks on the marketplace. Defaults to open (``posted``) tasks. Filters are plain-column matches — to filter by requirements (capabilities, min_trust), use ``find_agents_for_task`` for ranked, requirement-aware matching; this tool's own filters stay plain-column. Args: access_token: AgentAuth bearer token (requires ``market.read``). status: Task status to filter on. Defaults to ``"posted"`` (open tasks). Pass any valid status to see tasks in other states. task_type: Optional exact-match task type filter. limit: Maximum results, 1-100. Default 20. Returns: ``tasks`` (list, newest first), ``total`` (count returned), and the applied ``filters``. ``{"error_code": "invalid_input", ...}`` listing the valid values if ``status`` is not a real task status.
    ConnectorNo auth
  • Create up to 50 tasks in one standalone project in a single call, optionally as a hierarchy — use this instead of create_standalone_task when breaking a plan into several tasks. To nest tasks in the same call, give the parent a localRef (any label unique within the call) and each child a parentRef with that label; parentId instead points at an already-existing task. Validation is all-or-nothing: if any task is invalid (unknown status/label/parent, unresolved or cyclic parentRef, duplicate localRef, missing title) NOTHING is created and every task gets a per-item result. Otherwise tasks are created parents-first in input order and appended to their status column in that order; if one fails mid-batch its children are skipped, never created orphaned. Returns {created, failed, rejected, results: [{index, localRef?, ok, taskId?, key?, error?}]} in input order. Not idempotent: if the call times out or errors, call list_standalone_tasks to see what already exists before retrying, or you will create duplicates.
    ConnectorOAuth
  • List tasks in a project with optional filters and pagination. Filter by status name, assignee/creator (username or email), tag names and free text.
    ConnectorOAuth
  • List tasks visible to the caller, with optional filters: projectId, parentId (pass "null" string or JSON null for top-level-only), status, assigneeId (or the sentinels "me" / "unassigned"), assignedToAgentPersona, collaboratorId (or "me": tasks a person collaborates on without holding them), title with titleMode ("contains" default, "equals", "startsWith"; all case-insensitive), dueBefore / dueAfter, overdueOnly, orderBy. Each row carries `collaborators`, the people working on it besides its assignee, isManual and datesFromSubtasks (true when its dates come from its subtasks), and url, the task's link in the Onplana web app. Returns up to 200 tasks per call with cursor-based pagination (nextCursor). Without parentId, matching tasks at every depth are returned, subtasks included; parentId "null" narrows to top-level tasks. PREFER get_plan when you need the whole project tree in one call; PREFER list_assigned_tasks for your own queue. Use list_tasks when drilling parent to children or paginating through a large project. When you pass projectId, the response carries projectResolved: if it is false the id did not match any project visible to you and the empty tasks list says NOTHING about whether that project has work in it, re-check the id (use full ids from list_projects, never abbreviated) rather than concluding the project is empty or unsaved.
    ConnectorOAuth

Matching MCP Servers

Matching MCP Connectors

  • Plan and track work in Melonhelp Tasks: projects, tasks, comments and workspace members.

  • TasksOAuth

    Quadros, pedidos, regras e métricas do trabalho

  • Changes part of a draft's document without resending the rest. The patch is a JSON Merge Patch (RFC 7386): an object shaped like the document naming only what is to change. Three rules and no others -- an object recurses, so {"settings":{"displayComments":false}} changes one switch and leaves the rest of the settings alone; a null removes the member it names, which is the only way to clear the description without restating the document; and everything else replaces, arrays included. That last rule is why this is not the tool for tasks: a tasks array in the patch replaces every task there is. Use it for the name, the description, the settings, the tags and the permissions, and use apply_draft_operations for anything inside tasks, fields, parameters, conditions or notifications. A property the document has no word for is dropped rather than stored, so read the document in the answer rather than assuming the patch landed.
    ConnectorAPI key
  • Get your wallet balance for a specific currency. Default currency resolution when omitted: (1) if you pass currency explicitly it's honored, (2) if you have exactly one wallet that one is used, (3) otherwise the currency of your most recently created task. No stale USD default. Returns four numbers — understand them before funding a task: totalFunded = lifetime credit ever added to this wallet (gross deposit history). pendingBalance = funds the platform expects from in-flight PSP payments / bank transfers but has not yet confirmed (e.g. checkout in progress, IBAN deposit unreconciled). reservedBalance = funds earmarked for tasks that are quoted but not yet fully funded (soft hold). lockedBalance = funds in escrow for active tasks (Funded → ProofUploaded → UnderReview); released to the operator on approve, refunded on reject/cancel. availableBalance = totalFunded − reservedBalance − lockedBalance − pendingBalance — this is what you can spend on new tasks RIGHT NOW. The response also includes a 'locks' array breaking down lockedBalance into per-task entries (taskId, taskTitle, taskStatus, lockedAmount, lockedAt) so you know exactly which tasks are holding your funds. Use this before fund_task to verify you have sufficient available funds. For all currencies at once, use list_wallets. Requires authentication.
    ConnectorNo auth
  • Fetch full details for one skill by slug. Call AFTER search_skills or popular_skills when a user selects a specific result — do NOT batch-call for every item. Returns: name, description, category, tags, version, author, downloads, stars, install_command, homepage_url, repo_url. Error lifecycle: slug not found → {error: "Skill not found"} → fall back to search_skills with related keyword. Never guess slugs; only use slugs from prior tool results.
    ConnectorNo auth
  • Screen a person by NAME for bankruptcy exposure ('konkursgjenganger'): leadership roles (chair / managing director) held in companies that later went bankrupt, tenure-weighted, from the dated role history. Use this for HISTORICAL leaders who are no longer in any role index and so cannot be reached via search_persons/get_person. The match is name-based (no national ID), so a hit is a REVIEW FLAG to verify (birth year / address), not a verdict. PII-sensitive — requires the search_full_enabled tier.
    ConnectorNo auth
  • Quick scan for a PENDING task. Returns the task directly if one is available, or None if no task is ready within the timeout. Default timeout is 5s (non-blocking). The agent should NOT loop on this — tasks arrive via relay push. This is a fallback for when the agent wants to check for tasks without waiting for a relay. No args needed — the role is auto-detected from posture (.brain/posture/current.json) or NUCLEUS_AGENT_ROLES env var.
    ConnectorNo auth
  • Beispiel: „Welche Firmen führt eine Person namens Maria Huber?“ Find every company a person runs or represents - across BOTH registers in one call (cross-border person search). Read-only. Parameters: - name (required): person name substring, case-insensitive, e.g. "Mustermann". - country (optional, default "all"): "AT" | "DE" | "all". - page_size (optional, default 25): results per country. - status (optional, default "all"): "active" | "inactive" | "all". Returns the merged search_companies envelope ({countries, results, per_country, notices}) plus ``person_query``; every result card carries ``country``, ``company_id`` and the matched manager. AT matches the primary managing director, DE matches all managing directors AND registered signatories. IMPORTANT: matching is by name and the registers publish birth YEAR only - a shared name across companies or countries does not prove the same person (the notice says so; use birth years and context to corroborate). For general company search use search_companies with other filters; manager_name can be combined there too.
    ConnectorOAuth
  • Time report for the project over the last `periodDays` (default 30, max 365): hours planned versus hours actually logged, the billable split, and the tasks where the two diverge most. Planned counts leaf tasks whose plan overlaps the window; worked counts time entries logged inside it. A null KPI means the other side is missing — it is NOT zero, and reporting it as zero turns "nobody planned this" into "the team overshot by 100%". Use it when someone asks how a period went, before writing any status update. Pair it with `get_project_alerts` for the risk side and `get_task_stats` for the delivery side.
    ConnectorOAuth
  • Saves a finished job for XF Model Watch, which re-tests it as new models arrive and emails the person only when a model passes every must-have and ranks higher on their priorities. Needs a signed-in subscriber. Ask the person first: Model Watch keeps the job and its example tasks (encrypted, deletable any time). Pass consent=true only if they agree. Pass the discover session, and either test_session from a finished comparison or the tasks, plus the model they use now. The first check runs as soon as the job is saved. To re-check a job the person already watches, pass check_now with the job's id or title instead (once a day per job; the result is emailed and shown at /account).
    ConnectorNo auth
  • Saves a finished job for XF Model Watch, which re-tests it as new models arrive and emails the person only when a model passes every must-have and ranks higher on their priorities. Needs a signed-in subscriber. Ask the person first: Model Watch keeps the job and its example tasks (encrypted, deletable any time). Pass consent=true only if they agree. Pass the discover session, and either test_session from a finished comparison or the tasks, plus the model they use now. The first check runs as soon as the job is saved. To re-check a job the person already watches, pass check_now with the job's id or title instead (once a day per job; the result is emailed and shown at /account).
    ConnectorNo auth
  • Add a list of up to 50 tasks to an existing Onplana project in one call, at the project root or under a sprint / epic. Fits "add these tasks to my launch project" or a checklist pasted into the chat. Single transaction (all-or-nothing), in place of calling create_task N times; add_subtasks covers new tasks that are children of an existing task. THIS TOOL DOES NOT SCHEDULE. Tasks land with NO dates unless startDate and dueDate are set on each one, and there is no way to express durations or predecessors here at all. A schedule (phase durations, effort estimates, "task 5 depends on task 3", a critical path) sent through this tool arrives as a flat dateless list, and the Gantt, timeline and critical path are all empty. Use instantiate_plan instead, which takes estimatedDays per task and computes real start and due dates from them. It accepts a projectId, so it works on a project that already exists. Neither tool accepts predecessors: create the tasks first, then add each dependency with link_dependency. The result includes `url` for the project (and one per task). ALWAYS show the project link in your reply so the user can open what you just created.
    ConnectorOAuth
  • WHEN: You have one-shot work a foreign agent can finish. DO: Offer a race-safe work contract to foreign agents. POST /api/v1/tasks. No API key. Peers claim it; HTTP 409 means another agent already took it. DON'T: Claim your own offer. Keep title and description in English. NEXT: GET /api/v1/tasks and wait for complete_task from the assignee.
    ConnectorNo auth
  • Beispiel: „Welche Firmen führt eine Person namens Maria Huber?“ Find every company a person runs or represents - across BOTH registers in one call (cross-border person search). Read-only. Parameters: - name (required): person name substring, case-insensitive, e.g. "Mustermann". - country (optional, default "all"): "AT" | "DE" | "all". - page_size (optional, default 25): results per country. - status (optional, default "all"): "active" | "inactive" | "all". Returns the merged search_companies envelope ({countries, results, per_country, notices}) plus ``person_query``; every result card carries ``country``, ``company_id`` and the matched manager. AT matches the primary managing director, DE matches all managing directors AND registered signatories. IMPORTANT: matching is by name and the registers publish birth YEAR only - a shared name across companies or countries does not prove the same person (the notice says so; use birth years and context to corroborate). For general company search use search_companies with other filters; manager_name can be combined there too.
    ConnectorOAuth
  • Add tasks to the end of an existing to-do list, each with an optional due date and time. Appends the tasks, unchecked, after the last task of the list and returns the whole list with the new task_ids. The tasks already there stay as they were. A due date without a time is due at 5 PM; Milanote reminds you at 9 AM the day it's due. Times are in the Cloud Browser's time zone. Nobody else is notified. To start a new list, use add_todo_list.
    Connector
    Destructive
    No auth
  • Hide a set of tasks from the acting member's own tasks grid until a date. Personal and invisible to everybody else: no activity is recorded, nothing is announced, and the tasks go on appearing on everyone else's grid. Use this over set_task_snooze when clearing several rows of a list at once. All or nothing -- a reference that names nothing refuses the whole call, so a reply means every task named was snoozed. Name each task by the pair a list_my_work row hands back, its key and its checklist.key: a checklist copies its tasks from its template and their keys with them, so one task key names a task in every run of that template and is not an address on its own.
    ConnectorAPI key
  • Make a public link to one of the user's Caddie notes, with the same options as Share in the app: include_tasks (the note's tasks and its call's follow-ups, folded under the page), include_transcript (a recorded call's transcript), description (the link preview's line), invite (email addresses to send the page to; each gets an email with it). A video note's page shows its video. Anyone with the link can read it, not edit; it stays current as the note changes. stop: true turns the link off. id: the note's id (search_notes finds it); workspace: as for get_note. Only when the user asked for the note to be shared or sent. From an agent's own turn inside Caddie it's refused: ask the user instead. Secret notes, and notes kept only on the user's Mac, can't be shared. The answer's tasks_shared says how many tasks the page shows (tasks show when create_task was given note: this note's id).
    ConnectorNo auth