Skip to main content
Glama

Getmyworkspace

getMyWorkspace

TOOL for retrieving current user's owned resources and work items across the Cortex workspace.

    FLEXIBLE REQUEST STRUCTURE:
    The request accepts an object with optional fields for each resource type:
    - myEntitiesRequest: Fetch entities (services, resources, domains) owned by the user
    - myTeamsRequest: Fetch teams the user belongs to
    - myScorecardsRequest: Fetch scorecards associated with user's entities
    - myOpenPRsRequest: Fetch user's open pull requests across all Git repositories
    - myRequestedReviewsRequest: Fetch PRs where user is requested as a reviewer
    - myWorkItemsRequest: Fetch work items (Jira, Linear, Azure DevOps) assigned to the user

    Set one or more fields to fetch multiple resource types in a single call.
    All results are combined into a single response array with mixed item types.

    RESPONSE STRUCTURE:
    Returns a single array of items where each item has an 'itemType' field indicating its type:
    - 'entity': Catalog entities (services, resources, domains)
    - 'team': Teams the user belongs to
    - 'scorecard': Scorecards for user's entities
    - 'pull_request': Open pull requests authored by the user
    - 'review_request': Pull requests where user is requested as reviewer
    - 'work_item': Work items (issues/tickets) assigned to the user

    EXAMPLES:
    1. Fetch only services:
       {"myEntitiesRequest": {"entityTypes": ["service"]}}

    2. Fetch teams and their entities:
       {"myTeamsRequest": {"includeMembers": true}, "myEntitiesRequest": {}}

    3. Get all work (PRs, reviews, Jira tickets):
       {"myOpenPRsRequest": {}, "myRequestedReviewsRequest": {}, "myWorkItemsRequest": {}}

    4. Search entities with filters:
       {"myEntitiesRequest": {"query": "payment", "ownershipSource": "DIRECT", "entityTypes": ["service", "resource"]}}
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextYes Explain why you're invoking this tool now and how its output will be used. Then state how this call supports your *overall objective* and fits into your broader plan across all tool calls (e.g., why this tool vs. others, and what step it unblocks). Never share any personal details or sensitive information.
session_idYesSession continuity handle, one of two values: the ses_ ID issued for the task underway, or start. This server cannot link your calls between requests on its own, so session continuity travels in this parameter instead. If you were handed a session_id for this task — for example by the agent that spawned you — send that exact value from your first call. Otherwise send start on your first call; the server will issue an opaque correlation ID in the mcp_session field of the result, or in a text block at the start of the result beginning [session_id issued. Then send that exact ses_ value on every later call and hand it to any subagents working the same task. start always begins a new, unrelated task — never send it mid-task. If you send a value this server does not recognize, the result reports it: mcp_session.status of unrecognized, or a text block beginning [session_id unrecognized; re-send the ID issued for this task, or start if none was issued yet. Never invent a ses_ value.
myTeamsRequestNoRequest for teams the user belongs to
myOpenPRsRequestNoRequest for user's open pull requests across all Git repositories
myEntitiesRequestNoRequest for all entities (services, resources, domains) owned by the user
myWorkItemsRequestNoRequest for work items (Jira, Linear, Azure DevOps issues) assigned to the user
myScorecardsRequestNoRequest for scorecards associated with the user's entities
myRequestedReviewsRequestNoRequest for pull requests where the user is requested as a reviewer

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "Session continuity handle, one of two values: the ses_ ID issued for the task underway, or start. This server cannot link your calls between requests on its own, so session continuity travels in this parameter instead. If you were handed a session_id for this task — for example by the agent that spawned you — send that exact value from your first call. Otherwise send start on your first call; the server will issue an opaque correlation ID in the mcp_session field of the result, or in a text block at the start of the result beginning [session_id issued. Then send that exact ses_ value on every later call and hand it to any subagents working the same task. start always begins a new, unrelated task — never send it mid-task. If you send a value this server does not recognize, the result reports it: mcp_session.status of unrecognized, or a text block beginning [session_id unrecognized; re-send the ID issued for this task, or start if none was issued yet. Never invent a ses_ value.",
      +  "pattern": "^(start|ses_[0-9A-Za-z]{27})$",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "context"
      -]New value: +[
      +  "session_id",
      +  "context"
      +]
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the response structure (single array with 'itemType' field), the combination behavior, and gives examples. It also implicitly indicates it's a read operation. However, it does not mention error handling, rate limits, or what happens if a sub-request fails. The example 1 omits required fields (includeArchived, ownershipSource, page, pageSize) for myEntitiesRequest, which could mislead an agent into thinking those are optional, though the schema marks them required. This is a minor transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with headers, bullet lists, and examples. It front-loads the purpose, then explains request/response structures, and ends with examples. Each section earns its place, though it could be tightened. The use of all-caps headers and clear formatting aids readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must explain return values, which it does thoroughly (itemType values and meaning). It covers all resource types and gives examples. However, it does not explicitly mention pagination behavior across the combined response or how page/pageSize apply when multiple sub-requests are made. Also, the incomplete examples could lead to failed calls. Overall, it is quite complete for the tool's complexity, but a few gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description adds value by explaining how the sub-request objects combine and providing usage examples. However, the examples are incomplete per the schema (e.g., example 1 omits required fields for myEntitiesRequest), which could cause incorrect calls. The description also labels the sub-request objects as 'optional fields' (meaning you can omit a sub-request), which is correct, but the internal required fields are not clarified. This does not fully compensate for the potential confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('retrieving') and resource ('current user's owned resources and work items across the Cortex workspace'). It distinguishes itself from sibling tools by aggregating multiple resource types in a single call, which is a unique capability not offered by the per-resource siblings like listAllEntities or getTeamDetails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to use the tool flexibly: 'Set one or more fields to fetch multiple resource types in a single call.' It provides examples of different combinations and even shows how to fetch all work items. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions (e.g., 'use this instead of getTeamDetails when you need teams plus PRs'). The context is clear enough for an agent to infer, but explicit guidance is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources