Skip to main content
Glama
useshortcut

Shortcut MCP Server

Official
by useshortcut

Objectives: Search

objectives-search
Read-onlyIdempotent

Search and filter Shortcut objectives by name, description, state, owner, dates, and more to quickly locate specific goals.

Instructions

Find Shortcut objectives.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoObjective ID
nameNoName contains
teamNoTeam mention name
ownerNoFilter by owner (use mention name or "me")
stateNoObjective state
isDoneNoFilter by completed status
createdNoDate filter: "YYYY-MM-DD", "today", "yesterday", "tomorrow", or range "YYYY-MM-DD..YYYY-MM-DD" (use * for open bounds)
updatedNoDate filter: "YYYY-MM-DD", "today", "yesterday", "tomorrow", or range "YYYY-MM-DD..YYYY-MM-DD" (use * for open bounds)
hasOwnerNoFilter by presence of owner
completedNoDate filter: "YYYY-MM-DD", "today", "yesterday", "tomorrow", or range "YYYY-MM-DD..YYYY-MM-DD" (use * for open bounds)
isStartedNoFilter by started status
requesterNoFilter by requester (use mention name or "me")
isArchivedNoFilter by archived status
descriptionNoDescription contains
isUnstartedNoFilter by unstarted status
nextPageTokenNoPagination token from previous search

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed16 schema fields changedv0.15.1
    • changedInput schema / properties / completed / description
      Previous value: -"The date in \"YYYY-MM-DD\" format, or one of the keywords: \"yesterday\", \"today\", \"tomorrow\", or a date range in the format \"YYYY-MM-DD..YYYY-MM-DD\". The date range can also be open ended by using \"*\" for one of the bounds. Examples: \"2023-01-01\", \"today\", \"2023-01-01..*\" (from Jan 1, 2023 to any future date), \"*.2023-01-31\" (any date up to Jan 31, 2023), \"today..*\" (from today onwards), \"*.yesterday\" (any date up to yesterday). The keywords cannot be used to calculate relative dates (e.g. the following are not valid: \"today-1\" or \"tomorrow+1\")."New value: +"Date filter: \"YYYY-MM-DD\", \"today\", \"yesterday\", \"tomorrow\", or range \"YYYY-MM-DD..YYYY-MM-DD\" (use * for open bounds)"
    • changedInput schema / properties / created / description
      Previous value: -"The date in \"YYYY-MM-DD\" format, or one of the keywords: \"yesterday\", \"today\", \"tomorrow\", or a date range in the format \"YYYY-MM-DD..YYYY-MM-DD\". The date range can also be open ended by using \"*\" for one of the bounds. Examples: \"2023-01-01\", \"today\", \"2023-01-01..*\" (from Jan 1, 2023 to any future date), \"*.2023-01-31\" (any date up to Jan 31, 2023), \"today..*\" (from today onwards), \"*.yesterday\" (any date up to yesterday). The keywords cannot be used to calculate relative dates (e.g. the following are not valid: \"today-1\" or \"tomorrow+1\")."New value: +"Date filter: \"YYYY-MM-DD\", \"today\", \"yesterday\", \"tomorrow\", or range \"YYYY-MM-DD..YYYY-MM-DD\" (use * for open bounds)"
    • changedInput schema / properties / description / description
      Previous value: -"Find objectives matching the specified description"New value: +"Description contains"
    • changedInput schema / properties / hasOwner / description
      Previous value: -"Find only entities that have an owner when true, or only entities that do not have an owner when false. Example: hasOwner: true will find stories with an owner, hasOwner: false will find stories without an owner."New value: +"Filter by presence of owner"
    • changedInput schema / properties / id / description
      Previous value: -"Find objectives matching the specified id"New value: +"Objective ID"
    • changedInput schema / properties / isArchived / description
      Previous value: -"Find only entities that are archived when true, or only entities that are not archived when false."New value: +"Filter by archived status"
    • changedInput schema / properties / isDone / description
      Previous value: -"Find only entities that are completed when true, or only entities that are not completed when false."New value: +"Filter by completed status"
    • changedInput schema / properties / isStarted / description
      Previous value: -"Find only entities that are started when true, or only entities that are not started when false."New value: +"Filter by started status"
    • changedInput schema / properties / isUnstarted / description
      Previous value: -"Find only entities that are unstarted when true, or only entities that are not unstarted when false."New value: +"Filter by unstarted status"
    • changedInput schema / properties / name / description
      Previous value: -"Find objectives matching the specified name"New value: +"Name contains"
    • changedInput schema / properties / nextPageToken / description
      Previous value: -"If a next_page_token was returned from the search result, pass it in to get the next page of results. Should be combined with the original search parameters."New value: +"Pagination token from previous search"
    • changedInput schema / properties / owner / description
      Previous value: -"Find entities where the owner match the specified user. This must either be the user's mention name or the keyword \"me\" for the current user."New value: +"Filter by owner (use mention name or \"me\")"
    • changedInput schema / properties / requester / description
      Previous value: -"Find entities where the requester match the specified user. This must either be the user's mention name or the keyword \"me\" for the current user."New value: +"Filter by requester (use mention name or \"me\")"
    • changedInput schema / properties / state / description
      Previous value: -"Find objectives matching the specified state"New value: +"Objective state"
    • changedInput schema / properties / team / description
      Previous value: -"Find objectives matching the specified team. Should be a team mention name."New value: +"Team mention name"
    • changedInput schema / properties / updated / description
      Previous value: -"The date in \"YYYY-MM-DD\" format, or one of the keywords: \"yesterday\", \"today\", \"tomorrow\", or a date range in the format \"YYYY-MM-DD..YYYY-MM-DD\". The date range can also be open ended by using \"*\" for one of the bounds. Examples: \"2023-01-01\", \"today\", \"2023-01-01..*\" (from Jan 1, 2023 to any future date), \"*.2023-01-31\" (any date up to Jan 31, 2023), \"today..*\" (from today onwards), \"*.yesterday\" (any date up to yesterday). The keywords cannot be used to calculate relative dates (e.g. the following are not valid: \"today-1\" or \"tomorrow+1\")."New value: +"Date filter: \"YYYY-MM-DD\", \"today\", \"yesterday\", \"tomorrow\", or range \"YYYY-MM-DD..YYYY-MM-DD\" (use * for open bounds)"
  2. Addedv1.0.0

