Skip to main content
Glama
othos-io

Othos MCP

Official
by othos-io

Othos MCP

@othos-io/othos-mcp is a Model Context Protocol (MCP) server for the Othos Platform. It lets AI coding agents and MCP clients authenticate with Othos and work directly with organizations, projects, columns, and tickets.

This package is designed for two main use cases:

  • Local stdio usage with coding agents such as Codex, Claude Code, and Cursor.

  • Remote Streamable HTTP deployments protected by OAuth bearer tokens.

Choose The Right Setup

For most new users, the correct setup is the local stdio package installed with add-mcp.

Use local stdio when:

  • you are installing the MCP into Codex, Cursor, Claude Code, or a similar desktop coding agent

  • you want to use othos_auth_connect

  • you want the MCP process to open a localhost callback and finish auth on your machine

Use the remote HTTP endpoint only when:

  • your MCP client already supports transport-level OAuth or bearer auth for remote MCP servers

  • you already know how the client will obtain and attach the Authorization header for https://mcp.othos.com.br/mcp

If you are unsure, use local stdio.

Related MCP server: mcp-kaneo

What This Server Can Do

  • Authenticate to Othos with a browser-based OAuth flow, a bearer token, or cookie-based session auth.

  • Inspect the current authentication state and active organization context.

  • List, create, update, and delete projects and columns.

  • List, create, update, move, assign, unassign, and delete tickets.

  • Return ticket data in an agent-friendly fixed text template when you want clean chat output.

  • Run either as a local MCP server over stdio or as a deployed MCP server over HTTP.

Getting Started

Install with add-mcp

Install the MCP server for all detected coding agents in the current project:

npx add-mcp @othos-io/othos-mcp@latest

Add -y to skip prompts and -g to install globally.

Manual installation

If your MCP client expects a manual config, use:

{
  "mcpServers": {
    "othos-mcp": {
      "command": "npx",
      "args": ["-y", "@othos-io/othos-mcp@latest"]
    }
  }
}

Codex CLI

codex mcp add othos-mcp -- npx -y @othos-io/othos-mcp@latest

This is the recommended path for a new user.

Quick Start

For local stdio usage, the recommended flow is:

  1. Install the server in your MCP client.

  2. Start a session and call othos_auth_connect.

  3. Open the returned authorization URL in your browser.

  4. Approve the connection in Othos.

  5. Start using tools such as othos_organization_list, othos_project_list, and othos_ticket_create.

NOTE

If you call a protected tool without valid authentication, the server returns an auth-required response that includes the authorization link. After approval in the browser, the local MCP process receives the loopback callback and stores the bearer token automatically.

New User Flow

The intended first-run experience is:

  1. Install the npm package into the MCP client using add-mcp.

  2. Let the MCP client launch the package locally over stdio.

  3. Call othos_auth_connect.

  4. Open the returned browser URL.

  5. Approve access in Othos.

  6. Return to the MCP client and start using organization, project, column, and ticket tools.

The intended first-run experience is not:

  1. connect directly to https://mcp.othos.com.br/mcp as an unauthenticated HTTP client

  2. expect othos_auth_connect to bootstrap auth on that remote transport

That remote path requires transport-level auth before the MCP session is even available.

Authentication

othos_auth_connect starts a local OAuth authorization flow and is the best default for local MCP usage.

It can:

  • Open a browser-based approval flow.

  • Listen on a localhost callback URL for the browser redirect.

  • Exchange the authorization code for an Othos bearer token.

  • Persist the token to disk automatically.

By default, local stdio sessions save the token to:

  • $XDG_CONFIG_HOME/othos-mcp/personal-token, or

  • $HOME/.config/othos-mcp/personal-token

You can override that with OTHOS_PERSONAL_TOKEN_PATH or the savePath argument.

Direct personal token

If you already have a bearer token, you can provide it directly:

export OTHOS_PERSONAL_TOKEN="othos_pat_v1...."

You can also set it from inside the MCP session with othos_auth_set_personal_token.

When a bearer token is available, the server sends it to the Othos API as:

Authorization: Bearer <token>

Cookie-based auth is still supported for compatibility:

  • OTHOS_ACCESS_COOKIE

  • OTHOS_ACCESS_TOKEN

  • othos_auth_set_cookie

  • othos_auth_login

  • othos_auth_login_with_personal_token

For new setups, prefer othos_auth_connect or OTHOS_PERSONAL_TOKEN.

Example Prompts

Once connected, your agent can handle prompts like:

  • Check my Othos authentication status.

  • List my organizations and tell me which one is active.

  • Switch to organization 8f2d...

  • Show me the projects in my current organization.

  • Create a project called Website Redesign.

  • List the columns for project 2c6a...

  • Create a high-priority ticket called Fix OAuth redirect in column 91d4...

  • Move ticket 4a7f... to column c12e...

  • Show ticket 77b2... using the template format.

MCP Tools

The server currently exposes the following tool groups.

Authentication

  • othos_auth_status checks whether the server currently has valid auth configured.

  • othos_auth_connect starts browser-based authorization and stores the returned bearer token.

  • othos_auth_set_cookie sets auth manually using a cookie or raw access token.

  • othos_auth_set_personal_token sets a bearer token and can persist it locally.

  • othos_auth_login_with_personal_token validates and stores a bearer token for API use.

  • othos_auth_login signs in with email and password.

  • othos_auth_logout clears the current auth session.

  • othos_auth_create_personal_token currently returns a compatibility error because the legacy API endpoint is gone.

  • othos_auth_revoke_personal_token currently returns a compatibility error because the legacy API endpoint is gone.

Organizations

  • othos_organization_list lists organizations available to the authenticated user.

  • othos_organization_current returns the current active organization.

  • othos_organization_change switches the active organization context.

Projects

  • othos_project_list

  • othos_project_get

  • othos_project_create

  • othos_project_update

  • othos_project_delete

  • othos_project_members

  • othos_project_assign_member

  • othos_project_unassign_member

