Topline Docs

Workspace MCP

Workspace MCP: Tool reference

Generated Workspace MCP reference with schemas, authorization, mutability, and recovery guidance.

Topline Workspace MCP Tool Reference

Generated from HOSTED_HARNESS_MCP_TOOL_DEFINITIONS for /mcp/workspace. Do not edit this file directly. Run npm run docs:generate.

Topline exposes these 65 hosted Topline Workspace MCP tools. A client only sees tools allowed by its connector token scopes and the user's current capabilities.

platform_connection_check

Complete a one-time Developer Access verification challenge and prove that this authenticated MCP client can call the selected Topline product.

  • MCP product: Build, Workspace
  • Required OAuth scope: build: harness:artifact:read, workspace: docs:read
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "verificationCode": {
      "type": "string",
      "minLength": 16,
      "maxLength": 80,
      "description": "One-time code shown in Topline Developer Access."
    }
  },
  "required": [
    "verificationCode"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "verified": {
      "type": "boolean"
    },
    "product": {
      "type": "string",
      "enum": [
        "build",
        "workspace"
      ]
    },
    "verifiedAt": {
      "type": "string"
    }
  },
  "required": [
    "ok",
    "verified",
    "product",
    "verifiedAt"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

platform_search_documentation

Search current Topline product guides, external API references, MCP tools, endpoint references, runbooks, and troubleshooting content.

  • MCP product: Workspace
  • Required OAuth scope: docs:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "section": {
      "type": "string",
      "description": "Optional exact documentation section filter."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  },
  "required": [
    "query"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "docs": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "query",
    "docs"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.
  • scope_required:docs:read: Reconnect and approve the docs:read scope.

Examples

Search the Build MCP documentation

{
  "input": {
    "query": "build mcp",
    "limit": 5
  },
  "output": {
    "query": "build mcp",
    "docs": []
  }
}

platform_read_documentation

Read one complete Topline documentation entry by the id returned from platform_search_documentation.

  • MCP product: Workspace
  • Required OAuth scope: docs:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "doc": {
      "type": "object"
    }
  },
  "required": [
    "doc"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.
  • documentation_not_found: Search documentation again and retry with an id returned by the current catalog.

Examples

Read the hosted Build MCP tool reference

{
  "input": {
    "id": "generated-build-mcp-tools"
  }
}

list_workspaces

List active workspaces the current Topline user can access, or owned archived workspaces for recovery. Results are tenant-bound, alphabetized, and cursor-paginated.

  • MCP product: Workspace
  • Required OAuth scope: chat:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional case-insensitive name or description filter."
    },
    "archiveState": {
      "type": "string",
      "enum": [
        "active",
        "archived"
      ],
      "default": "active",
      "description": "List active workspaces, or owned archived workspaces for recovery."
    },
    "cursor": {
      "type": "string",
      "format": "uuid",
      "description": "Use nextCursor from the prior page with the same query."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25
    }
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "workspaces": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "workspaces",
    "nextCursor"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

create_workspace

Create a private Topline workspace owned by the current user. Default workspace skills are attached using the same lifecycle as the Topline app.

  • MCP product: Workspace
  • Required OAuth scope: workspace:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2000
    }
  },
  "required": [
    "name"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "object"
    }
  },
  "required": [
    "workspace"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

update_workspace

Rename or update the description of a workspace the current user can edit. View-only and inaccessible workspaces fail closed.

  • MCP product: Workspace
  • Required OAuth scope: workspace:write
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2000
    }
  },
  "required": [
    "workspaceId"
  ],
  "anyOf": [
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "description"
      ]
    }
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "object"
    }
  },
  "required": [
    "workspace"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

archive_workspace

Archive an owned workspace so it leaves active navigation while all content remains recoverable.

  • MCP product: Workspace
  • Required OAuth scope: workspace:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "workspace": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "workspace"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

restore_workspace

Restore an owned archived workspace to active navigation.

  • MCP product: Workspace
  • Required OAuth scope: workspace:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "workspace": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "workspace"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

plan_workspace_delete

Inspect every affected category before permanently deleting an owned archived workspace and return a state-bound plan token. This does not mutate the workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:delete
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "phase": {
      "type": "string",
      "enum": [
        "delete_plan"
      ]
    },
    "workspaceId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "eligible": {
      "type": "boolean"
    },
    "effects": {
      "type": "object"
    },
    "planToken": {
      "type": "string"
    }
  },
  "required": [
    "ok",
    "phase",
    "workspaceId",
    "name",
    "eligible",
    "effects",
    "planToken"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

delete_workspace

Permanently delete an owned archived workspace only when its fresh plan has no content, dependency, or active-work blockers.

  • MCP product: Workspace
  • Required OAuth scope: workspace:delete
  • Tool behavior: read-only: no; destructive: yes; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "confirmWorkspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "confirmName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "planToken": {
      "type": "string",
      "minLength": 64,
      "maxLength": 64
    }
  },
  "required": [
    "workspaceId",
    "confirmWorkspaceId",
    "confirmName",
    "planToken"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "deleted": {
      "type": "boolean"
    },
    "workspaceId": {
      "type": "string"
    },
    "conversationsMoved": {
      "type": "integer"
    }
  },
  "required": [
    "ok",
    "deleted",
    "workspaceId",
    "conversationsMoved"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

search_conversations

Find conversations the current Topline user can access in this tenant. Searches titles and recent visible-message previews; results are bounded and newest first.

  • MCP product: Workspace
  • Required OAuth scope: chat:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional case-insensitive title or recent-message text."
    },
    "projectId": {
      "type": "string",
      "format": "uuid",
      "description": "Optional workspace filter."
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "archived",
        "all"
      ],
      "default": "open"
    },
    "cursor": {
      "type": "string",
      "format": "uuid",
      "description": "Use nextCursor from the prior page with the same filters."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "conversations": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "conversations",
    "nextCursor"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_conversation

Read a cursor-paginated page of visible messages from one accessible conversation. Returns workspace context, per-message truncation metadata, and no tool payloads or hidden runtime context.

  • MCP product: Workspace
  • Required OAuth scope: chat:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "format": "uuid"
    },
    "beforeMessageId": {
      "type": "string",
      "format": "uuid",
      "description": "Return messages strictly older than this message id. Use nextBeforeMessageId from the prior page."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    }
  },
  "required": [
    "conversationId"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "conversation": {
      "type": "object"
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "truncated": {
      "type": "boolean"
    },
    "nextBeforeMessageId": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "conversation",
    "messages",
    "truncated",
    "nextBeforeMessageId"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

search_conversation_messages

Search user-visible text across an accessible conversation in bounded transcript windows. Results are newest first; use nextBeforeMessageId to continue into older history.

  • MCP product: Workspace
  • Required OAuth scope: chat:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "format": "uuid"
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "role": {
      "type": "string",
      "enum": [
        "user",
        "assistant",
        "system"
      ]
    },
    "beforeMessageId": {
      "type": "string",
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    }
  },
  "required": [
    "conversationId",
    "query"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "nextBeforeMessageId": {
      "type": [
        "string",
        "null"
      ]
    },
    "searchedMessages": {
      "type": "integer"
    }
  },
  "required": [
    "query",
    "results",
    "nextBeforeMessageId",
    "searchedMessages"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_workspace_threads

List accessible threads in a workspace, including participants and active-work state.

  • MCP product: Workspace
  • Required OAuth scope: chat:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

create_thread

Create a thread in a writable workspace.

  • MCP product: Workspace
  • Required OAuth scope: chat:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "maxLength": 100
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

update_thread

Rename, move, archive, restore, or pin a writable thread.

  • MCP product: Workspace
  • Required OAuth scope: chat:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "workspaceId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "status": {
      "type": "string",
      "enum": [
        "open",
        "archived"
      ]
    },
    "pinned": {
      "type": "boolean"
    }
  },
  "required": [
    "threadId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

plan_thread_delete

Inspect a thread before permanent owner-only deletion and return a state-bound token.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:delete
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "threadId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

delete_thread

Permanently delete an owned thread after a fresh delete plan.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:delete
  • Tool behavior: read-only: no; destructive: yes; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    },
    "confirmThreadId": {
      "type": "string",
      "format": "uuid"
    },
    "planToken": {
      "type": "string",
      "minLength": 64,
      "maxLength": 64
    }
  },
  "required": [
    "threadId",
    "confirmThreadId",
    "planToken"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_thread_participants

List the owner and participants of an accessible thread.

  • MCP product: Workspace
  • Required OAuth scope: chat:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "threadId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

add_thread_participant

Grant an active tenant user access to an owned thread.

  • MCP product: Workspace
  • Required OAuth scope: workspace:access:manage
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "threadId",
    "email"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

remove_thread_participant

Revoke a participant's direct access to an owned thread.

  • MCP product: Workspace
  • Required OAuth scope: workspace:access:manage
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "threadId",
    "email"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_workspace_items

List documents and artifacts filed in an accessible workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_workspace_item

Read one accessible workspace document or artifact with secret-shaped strings redacted.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "itemId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

create_workspace_document

Create a Markdown document in an owned workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2000
    },
    "content": {
      "type": "string",
      "maxLength": 500000
    }
  },
  "required": [
    "workspaceId",
    "title",
    "content"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

update_workspace_item

Rename, describe, move, or update Markdown content on a writable workspace item.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2000
    },
    "workspaceId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "content": {
      "type": "string",
      "maxLength": 500000
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "itemId"
  ],
  "anyOf": [
    {
      "required": [
        "title"
      ]
    },
    {
      "required": [
        "description"
      ]
    },
    {
      "required": [
        "workspaceId"
      ]
    },
    {
      "required": [
        "content",
        "expectedVersion"
      ]
    }
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

plan_workspace_item_delete

Inspect an owned workspace item before permanent deletion and return a state-bound token.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:delete
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "itemId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

delete_workspace_item

Permanently delete an owned workspace item after a fresh delete plan.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:delete
  • Tool behavior: read-only: no; destructive: yes; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "itemId": {
      "type": "string",
      "format": "uuid"
    },
    "confirmItemId": {
      "type": "string",
      "format": "uuid"
    },
    "planToken": {
      "type": "string",
      "minLength": 64,
      "maxLength": 64
    }
  },
  "required": [
    "itemId",
    "confirmItemId",
    "planToken"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_maintenance_doc

Read structured long-lived maintenance guidance for an accessible workspace or artifact.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "resourceType": {
      "type": "string",
      "enum": [
        "workspace",
        "artifact"
      ]
    },
    "resourceId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "resourceType",
    "resourceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

update_maintenance_doc

Create or update structured maintenance guidance using optimistic concurrency.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "resourceType": {
      "type": "string",
      "enum": [
        "workspace",
        "artifact"
      ]
    },
    "resourceId": {
      "type": "string",
      "format": "uuid"
    },
    "sections": {
      "type": "object"
    },
    "expectedUpdatedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "sections"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_workspace_todos

List ordered todos in an accessible workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:content:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "includeRemoved": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

manage_workspace_todo

Create, edit, complete, reorder, remove, or restore a todo in a writable workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:todo:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "create",
        "edit",
        "complete",
        "reopen",
        "reorder",
        "remove",
        "restore"
      ]
    },
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "todoId": {
      "type": "string",
      "format": "uuid"
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "beforeId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "action",
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_workspace_skills

List available skills and the skills currently bound to a workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:skills:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "includeInactive": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_skill

Read an accessible approved skill and its files.

  • MCP product: Workspace
  • Required OAuth scope: workspace:skills:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "skillId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "skillId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

bind_workspace_skill

Bind an owned active skill to a writable workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:skills:write
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "skillId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId",
    "skillId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

unbind_workspace_skill

Remove an owned skill binding from a writable workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:skills:write
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "skillId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId",
    "skillId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_workspace_access

List direct access grants for an owned workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:access:manage
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspaceId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

grant_workspace_access

Grant an active tenant user Viewer or Editor access to an owned workspace and its artifacts. New grants default to Viewer.

  • MCP product: Workspace
  • Required OAuth scope: workspace:access:manage
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "role": {
      "type": "string",
      "enum": [
        "viewer",
        "editor"
      ]
    }
  },
  "required": [
    "workspaceId",
    "email"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

revoke_workspace_access

Revoke a user's direct access to an owned workspace.

  • MCP product: Workspace
  • Required OAuth scope: workspace:access:manage
  • Tool behavior: read-only: no; destructive: no; idempotent: yes; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "workspaceId": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "workspaceId",
    "email"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

post_thread_message

Post a human-authored message to an accessible thread for participant and external-agent collaboration. This records the message but does not invoke Topline's internal assistant.

  • MCP product: Workspace
  • Required OAuth scope: chat:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50000
    },
    "clientRequestId": {
      "type": "string",
      "maxLength": 128
    }
  },
  "required": [
    "threadId",
    "text"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_schedules

List the current user's schedules, optionally filtered by artifact.

  • MCP product: Workspace
  • Required OAuth scope: schedules:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "artifactId": {
      "type": "string",
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    }
  }
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_schedule

