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_DEFINITIONSfor/mcp/workspace. Do not edit this file directly. Runnpm run docs:generate.
Topline exposes these 19 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 workspaces the current Topline user can access in this tenant. Results are bounded, alphabetized, and cursor-paginated for use with conversation filters.
- 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."
},
"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.
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.
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 grantmemory.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 grantmemory.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 grantmemory.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 grantglossary.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 grantglossary.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 grantglossary.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 grantglossary.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 grantglossary.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 grantcompany_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 grantcompany_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 grantmemory.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 grantcompany_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.