Columns

  • othos_column_list

  • othos_column_create

  • othos_column_update

  • othos_column_delete

Tickets

  • othos_ticket_list_by_column

  • othos_ticket_list_by_column_template

  • othos_ticket_get

  • othos_ticket_get_template

  • othos_ticket_create

  • othos_ticket_update

  • othos_ticket_move

  • othos_ticket_delete

  • othos_ticket_assign_member

  • othos_ticket_unassign_member

TIP

The*_template ticket tools return a fixed, chat-friendly text format that is useful when you want consistent summaries instead of raw JSON.

HTTP Transport with OAuth

Besides local stdio mode, the package can run as a Streamable HTTP MCP server protected by OAuth bearer tokens.

Start the server in HTTP mode:

OTHOS_MCP_TRANSPORT=http \
MCP_HOST=127.0.0.1 \
MCP_PORT=8787 \
node dist/index.js --http

In HTTP mode:

  • clients connect to http://127.0.0.1:8787/mcp

  • bearer authentication is required on the MCP transport

  • tokens are validated through the Othos introspection endpoint

  • the local othos_auth_* helper tools are disabled because auth is handled by the MCP OAuth flow

  • the server requires the mcp:tools scope

For the published remote server at https://mcp.othos.com.br/mcp, a fresh unauthenticated client should expect the transport to reject the connection until it provides a valid bearer token. This is expected behavior.

Example unauthenticated remote behavior:

{
  "error": "invalid_token",
  "error_description": "Missing Authorization header"
}

Environment Variables

API and auth

  • OTHOS_API_URL: Othos API base URL. Defaults to https://api.othos.com.br/api/v1.

  • NEXT_PUBLIC_API_URL: fallback API base URL when OTHOS_API_URL is not set.

  • OTHOS_PERSONAL_TOKEN: Othos bearer token used as API auth.

  • OTHOS_PERSONAL_TOKEN_PATH: absolute path used to load or persist a bearer token. If unset, local stdio mode falls back to $XDG_CONFIG_HOME/othos-mcp/personal-token or $HOME/.config/othos-mcp/personal-token.

  • OTHOS_ACCESS_COOKIE: existing Othos cookie header for compatibility mode.

  • OTHOS_ACCESS_TOKEN: existing access token. Non-PAT values are treated as cookie auth.

HTTP transport

  • OTHOS_MCP_TRANSPORT: set to http to enable Streamable HTTP mode.

  • MCP_HOST: HTTP bind host. Defaults to 127.0.0.1.

  • MCP_PORT: HTTP bind port. Defaults to 8787.

  • OTHOS_OAUTH_RESOURCE_METADATA_URL: OAuth protected resource metadata URL.

  • OTHOS_OAUTH_INTROSPECTION_URL: OAuth token introspection URL.

Local Development

Clone the repository and run:

pnpm install
pnpm build
pnpm typecheck
pnpm start

For development builds:

pnpm dev

Repository

Available Tools

34 tools
othos_auth_connectB

Start browser-based authorization, poll for approval, and store the returned MCP personal token.

ParametersJSON Schema
NameRequiredDescriptionDefault
waitForApprovalSecondsNoHow long to poll for user approval before returning pending status.
savePathNoOptional absolute path to persist token. Falls back to OTHOS_PERSONAL_TOKEN_PATH.
clientNameNoDisplay name shown in the authorization page.
scopeNoOptional scopes (space/comma separated). Example: mcp:tools mcp:resources
labelNoOptional connection label shown in Othos token connections.
lifetimeDaysNoOptional token lifetime in days.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description discloses the main behavior (browser auth, polling, token storage) but lacks details on error handling, side effects (e.g., overwriting existing tokens), or permission requirements. Adequate but not comprehensive.

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

Conciseness5/5

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

Single, well-structured sentence that efficiently conveys the tool's purpose and process. No superfluous words.

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

Completeness3/5

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

Given the absence of an output schema and the tool's complexity (6 params), the description omits important details like what the tool returns, error states, or prerequisites. It provides the high-level flow but is not fully complete.

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 coverage is 100% with per-parameter descriptions. The tool description adds no extra meaning beyond 'start browser auth and store token', so baseline score of 3 applies.

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 clearly states the tool's function: start browser auth, poll, and store a token. It is a specific verb+resource combination, but does not distinguish between sibling auth tools like othos_auth_login or othos_auth_create_personal_token.

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 on when to use this tool over siblings (e.g., othos_auth_login). The description implies an interactive browser-based flow but does not specify prerequisites, fallbacks, or when not to use it.

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

othos_auth_create_personal_tokenB

Generate or rotate an MCP personal token from API and optionally save it to disk.

ParametersJSON Schema
NameRequiredDescriptionDefault
lifetimeDaysNoToken lifetime in days (1-365).
savePathNoOptional absolute path to persist token. Falls back to OTHOS_PERSONAL_TOKEN_PATH.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist; the description only states the action without disclosing side effects (e.g., whether an existing token is revoked), authorization requirements, or response behavior.

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

Conciseness5/5

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

A single, well-front-loaded sentence that conveys the core action efficiently with no unnecessary words.

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

Completeness2/5

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

Lacks context on how this tool fits with other auth tools, does not mention output, and fails to explain rotation implications, making it insufficient for an agent to fully understand the operation.

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 covers both parameters with clear descriptions, and the tool description adds 'optionally save to disk' which aligns with savePath, providing no extra semantic value beyond the schema.

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 the tool generates or rotates an MCP personal token and can save it to disk, distinguishing it from sibling tools like revoke or set.

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 on when to use this tool versus alternatives like othos_auth_set_personal_token, or when to generate vs rotate, leaving the agent without decision support.

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

othos_auth_loginA

Login to Othos with email/password. Stores the returned othos-accessToken cookie in memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
passwordYes

TDQS