Read an owned schedule and its recent run history.

  • MCP product: Workspace
  • Required OAuth scope: schedules:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "scheduleId": {
      "type": "string",
      "format": "uuid"
    },
    "runLimit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "required": [
    "scheduleId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

create_schedule

Create and provision an owned natural-language or approved-endpoint schedule.

  • MCP product: Workspace
  • Required OAuth scope: schedules:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "triggerType": {
      "type": "string",
      "enum": [
        "nl_prompt",
        "endpoint"
      ]
    },
    "cron": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "promptText": {
      "type": "string",
      "maxLength": 8000
    },
    "endpoint": {
      "type": "string",
      "maxLength": 1000
    },
    "endpointParams": {
      "type": [
        "object",
        "null"
      ]
    },
    "outputStrategy": {
      "type": "string",
      "enum": [
        "new_per_fire",
        "existing_thread",
        "silent"
      ]
    },
    "outputThreadId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "alertOnFailure": {
      "type": "boolean"
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "triggerType",
    "cron"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

update_schedule

Update or enable/disable an owned schedule while keeping scheduler state synchronized.

  • MCP product: Workspace
  • Required OAuth scope: schedules:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "scheduleId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "cron": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "promptText": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 8000
    },
    "endpoint": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 1000
    },
    "endpointParams": {
      "type": [
        "object",
        "null"
      ]
    },
    "alertOnFailure": {
      "type": "boolean"
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "required": [
    "scheduleId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

delete_schedule

Permanently delete an owned non-manifest schedule and its scheduler job.

  • MCP product: Workspace
  • Required OAuth scope: schedules:delete
  • Tool behavior: read-only: no; destructive: yes; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "scheduleId": {
      "type": "string",
      "format": "uuid"
    },
    "confirmScheduleId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "scheduleId",
    "confirmScheduleId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_workforce_tasks

List coding/workforce tasks created by the current user.

  • MCP product: Workspace
  • Required OAuth scope: workforce:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25
    }
  }
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_workforce_task