TDQS

C2.6/5.0
Behavior2/5

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

The description adds no behavioral information beyond what annotations already declare (readOnlyHint, idempotentHint, destructiveHint=false). It does not mention that the tool returns a list, supports pagination, or how search results are ordered, all of which would be helpful for an agent.

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

Conciseness2/5

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

The description is extremely short (3 words) but does not cover the tool's purpose adequately given the 16 parameters. It feels under-specified rather than concise. A more structured description could include search scoping, result format, or pagination hints.

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

Completeness1/5

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

With 16 parameters, no output schema, and many sibling search tools, the description is woefully incomplete. It does not mention that this tool returns a list of objectives, how pagination works, or the logical relationship between filters. The agent lacks key information to use the tool effectively.

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 baseline is 3. The description does not add any additional meaning or usage context for the parameters beyond what is already in the schema. No extra guidance on filter combinations or syntax.

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

Purpose4/5

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

The description 'Find Shortcut objectives' clearly indicates the action (Find) and resource (Shortcut objectives). It distinguishes from 'objectives-get-by-id' by implying a search operation, but does not explicitly differentiate from similar sibling search tools, so it could be more precise.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'objectives-get-by-id' or other entity-specific search tools. The description lacks context about prerequisites or typical use cases.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/useshortcut/mcp-server-shortcut'

If you have feedback or need assistance with the MCP directory API, please join our Discord server