A3.8/5.0
Behavior4/5

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

The description discloses that the returned access token is stored as a cookie in memory, which is a key behavioral trait. With no annotations provided, this adds useful context for the agent.

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

Conciseness5/5

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

Two sentences directly convey the purpose and side effect. No unnecessary words. Front-loaded efficiently.

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

Completeness3/5

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

The description covers the core behavior but omits what happens on success or failure (e.g., return value or error handling). For a login tool, additional context about the response would be helpful.

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

Parameters2/5

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

The description does not add any additional meaning beyond the schema. With 0% schema description coverage, the description should compensate, but it only mentions email/password generically. No details on format or constraints.

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 the tool logs in with email/password and stores a cookie. It distinguishes from siblings like othos_auth_login_with_personal_token by specifying the authentication method.

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

Usage Guidelines3/5

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

While the description implies use for email/password login, it does not explicitly state when to use this over other auth tools (e.g., personal token login). No exclusions or alternatives are mentioned.

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

othos_auth_login_with_personal_tokenA

Create a cookie session using an Othos personal token (PAT).

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNoPAT. If omitted, uses the configured in-memory token.
tokenPathNoOptional path to load PAT from disk.

TDQS

A3.5/5.0
Behavior3/5

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

Basic disclosure that it creates a session; no annotations present. Lacks details on side effects (overwrites existing sessions?), error behavior, or prerequisites. Adequate but not thorough.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with action and resource. Efficient and clear.

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

Completeness3/5

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

For a simple auth tool with 2 optional parameters and no output schema, the description covers core purpose but doesn't explain what happens when parameters are omitted or if a session is returned. Adequate but not fully complete.

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 coverage is 100%, so schema already documents parameters. Description adds no extra meaning beyond restating that PAT is used. Baseline 3 is appropriate.

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?

Description states action 'Create a cookie session' using a specific resource 'Othos personal token (PAT)'. Clearly distinguishes from siblings like othos_auth_login (different login method) and othos_auth_set_cookie (different context).

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 on when to use this tool versus alternatives like othos_auth_login or othos_auth_set_cookie. Absence of context for selection.

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

othos_auth_logoutA

Logout from Othos and clear auth cookie from this MCP process.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description discloses key behavior (logout and cookie clearing). However, it omits details about edge cases, such as what happens if not logged in or if multiple sessions exist.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It is front-loaded and efficiently conveys the purpose.

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?

Given the simple nature of the tool (no parameters, no output schema), the description is sufficient. It tells the agent what the tool does. A small improvement could mention that it invalidates the session, but not required.

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

Parameters4/5

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

The tool has no parameters, and schema coverage is 100% (vacuous). The description does not need to add parameter info, and the baseline is 4 for zero-parameter tools.

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 the action (Logout) and resource (Othos), and specifies it clears an auth cookie. It distinguishes from sibling auth tools by focusing on ending a session and cookie management, unlike token operations or status checks.

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

Usage Guidelines3/5

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

The description implies usage as the inverse of login or after completing work, but does not explicitly state when or when not to use it, nor does it mention prerequisites like being logged in.

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

othos_auth_revoke_personal_tokenB

Revoke the current MCP personal token in API.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

The word 'Revoke' implies a destructive action, but no details are provided about side effects (e.g., immediate logout, need for re-authentication). With no annotations to rely on, more behavioral context is needed.

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

Conciseness5/5

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

Extremely concise—one sentence with no wasted words. Perfectly sized for a simple revoke action.

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

Completeness3/5

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

Given zero parameters and no output schema, the description covers the basic purpose. However, it lacks details like idempotency or error states, which would be useful for a destructive action.

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

Parameters4/5

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

There are no parameters, so the description does not need to clarify them. It implicitly indicates the token being revoked (the current one). Baseline 4 is appropriate.

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 clearly states the verb 'Revoke' and the resource 'current MCP personal token', making the purpose explicit. However, it does not differentiate from sibling auth tools, though the action is distinct.

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 on when to use this tool versus alternatives (e.g., when to revoke vs. log out). No prerequisites or side effects mentioned.

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

othos_auth_set_personal_tokenC

Set a personal access token (PAT) for Othos and optionally persist it to disk.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
savePathNoOptional absolute path to save the token locally.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior fully. It mentions setting a token and optional persistence but omits side effects like overwriting, authentication impacts, or security considerations (e.g., token storage). This leaves significant behavioral gaps.

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

Conciseness3/5

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

A single sentence makes it concise but lacks structure; no front-loading, bullet points, or clear separation of mandatory vs optional aspects. Acceptably brief but could be better organized.

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

Completeness2/5

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

Given the simplicity of the tool (two parameters, no output schema), the description is minimal. It does not explain the token's role in authentication, whether setting overwrites an existing token, or what the return value indicates. Context is incomplete for an agent to confidently invoke.

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

Parameters2/5

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

Schema coverage is 50% (only 'savePath' has a description). The description adds nothing beyond the schema, failing to clarify the 'token' parameter's format, length constraints beyond minLength, or how 'savePath' should be used. It partially compensates by noting optional persistence but insufficiently.

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 the action ('Set'), the resource ('personal access token for Othos'), and the optional persistence to disk. It effectively distinguishes from siblings like 'othos_auth_create_personal_token' (creation) and 'othos_auth_login_with_personal_token' (usage).

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 such as 'othos_auth_create_personal_token' or 'othos_auth_login_with_personal_token'. There is no mention of prerequisites, scenarios, or context.

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

othos_auth_statusA

Check whether this MCP server has an Othos auth cookie and/or MCP personal token configured.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavior. It states 'Check' which implies a read-only operation, but does not explicitly confirm safety, side effects, or idempotency. It adds minimal behavioral context beyond the tool name and the word 'check'.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose with no wasted words or unnecessary detail.

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?