Read an owned task and cursor-style progress events.

  • MCP product: Workspace
  • Required OAuth scope: workforce:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "afterSeq": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "default": 100
    }
  },
  "required": [
    "taskId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

start_workforce_task

Start a bounded coding-agent task in an owned thread.

  • MCP product: Workspace
  • Required OAuth scope: workforce:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "threadId": {
      "type": "string",
      "format": "uuid"
    },
    "brief": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "artifactId": {
      "type": "string",
      "format": "uuid"
    },
    "costCeilingUsd": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000
    }
  },
  "required": [
    "threadId",
    "brief"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

manage_workforce_task

Cancel, retry, guide, or answer a pending operator question for an owned workforce task.

  • MCP product: Workspace
  • Required OAuth scope: workforce:write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "cancel",
        "retry",
        "instruct",
        "answer"
      ]
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000
    },
    "promptId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "action",
    "taskId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

write_preference

Create, update, or archive one explicit personal response preference.

  • MCP product: Workspace
  • Required OAuth scope: preferences:write
  • Required capability: memory.confirm.personal
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "create",
        "update",
        "archive"
      ]
    },
    "preferenceId": {
      "type": "string",
      "format": "uuid"
    },
    "topic": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 10000
    },
    "expectedUpdatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "action"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant memory.confirm.personal; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