For a simple status check tool with no parameters and no output schema, the description adequately explains the action. It could mention the expected output format, but the current description is sufficient for basic usage given the tool's simplicity.

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

Parameters4/5

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

The tool has zero parameters, and schema coverage is 100% (trivial). Per guidelines, baseline 4 is appropriate since no param description is needed.

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 the verb 'Check' and specifies the resource: whether the server has an Othos auth cookie and/or MCP personal token configured. It effectively distinguishes from sibling auth tools which involve actions like connecting, logging in, or token management.

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 indicates this tool is for checking authentication status, providing clear context. It does not explicitly state when not to use it or suggest alternatives, but the purpose is clear from the naming and sibling tools.

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

othos_column_createC

Create a column in a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
nameYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are available, and the description does not disclose behavioral traits such as idempotency, side effects, authentication requirements, or whether the operation is destructive. For a creation tool, this is a significant gap.

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

Conciseness3/5

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

The description is a single sentence with no unnecessary words, but it is extremely brief and lacks structure (e.g., bullet points, parameter details). It is concise but under-informative.

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

Completeness2/5

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

Given the absence of annotations, output schema, and parameter descriptions, the description is insufficiently complete. An agent cannot determine what the tool returns, how it behaves, or how to correctly invoke it without guessing.

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

Parameters2/5

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

The input schema has 0% description coverage for parameters, and the description adds no meaning beyond the parameter names. It fails to explain what 'projectId' refers to or any constraints on 'name' beyond the schema's min/max length.

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 clearly states the verb 'Create' and the resource 'column' in a project, distinguishing it from sibling tools like delete, list, and update. However, it does not specify the type of column (e.g., status column) or its role in the project.

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 othos_column_update or othos_column_delete. The description lacks context for triggering conditions or prerequisites.

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

othos_column_deleteC

Delete a column.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnIdYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, and the description only states 'Delete a column' with no disclosure of whether deletion is irreversible, cascades to related data (e.g., tickets), or requires specific permissions. The agent is left to assume standard destructive behavior.

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

Conciseness3/5

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

The description is a single sentence with no extraneous text, but it is under-specified. While concise, it lacks necessary context for effective tool selection and invocation.

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

Completeness2/5

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

Given the tool's destructive nature and lack of annotations/output schema, the description fails to cover important behavioral and contextual details. The one-sentence description is insufficient for safe and correct usage.

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

Parameters2/5

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

With 0% schema description coverage, the description adds no meaning to the 'columnId' parameter beyond what is in the schema. The agent must infer that columnId identifies the column to delete. No format, constraints, or context are provided.

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 clearly states 'Delete a column', specifying the verb (Delete) and resource (a column). It distinguishes from sibling tools like othos_column_create, othos_column_list, othos_column_update, but lacks additional scoping or context that would merit a 5.

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. There is no mention of prerequisites, conditions, or exclusions (e.g., whether the column must be empty or if deletion is allowed when tickets exist).

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

othos_column_listC

List columns for a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits like read-only nature, authentication requirements, or pagination behavior. The description only states the basic action.

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 a single sentence, very concise with no redundancies. However, it could include more useful information without becoming overly long.

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

Completeness2/5

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

Given the tool has no output schema, no sibling differentiation in the description, and minimal parameter info, the description is insufficient for an agent to fully understand the tool's behavior and context.

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

Parameters1/5

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

The schema description coverage is 0%, and the description adds no meaning to the single parameter (projectId). It does not explain what the parameter represents beyond the schema's format constraints.

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 clearly states it lists columns for a project, using a specific verb and resource. It distinguishes from sibling tools like create, update, delete for columns.

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 on when to use this tool versus alternatives (e.g., othos_ticket_list_by_column). No prerequisites or context provided.

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

othos_column_updateC

Update a column's name or order.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
projectIdYes
nameYes
orderYes

TDQS

C2.8/5.0
Behavior1/5

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

No annotations are present, so the description carries full responsibility for behavioral disclosure. It only states 'update' but does not mention idempotency, permissions, error handling, or side effects, leaving significant gaps for an AI agent.

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 a single sentence with no fluff. It is concise, but lacks structure (e.g., separate sections for usage, params). However, it is efficiently written.

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

Completeness2/5

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

For a simple update tool with 4 required parameters and no output schema, the description should provide at least minimal context on behavior and parameter implications. It omits critical details such as the effect on existing columns, required permissions, and error scenarios, making it incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It adds minimal meaning by stating that 'name' and 'order' are updateable fields, but provides no context for 'id' and 'projectId' parameters, and no details on valid values or constraints beyond the schema.

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?

Clearly states the action (update) and resource (column), and specifies the modifiable attributes (name or order). This distinguishes it from sibling tools like othos_column_create and othos_column_delete.

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 on when to use this tool versus alternatives, no prerequisites, and no exclusions provided. The description simply states what it does without contextual usage advice.

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

othos_organization_changeA

Change active organization context. Required when an account has multiple organizations.

ParametersJSON Schema
NameRequiredDescriptionDefault
organizationIdYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the action ('Change active organization context') without disclosing side effects, persistence, authorization needs, or error behavior. For a mutation tool, this is insufficient.

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

Conciseness5/5

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

The description is extremely concise with two sentences, no fluff, and every word is meaningful. It is front-loaded with the essential action.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, no output schema), the description covers basic purpose and usage context. However, it lacks behavioral details (e.g., return value, persistence) that would make it fully complete without annotations.

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

Parameters2/5

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

Schema description coverage is 0%. The description does not mention the 'organizationId' parameter at all, leaving the agent to infer its purpose. Although the parameter's format (uuid) is clear from the schema, the description adds no semantic value.

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 'Change active organization context' with a specific verb and resource. It distinguishes from sibling tools like othos_organization_current (get current) and othos_organization_list (list organizations).

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 provides explicit context: 'Required when an account has multiple organizations.' This tells the agent when to use the tool, though it does not mention alternatives explicitly.

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