list_attention

List pending operator questions, active work, and failed schedules that need the current user's attention.

  • MCP product: Workspace
  • Required OAuth scope: workforce:read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25
    }
  }
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

get_customer_profile_status

Read the tenant-bound Customer Profiles product status, mirror freshness, pricing state, and recent run health. This tool cannot enable, price, or mutate the product.

  • MCP product: Workspace
  • Required OAuth scope: customer_profiles:read
  • Required capability: customer_profiles.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {}
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant customer_profiles.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

get_customer_profile

Read one enabled PestRoutes customer's reusable Topline profile with bounded model-safe recent activity and explicit freshness metadata.

  • MCP product: Workspace
  • Required OAuth scope: customer_profiles:read
  • Required capability: customer_profiles.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "customerId": {
      "type": "string",
      "pattern": "^[0-9]{1,30}
quot; }, "recentHours": { "type": "integer", "minimum": 1, "maximum": 168, "default": 24 }, "activityLimit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50 } }, "required": [ "customerId" ] }

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant customer_profiles.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

get_customer_activity

Read a bounded model-safe window from one enabled customer's Topline-observed history. This is sampled history, not vendor CDC or transactional truth.

  • MCP product: Workspace
  • Required OAuth scope: customer_profiles:read
  • Required capability: customer_profiles.history.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "customerId": {
      "type": "string",
      "pattern": "^[0-9]{1,30}
quot; }, "recentHours": { "type": "integer", "minimum": 1, "maximum": 168, "default": 24 }, "limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 50 } }, "required": [ "customerId" ] }

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant customer_profiles.history.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