othos_organization_currentA

Get current active organization for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses that the tool retrieves the current active organization (a read operation) but does not detail edge cases (e.g., behavior when no organization is active) or any authentication requirements.

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

Conciseness5/5

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

Single sentence, no unnecessary words. Perfectly concise for a tool with no parameters.

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?

Given no parameters and no output schema, the description covers the essential purpose. It could mention the return value type or behavior for unset organization, but is mostly complete.

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

Parameters4/5

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

There are no parameters; schema coverage is 100%. The description does not need to add parameter info. Score at baseline 4 for no parameters.

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 the action ('Get') and resource ('current active organization'), distinguishing it from siblings like othos_organization_list (which lists all organizations) and othos_organization_change (which changes the active organization).

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 implies that this tool is for retrieving the currently active organization, while siblings cover alternative actions (list, change). However, it does not explicitly state when not to use it or provide prerequisites.

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

othos_organization_listA

List organizations available for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided. Description straightforwardly indicates a read-only list operation with no destructive side effects. Lacks detail on return format or data volume, but adequate for a simple listing.

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

Conciseness5/5

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

Single sentence with no redundancy. Front-loaded with verb and resource.

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?

For a parameterless list tool with no output schema, description adequately states function and scope. Could mention return format (e.g., list of organization IDs/names) but not essential.

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

Parameters4/5

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

No parameters in schema. Description adds no parameter info beyond purpose, but baseline for 0 parameters is 4. Schema coverage is 100% trivial.

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?

Description clearly states verb 'List', resource 'organizations', and scope 'available for the authenticated user'. Distinct from siblings like othos_organization_current (current org) and othos_organization_change (change org).

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

Usage Guidelines3/5

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

Implied usage for retrieving all accessible organizations. No explicit when-not or alternatives mentioned, but context differentiates from sibling tools that retrieve current org or change it.

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

othos_project_assign_memberC