read_preferences

Read the operator's explicit product-managed response preferences. These override inferred AgentCore memory.

  • MCP product: Workspace
  • Required OAuth scope: memory:read
  • Required capability: memory.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20
    }
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "preferences": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "string"
          },
          "body": {
            "type": "string"
          }
        },
        "required": [
          "topic",
          "body"
        ]
      }
    }
  },
  "required": [
    "preferences"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant memory.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

search_context

Search permission-filtered Topline company context, including Graphiti-derived relationships with source citations.

  • MCP product: Workspace
  • Required OAuth scope: memory:read
  • Required capability: memory.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    },
    "retrieval_mode": {
      "type": "string",
      "enum": [
        "hybrid",
        "lexical",
        "graph"
      ],
      "default": "hybrid"
    },
    "as_of": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "query"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "results"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant memory.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

fetch_context

Fetch a cited Topline context item after applying current source and actor permissions.

  • MCP product: Workspace
  • Required OAuth scope: memory:read
  • Required capability: memory.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "id"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "sourceType": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url",
    "sourceType"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant memory.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

lookup_glossary

Look up a company-specific glossary term or abbreviation before guessing what it means.

  • MCP product: Workspace
  • Required OAuth scope: glossary:read
  • Required capability: glossary.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "minLength": 1
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "include_candidates": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "term"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "lookup": {
      "type": "object"
    }
  },
  "required": [
    "lookup"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant glossary.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

search_glossary

Search company glossary entries by term, alias, definition, category, status, or scope.

  • MCP product: Workspace
  • Required OAuth scope: glossary:read
  • Required capability: glossary.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "candidate",
        "archived"
      ],
      "default": "active"
    },
    "category": {
      "type": "string"
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25
    }
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "entries"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant glossary.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

resolve_glossary_terms