Assign an existing member to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
memberIdYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It says 'assign' (a write operation) but does not disclose side effects (e.g., whether it's additive or replaces existing assignments), permission requirements, or idempotency. Minimal behavioral disclosure.

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

Conciseness3/5

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

A single sentence is concise, but it lacks structure. It is not front-loaded with key details; it simply states the action. While brief, it misses opportunities to prioritize critical information.

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

Completeness2/5

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

Given the tool has 2 UUID parameters, no output schema, and no annotations, the description is incomplete. It does not cover prerequisites, return behavior, or error cases. For a simple assignment tool, it is minimally adequate but lacks completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so description must compensate. It does not explain projectId or memberId beyond their names. The agent gains no additional meaning about what constitutes a valid member or project.

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 clearly states the action 'assign an existing member to a project' with a specific verb and resource. It distinguishes from sibling tools like 'othos_project_unassign_member' and 'othos_ticket_assign_member', though it could be more precise about what 'existing member' means.

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 on when to use this tool versus alternatives, prerequisites (e.g., member must exist in system, project must exist), or when not to use. The description lacks context about checking current members via 'othos_project_members' first.

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

othos_project_createC

Create a new project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, and the description only states 'Create a new project.' It fails to disclose any behavioral traits such as authentication requirements, idempotency, or side effects (e.g., duplicate name handling).

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 extremely concise at one sentence. While it could include more detail, there is no unnecessary text, and the structure is efficient for a simple tool.

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

Completeness2/5

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

With one parameter and no output schema, the description is too minimal. It does not explain return values, error conditions, or what constitutes a 'project' in this context. Additional context is needed for a complete understanding.

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

Parameters1/5

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

Schema description coverage is 0%. The description does not explain the 'name' parameter at all, despite it being the only parameter. The schema shows min/max length, but no additional meaning is added.

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 clearly states the verb 'create' and resource 'project', but it does not distinguish from sibling tools like 'othos_project_update' or 'othos_project_delete'. However, the meaning is unambiguous.

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 on when to use this tool versus alternatives, or prerequisites like authentication. The description provides no context for appropriate usage.

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

othos_project_deleteC

Delete a project by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description must convey behavioral traits. It only says 'Delete a project' without disclosing whether deletion is permanent, if it requires ownership, or if it cascades to related entities.

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 extremely concise, using one sentence with no filler. However, it sacrifices necessary detail, so while efficient, it is under-specified.

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?

Given no output schema and no annotations, the description fails to cover return values, error conditions, or side effects. Incomplete for a delete operation.

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

Parameters2/5

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

Schema coverage is 0%, so the description should compensate. It adds only 'by ID', which adds little beyond the schema's uuid format and pattern. No explanation of the parameter's meaning or validation.

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 the action 'Delete' and the resource 'project by ID', effectively distinguishing it from sibling tools like othos_project_create or othos_project_get.

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 usage guidelines are provided. The description lacks instructions on when to use this tool versus alternatives, prerequisites (e.g., project must not have dependent tickets), or potential side effects.

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

othos_project_getB

Get a project by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Get', which is read-only, but does not mention whether authentication is needed, if authorization scopes exist, or what the response contains. Minimal transparency.

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

Conciseness5/5

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

A single, clear sentence with no superfluous words. Efficiently conveys the core purpose.

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

Completeness3/5

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

For a simple get-by-ID operation with one parameter and no output schema, the description is adequate but lacks details like return value structure or authentication requirements. It meets the minimum but could be more helpful.

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

Parameters2/5

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

The schema coverage is 0% (no descriptions), so the description should add meaning. It mentions 'projectId' via context but does not explain its purpose or constraints beyond what the schema provides (UUID format). No additional clarity.

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 is concise and clearly states the action: 'Get' a 'project' by its 'ID'. This distinguishes it from siblings like list, create, update, delete, which have different verbs and purposes.

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 on when to use this tool versus alternatives like othos_project_list. Context such as prerequisites (e.g., authentication) or when to use by ID vs listing is absent.

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

othos_project_listA

List projects for the current active organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose side effects, permissions, or any limitations (e.g., only returns projects where user is member). For a list operation, details about pagination or default ordering are absent.

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 a single sentence of 9 words, which is very concise. However, it may be overly brief, omitting context that could improve usability.

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

Completeness3/5

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

Given no output schema and no parameters, the description tells what the tool does but lacks details about return format or prerequisites (e.g., authentication, active organization must be set). It is minimally complete for a simple tool.

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

Parameters4/5

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

There are 0 parameters, so the description adds no parameter information. Per guidelines, baseline is 4. The schema coverage is 100% but trivial.

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 the verb 'List' and the resource 'projects', scoped to 'current active organization'. It distinguishes from sibling tools like othos_project_get (single project) and othos_project_create.

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

Usage Guidelines3/5

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

The description implies usage context (list all projects for active organization), but does not explicitly state when to use this tool over alternatives like othos_project_get or othos_project_members. No exclusions or prerequisites provided.

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

othos_project_membersC

List members assigned to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes

TDQS

C2.8/5.0
Behavior2/5

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

The description implies read-only behavior but does not disclose permissions, pagination, rate limits, or response structure. Without annotations, the description should provide more context, such as whether the tool lists all members or returns minimal info.

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

Conciseness5/5

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

The description is a single sentence, front-loaded, with no unnecessary words. It is as concise as possible for the given purpose.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is incomplete. It does not indicate what fields the returned members will have, or if there are any limits (e.g., pagination). For a simple list tool, more context would be helpful.

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

Parameters2/5

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

Schema coverage is 0%, and the description adds no meaning to the projectId parameter. While the parameter name is self-explanatory, the description does not explain that the projectId is used to filter the list, or mention any constraints.

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 'List members assigned to a project' clearly specifies verb and resource, and distinguishes from sibling tools like othos_project_assign_member and othos_project_unassign_member. However, it does not specify scope (e.g., all members or filtered) or output format, which would make it clearer.

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 on when to use this tool versus alternatives like othos_project_get (which might also list members) or modifiers like assign/unassign. The agent must infer from sibling names, which is not explicit.

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

othos_project_unassign_memberB

Remove a member from a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
memberIdYes

TDQS

B3.1/5.0
Behavior2/5

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

The description does not disclose behavioral aspects beyond the action itself. For a mutation, it omits effects, reversibility, permission requirements, or potential side effects. No annotations are provided to compensate.

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

Conciseness5/5

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

The description is a single, clear sentence with no filler words. It efficiently conveys the core purpose without redundancy.

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

Completeness2/5

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

For a simple removal tool with two required UUIDs and no output schema, the description is too sparse. It fails to explain return type, success indicators, or preconditions, leaving the agent underinformed.

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

Parameters2/5

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

With 0% schema description coverage, the description adds minimal parameter context. It implies projectId and memberId identify the project and member, but lacks detail on where to obtain these IDs or what constitutes a valid membership.

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 explicitly states the action 'Remove a member from a project', using a specific verb and resource. This clearly distinguishes it from sibling tools like othos_project_assign_member (adds) and othos_ticket_unassign_member (different resource).

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 othos_ticket_unassign_member, or any prerequisites (e.g., existing membership). The description lacks context for appropriate usage.

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

othos_project_updateC

Update a project name.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
nameYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full behavioral disclosure burden but fails to mention side effects, permissions required, or operation atomicity. The agent gets no information beyond the basic action.

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

Conciseness3/5

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

The description is extremely short (4 words) and lacks structure. While it is concise, it does not earn its place by adding value beyond the name; a slightly longer description with usage notes would improve clarity.

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

Completeness3/5

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

For a simple update tool, the description is minimally adequate. It covers the core purpose but omits return values, error conditions, and any behavioral context, leaving the agent with incomplete expectations.

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

Parameters2/5

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

Schema description coverage is 0%, meaning parameter descriptions are missing. The description adds no meaning beyond the schema (e.g., does not explain projectId format or name constraints). The agent must infer from field types and patterns alone.

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 explicitly states 'Update a project name,' which clearly identifies the action and resource. The input schema confirms only name is mutable, distinguishing it from other project tools like assign_member or create.

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 usage context is provided. The description does not indicate when to use this tool versus alternatives (e.g., for other project updates), nor does it mention prerequisites like project existence or authorization.

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

othos_ticket_assign_memberC

Assign a member to a ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes
memberIdYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only says 'Assign' without detailing side effects (e.g., overwriting existing assignee), authentication requirements, or confirmation of success. This is insufficient for a mutation tool.

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 a single sentence, concise and front-loaded. It efficiently conveys the basic action, though more context could be added without becoming verbose.

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

Completeness2/5

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

Given no annotations, no output schema, and two required parameters, the description is incomplete. It does not explain return values, error conditions (e.g., invalid IDs), or what happens on success. A mutation tool with these gaps is inadequately documented.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no meaning beyond parameter names. While 'ticketId' and 'memberId' are self-explanatory, there is no clarification on what constitutes a valid member (e.g., must belong to the ticket's project).

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 clearly states the tool assigns a member to a ticket, using a specific verb and resource. However, it does not differentiate from the sibling tool othos_ticket_unassign_member, so it lacks sibling differentiation.

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 (e.g., othos_ticket_unassign_member or othos_project_assign_member). There is no context on prerequisites like ticket existence or member eligibility.

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

othos_ticket_createB

Create a ticket in a column. Description may be TipTap JSON, Markdown, or plain text; the MCP always converts it to serialized TipTap JSON before sending it to the API.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
descriptionNoOptional ticket description. You can send Markdown, plain text, or a serialized TipTap JSON doc string. The MCP converts non-TipTap input to TipTap JSON before sending.
columnIdYes
priorityNoMedium
orderNoIf omitted, server auto-uses the next order for this column.
isSubTicketNo
parentTicketIdNo
dueDateNoISO 8601 string (example: 2026-03-27T18:00:00Z).

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses one key behavioral trait: the MCP converts description formats to TipTap JSON. However, it omits other relevant behaviors such as authentication requirements, side effects (e.g., ticket creation triggers notifications), or the response format.

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

Conciseness5/5

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

The description is extremely concise, consisting of two short sentences. The first sentence states the core purpose, and the second adds a valuable implementation detail. No wasted words.

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

Completeness2/5

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

For a tool with 8 parameters and no output schema, the description is insufficient. It does not explain the return value, constraints on parameters (e.g., priority enum, numeric range for order), or any side effects. The behavioral detail on description conversion is helpful but not enough to provide a complete picture.

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

Parameters2/5

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

Schema description coverage is low at 38%. The description adds no new meaning beyond what is already in the schema's parameter descriptions (e.g., the description parameter's format details are repeated from the schema). Other parameters like title, columnId, priority, etc., receive no additional semantic context from the description.

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 explicitly states 'Create a ticket in a column,' which is a specific verb-resource pair. It clearly distinguishes from sibling tools like othos_ticket_update, othos_ticket_delete, etc.

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 (e.g., othos_ticket_update for modifications, othos_ticket_get to retrieve). The description does not include any usage context or exclusions.

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

othos_ticket_deleteC

Delete a ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations provided; the description only says 'Delete a ticket,' omitting critical behaviors like permanence, cascading effects (e.g., assigned members), authorization needs, or error states.

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?

Extremely concise but at the expense of completeness. Only 4 words, missing necessary detail for a delete operation. Not optimally front-loaded with critical info.

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?

For a destructive operation with no annotations and no output schema, the description is severely incomplete. It should explain irreversibility, success/failure indicators, and required permissions.

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

Parameters1/5

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

Schema coverage is 0%; the description does not explain the ticketId parameter beyond its name and type. With no parameter descriptions, the agent lacks clarity on required format or meaning.

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 clearly states the verb 'Delete' and the resource 'a ticket', distinguishing it from create, get, and update siblings. However, it lacks specificity on deletion behavior (e.g., soft vs hard delete).

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 on when to use this tool versus alternatives like updating ticket status or moving. No preconditions or postconditions mentioned.

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

othos_ticket_getB

Get one ticket by ID using the fixed chat template format.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes
summaryMaxLengthNoMax summary length for ticket description. Default: 240.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must fully disclose behavior. It mentions a 'fixed chat template format' but does not explain what this format entails, nor does it confirm read-only status, auth requirements, or rate limits. This leaves significant ambiguity for a read operation.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. The key purpose and distinguishing detail are front-loaded, making it easy to scan.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is insufficient. It does not mention what the 'fixed chat template format' output looks like, whether summaryMaxLength truncates, or any error conditions. For a simple get tool, more context is needed for a complete understanding.

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

Parameters2/5

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

Schema coverage is 50% (only summaryMaxLength has a description). The tool description adds no additional meaning for ticketId beyond what the name implies. For summaryMaxLength, it repeats the schema's constraint without adding context about its impact on the response. The description does not compensate for the missing schema description of ticketId.

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 the action ('Get'), the resource ('one ticket'), and a distinguishing detail ('by ID using the fixed chat template format'). This effectively differentiates it from sibling tools like list or update.

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?

The description lacks guidance on when to use this tool versus alternatives such as othos_ticket_list_by_column or othos_ticket_get_template. No when-not-to-use or exclusionary criteria are provided.

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

othos_ticket_get_templateC

Get one ticket by ID and render it with the fixed chat template format.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes
summaryMaxLengthNoMax summary length for ticket description. Default: 240.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description only mentions 'render with the fixed chat template format' without explaining side effects, return format, or whether the ticket is modified. The read-only nature is implied but not explicit.

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

Conciseness5/5

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

The description is a single, concise sentence that directly states the tool's action and output format with no extraneous words.

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

Completeness3/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 could better explain what the rendered template looks like. The sibling set includes a plain get, so the template aspect is a key differentiator, but it's not fully expounded.

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

Parameters2/5

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

The schema includes a summaryMaxLength parameter with a description, but the tool description does not add any additional meaning for either parameter. It only mentions 'by ID,' which is already implied by the required ticketId.

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 clearly states it fetches a ticket by ID and renders it in a fixed chat template format, distinguishing it from the plain get_ticket sibling. However, it does not explicitly name the alternative tool or contrast use cases.

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 on when to use this vs the plain get_ticket or other template tools. The description implies chat template usage but doesn't state when not to use it or prerequisites.

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

othos_ticket_list_by_columnC

List tickets from a column using the fixed chat template format.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnIdYes
summaryMaxLengthNoMax summary length for ticket description. Default: 240.

TDQS

C2.4/5.0
Behavior1/5

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

With no annotations, the description must disclose all behavioral traits. It fails to mention whether the tool is read-only, requires authentication, or any side effects. The phrase 'fixed chat template format' is vague and does not explain output behavior.

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

Conciseness3/5

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

The description is very short (one sentence), which is not necessarily concise if it omits essential information. It is front-loaded with the core action but lacks structure for understanding usage details.

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

Completeness2/5

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

Given the complexity of listing tickets with a specific template format, the description should explain what the template is, how the output looks, and any defaults. It fails to provide enough context for an AI agent to use it correctly, especially with no output schema.

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

Parameters2/5

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

Schema coverage is only 50% (summaryMaxLength described, columnId not). The description adds no explanation for the parameters, not even the required columnId. It does not compensate for the missing schema descriptions.

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 clearly states the action (list tickets) and the resource (from a column). It adds context about using a 'fixed chat template format', which hints at a specific output format, though the term could be more precise. It distinguishes from siblings like othos_ticket_list_by_column_template.

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 on when to use this tool versus other ticket listing tools (e.g., othos_ticket_get, othos_ticket_list_by_column_template). No exclusions or prerequisites are mentioned.

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

othos_ticket_list_by_column_templateC

List tickets from a column using a fixed chat template: title, priority, id, status, assignees, due date, and summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnIdYes
summaryMaxLengthNoMax summary length for ticket description. Default: 240.

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so the description must fully disclose behavioral traits. It only states it lists tickets with specific fields, but does not mention side effects, permissions required, pagination, or whether it is read-only. The read-only nature is implied but not explicit.

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 a single sentence that conveys the core purpose efficiently without extraneous words. It is front-loaded with the action and resource.

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

Completeness2/5

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

Given no output schema and no annotations, the description is too sparse. It does not explain what the output looks like, how the template works, or typical use cases. For a listing tool, more context about the return format or sorting would be helpful.

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

Parameters2/5

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

With schema coverage at 50%, the description adds minimal meaning beyond the schema. 'columnId' is not described in the schema, and the description only indirectly implies it identifies the column. 'summaryMaxLength' has a schema description, but the tool description does not elaborate further. The description does not compensate for the undocumented parameter.

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 clearly states it lists tickets from a column with a fixed template including fields like title, priority, id, etc. It distinguishes itself from a sibling tool 'othos_ticket_list_by_column' by mentioning a fixed chat template, but does not explicitly differentiate when to use which.

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 on when to use this tool versus other list tools like 'othos_ticket_list_by_column' or when not to use it. The description lacks context about prerequisites or alternative approaches.

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

othos_ticket_moveA

Move a ticket to another column/order while preserving title, description, priority and due date.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes
targetColumnIdYes
targetOrderNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description should disclose behavioral traits. It mentions preserving certain fields, which is helpful, but lacks information on side effects, authentication needs, or failure modes.

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

Conciseness5/5

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

The description is a single concise sentence (15 words) that front-loads the action and key details, with no extraneous information.

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

Completeness2/5

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

Given the complexity of a move operation and lack of annotations/output schema, the description omits crucial context like prerequisites, success/error responses, and potential restrictions, making it incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. The description does not explain any parameter beyond obvious names, providing no additional semantics for ticketId, targetColumnId, or targetOrder.

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 the action (Move) and the resource (ticket), specifying what is preserved (title, description, priority, due date), distinguishing it from sibling tools like ticket_update or ticket_create.

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

Usage Guidelines3/5

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

The description implies the tool is for moving tickets, but does not provide explicit guidance on when to use it vs alternatives (e.g., when not to use, or comparisons with ticket_update for changing columns).

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

othos_ticket_unassign_memberB

Remove a member assignment from a ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes
memberIdYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the action without disclosing side effects, prerequisites, or return behavior.

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?

A single sentence with no wasted words, though it could benefit from additional context.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is too sparse for an agent to fully understand the tool's behavior.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning beyond the raw schema, leaving parameters like memberId unexplained.

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 uses a specific verb ('Remove') and resource ('member assignment') and distinguishes from the sibling tool 'othos_ticket_assign_member'.

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

Usage Guidelines3/5

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

The description implies the use case is unassigning a member from a ticket, but it does not provide explicit guidance on when to use versus alternatives or conditions.

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

othos_ticket_updateB

Update a ticket's details. Description may be TipTap JSON, Markdown, or plain text; the MCP always converts it to serialized TipTap JSON before sending it to the API.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYes
titleYes
descriptionNoOptional ticket description. You can send Markdown, plain text, or a serialized TipTap JSON doc string. The MCP converts non-TipTap input to TipTap JSON before sending. If omitted, the current description is preserved.
columnIdYes
priorityNoMedium
orderYes
isSubTicketNo
parentTicketIdNo
dueDateNoISO 8601 string (example: 2026-03-27T18:00:00Z).

TDQS

B3/5.0
Behavior3/5

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

Discloses that the MCP converts the description to TipTap JSON, which is beyond the schema. However, it does not clarify whether updates are partial or full, nor the outcome for other fields beyond description.

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

Conciseness5/5

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

Two sentences with no wasted words. First sentence states purpose, second adds critical behavioral detail about description conversion. Highly concise.

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

Completeness2/5

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

With 9 parameters, 4 required, and no output schema, the description is incomplete. It lacks return value info, error cases, and prerequisites. Only description parameter gets behavioral context.

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

Parameters2/5

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

Schema description coverage is only 22%. The description adds meaning for 'description' parameter (format conversion) but provides no additional semantics for the other 8 parameters, failing to compensate for low schema coverage.

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 clearly states 'Update a ticket's details', specifying the verb and resource. It does not explicitly differentiate from sibling tools like ticket_move or ticket_assign_member, but the focus on updating general details is clear.

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 on when to use this tool versus alternatives like ticket_move or ticket_assign_member. No mention of prerequisites or context for use.

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

TDQS

B3.2/5.0
Disambiguation4/5

Tools are grouped by resource and have distinct actions, but there is some overlap between `ticket_get` and `ticket_get_template`, and `ticket_list_by_column` and `ticket_list_by_column_template`. The descriptions clarify the differences, so only minor ambiguity.

Naming Consistency5/5

All tools follow a consistent `othos_{resource}_{action}` pattern using snake_case, making it predictable and easy to understand.

Tool Count4/5

With 34 tools covering auth, organizations, columns, projects, and tickets, the count is on the higher side but still reasonable for a full-featured project management API. No excessive bloat.

Completeness4/5

The toolset covers core CRUD operations for all major resources and supports authentication flows. Minor gaps exist, such as lack of ticket search/filter options beyond column listing, but essential workflows are complete.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Kaneo task management API. Lets your AI coding assistant manage tasks, projects, labels, and comments in Kaneo.
    317
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready MCP server that authenticates agents via OAuth 2.1 Bearer tokens, validates JWTs with JWKS, enforces tool-level scopes and roles, and logs the full delegation chain.

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/othos-io/othos-mcp-server'

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