Resolve exact glossary matches and likely unknown abbreviations from supplied text or candidate terms.

  • MCP product: Workspace
  • Required OAuth scope: glossary:read
  • Required capability: glossary.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    },
    "candidates": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "include_candidates": {
      "type": "boolean",
      "default": false
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50
    }
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "recognized": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "ambiguous": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "unknown": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "recognized",
    "ambiguous",
    "unknown"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant glossary.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

create_glossary_term

Publish a new company glossary term immediately when the operator explicitly asks for it.

  • MCP product: Workspace
  • Required OAuth scope: glossary:write
  • Required capability: glossary.approve.scope
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "term": {
      "type": "string",
      "minLength": 1
    },
    "definition": {
      "type": "string",
      "minLength": 1
    },
    "aliases": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "category": {
      "type": "string"
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "term",
    "definition"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "entry": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "entry"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant glossary.approve.scope; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

update_glossary_term

Update an existing company glossary term by id when the operator explicitly requests the change.

  • MCP product: Workspace
  • Required OAuth scope: glossary:write
  • Required capability: glossary.approve.scope
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "term": {
      "type": "string",
      "minLength": 1
    },
    "definition": {
      "type": "string",
      "minLength": 1
    },
    "aliases": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "category": {
      "type": "string"
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "id"
  ],
  "anyOf": [
    {
      "required": [
        "term"
      ]
    },
    {
      "required": [
        "definition"
      ]
    },
    {
      "required": [
        "aliases"
      ]
    },
    {
      "required": [
        "category"
      ]
    },
    {
      "required": [
        "scope_id"
      ]
    }
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "entry": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "entry"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant glossary.approve.scope; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

propose_company_knowledge

Propose cited company knowledge for review. This never auto-publishes and returns a proposal ID for status checks.

  • MCP product: Workspace
  • Required OAuth scope: company_knowledge:propose
  • Required capability: company_knowledge.propose
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50000
    },
    "source_excerpt": {
      "type": "string",
      "maxLength": 4000
    },
    "citation_url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://"
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "title",
    "body"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant company_knowledge.propose; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

publish_company_knowledge

Submit cited company knowledge for low-cost review and automatic publication only when confidence is high and no conflict or sensitivity is detected.

  • MCP product: Workspace
  • Required OAuth scope: company_knowledge:write
  • Required capability: company_knowledge.write
  • Tool behavior: read-only: no; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50000
    },
    "source_excerpt": {
      "type": "string",
      "maxLength": 4000
    },
    "citation_url": {
      "type": "string",
      "format": "uri",
      "pattern": "^https://"
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "required": [
    "title",
    "body"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant company_knowledge.write; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

company_knowledge_status

Read the current review, confirmation, publication, or archive status of a company knowledge proposal.

  • MCP product: Workspace
  • Required OAuth scope: memory:read
  • Required capability: memory.read
  • Tool behavior: read-only: yes; destructive: no; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "proposalId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "proposalId"
  ]
}

Output schema

{
  "type": "object",
  "properties": {
    "proposal": {
      "type": "object"
    },
    "confirmationUrl": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "proposal",
    "confirmationUrl"
  ]
}

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant memory.read; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.

undo_company_knowledge

Archive a published company knowledge item and remove it from retrieval and the company graph.

  • MCP product: Workspace
  • Required OAuth scope: company_knowledge:write
  • Required capability: company_knowledge.write
  • Tool behavior: read-only: no; destructive: yes; idempotent: not declared; open-world access: no

Input schema

{
  "type": "object",
  "properties": {
    "proposalId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "proposalId"
  ]
}

Output schema

No output schema is currently declared by the runtime contract.

Errors and recovery

  • scope_required: reconnect or reauthorize the client with the required OAuth scope shown above.
  • capability_required: ask a Topline administrator to grant company_knowledge.write; retrying without that capability will not succeed.
  • Invalid arguments: correct the request so it matches the input schema before retrying.
  • mcp_tool_timeout: inspect whether the operation completed, then retry only when the operation is safe to repeat.