Skip to main content
Glama
adepanges

TeamRetro MCP Server

by adepanges

TeamRetro MCP 서버

TeamRetro 통합을 위한 MCP(Model Context Protocol) 서버.

중요 참고 사항

비공식 MCP 서버

이 MCP 서버는 TeamRetro 서비스를 위한 비공식 커뮤니티 개발 인터페이스입니다. TeamRetro에서 개발하거나 보증하지는 않지만, TeamRetro 플랫폼에 대한 표준화된 액세스를 제공합니다.

공식 API 통합

서버는 TeamRetro의 공식 공개 API에 직접 연결됩니다.

  • TeamRetro의 API 사양에서 문서화된 엔드포인트를 사용합니다.

  • API 규정 준수 및 버전 추적을 완벽하게 유지합니다.

  • 필요한 모든 인증 방법을 구현합니다.

  • 수정 없이 원래 API 응답을 보존합니다.

API 문서 소스

모든 API 엔드포인트와 기능은 TeamRetro의 공식 문서를 기반으로 합니다.

Related MCP server: MCP Server with Authentication

사용 방법

NPX(추천, 간편 설정)

지엑스피1

소스 코드에서

  1. 저장소를 복제하고 종속성을 설치한 다음 프로젝트를 빌드합니다.

git clone https://github.com/adepanges/teamretro-mcp-server.git
cd teamretro-mcp-server
npm install
npm run build

AI 클라이언트에서 실행

  1. 다음 설정으로 AI 클라이언트를 구성하세요.

{
  "mcpServers": {
    "teamretro-mcp-server": {
      "command": "node",
      "args": ["/path/to/teamretro-mcp-server/dist/index.js"],
      "env": {
        "TEAMRETRO_AUTH_TYPE": "apiKey",
        "TEAMRETRO_API_KEY": "your-api-key"
      }
    }
  }
}

Inspector로 실행

  1. .env.example``.env 로 복사하고 필요에 맞게 수정하여 환경 변수를 구성합니다.

  2. 검사기를 사용하여 서버를 실행합니다.

npm run inspector

환경 변수 예제

기본 URL

TeamRetro API의 기본 URL은 TEAMRETRO_BASE_URL 환경 변수를 사용하여 설정할 수 있습니다. 기본적으로 https://api.teamretro.com 으로 설정되어 있습니다.

{
  "env": {
    "TEAMRETRO_BASE_URL": "https://api.teamretro.com"
  }
}

API 키 인증

{
  "env": {
    "TEAMRETRO_AUTH_TYPE": "apiKey",
    "TEAMRETRO_API_KEY": "your-api-key"
  }
}

사용 가능한 도구

서버는 다음과 같은 도구를 제공합니다.

사용자

  • list_users : 오프셋 및 제한 매개변수를 사용하여 페이지 매김을 통해 사용자를 나열하고 반환되는 결과 수를 제어합니다.

  • add_user : 이메일 주소로 새 사용자를 추가하거나 기존 사용자 정보를 업데이트합니다. 이때 선택적 name과 emailAddress를 지정합니다.

  • update_user : 현재 이메일을 제공하여 이름, 이메일 주소 등 기존 사용자의 세부 정보를 업데이트합니다.

  • delete_user : 이메일 주소로 사용자를 삭제합니다.

  • get_user : 이메일 주소로 단일 사용자에 대한 자세한 정보를 검색합니다.

팀

  • list_teams : 오프셋 및 제한 매개변수를 사용하여 태그 및 ID로 필터링하고 페이징하여 TeamRetro의 팀을 나열합니다.

  • detail_team : 고유 ID로 단일 팀에 대한 자세한 정보를 검색합니다.

  • update_team : 팀 ID를 제공하여 기존 팀의 세부 정보(예: 이름 및 관련 태그)를 업데이트합니다.

  • create_team : 필수 이름, 선택적 태그 및 멤버를 사용하여 새 팀을 만듭니다.

  • delete_team : ID로 기존 팀을 삭제합니다.

팀원들

  • list_team_members : 오프셋 및 제한에 대한 페이지 매김 제어를 사용하여 지정된 팀 ID에 대한 팀 구성원 목록을 검색합니다.

  • get_team_member : 지정된 팀 내에서 이메일 주소로 팀원을 가져옵니다.

  • update_team_member : 지정된 팀 내에서 이메일 주소를 사용하여 이름이나 팀 관리자 상태와 같은 팀 구성원의 세부 정보를 업데이트합니다.

  • remove_team_member : 이메일 주소로 팀에서 팀원을 제거합니다.

  • add_team_member : 이메일 주소로 팀에 새 팀원을 추가합니다. 팀 관리자 상태를 선택적으로 지정할 수 있습니다.

행위

  • list_actions : 팀 태그 및 팀 ID로 선택적 필터링과 오프셋 및 제한에 대한 페이지 매김 제어를 통해 TeamRetro에서 작업 목록을 검색합니다.

  • create_action : 팀 ID, 직함, 마감일, 완료 상태, 할당된 사용자 등 필수 세부 정보를 사용하여 TeamRetro에서 새 작업을 만듭니다.

  • get_action : TeamRetro에서 고유 ID로 단일 작업을 가져옵니다.

  • update_action : 제목, 마감일, 완료 상태, 우선 순위, 할당된 사용자 등의 새로운 세부 정보로 TeamRetro의 기존 작업을 업데이트합니다.

  • delete_action : TeamRetro에서 작업 ID로 기존 작업을 삭제합니다.

계약

  • list_agreements : 팀 태그 및 팀 ID로 선택적 필터링과 페이지 매김 제어를 통해 TeamRetro의 계약 목록을 나열합니다.

  • create_agreement : 소속 팀과 제목을 지정하여 TeamRetro에 새 계약을 만듭니다.

  • get_agreement : 고유 식별자로 단일 계약을 검색합니다.

  • update_agreement : 기존 계약의 세부 정보(예: 제목 또는 관련 팀)를 업데이트합니다.

  • delete_agreement : 고유 식별자를 지정하여 기존 계약을 삭제합니다.

건강 검진

  • list_health_checks : TeamRetro의 상태 검사를 나열하며 상태 모델 ID, 팀 태그, 팀 ID로 필터링하고 페이지 매김 제어 기능을 제공합니다.

  • get_health_check : 선택적 속성을 포함하여 고유 식별자로 단일 상태 검사를 검색합니다.

  • delete_health_check : 고유 식별자를 지정하여 기존 상태 검사를 삭제합니다.

건강 모델

  • list_health_models : 페이지네이션 컨트롤을 사용하여 TeamRetro의 건강 모델 목록 표시

  • get_health_model : 고유 식별자로 단일 건강 모델을 검색합니다.

회고록

  • list_retrospectives : 오프셋 및 제한 매개변수를 사용하여 팀 태그 및 ID로 필터링하고 페이지 번호를 지정하여 TeamRetro의 회고록을 나열합니다.

  • get_retrospective : 고유 ID로 단일 회고에 대한 자세한 정보를 검색합니다.

  • delete_retrospective : ID로 기존 회고록을 삭제합니다.

변경 사항

변경 사항 및 업데이트에 대한 자세한 목록은 CHANGELOG.md를 참조하세요.

Available Tools

11 tools
add_userC

Add or update a user by email

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
nameNo

TDQS

C2.8/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 burden but only states the action without behavioral details. It doesn't disclose whether this requires admin permissions, if it's idempotent, what happens on conflicts, or the response format. For a mutation tool with zero annotation coverage, this is inadequate.

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, efficient sentence with no wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavior, error cases, return values, and differentiation from siblings, making it insufficient for reliable agent use.

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 but adds minimal parameter context. It mentions 'by email' which hints at the 'email' parameter but doesn't explain the 'name' parameter or their semantics (e.g., is name optional for updates?). This leaves significant gaps in parameter understanding.

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 ('Add or update') and target resource ('a user by email'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'create_user' (which doesn't exist) or 'update_user' (which does exist), missing explicit sibling distinction.

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 'update_user' or 'delete_user'. The description implies it can handle both addition and update, but doesn't specify scenarios or prerequisites for choosing it over other user management tools.

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

create_teamC

Create a new team with optional members and tags

ParametersJSON Schema
NameRequiredDescriptionDefault
membersNo{ email: string, name?: string, teamAdmin?: boolean }[]
nameYesstring
tagsNostring[]

TDQS

C2.9/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 states the tool creates a team but doesn't disclose behavioral traits like required permissions, whether it's idempotent, what happens on duplicate team names, rate limits, or what the return value contains. For a creation tool with zero annotation coverage, 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.

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose ('Create a new team') and adds only necessary qualifiers ('with optional members and tags'). Every word earns its place.

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 (a creation tool with 3 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions, idempotency, or error handling, and doesn't explain what the tool returns. For a tool that creates resources, this leaves critical gaps for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters (name, members, tags) with their types, constraints, and descriptions. The description adds minimal value by noting that members and tags are optional, but this is already implied by the schema (only 'name' is required). Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('Create') and resource ('a new team'), and mentions optional features ('with optional members and tags'). It doesn't explicitly differentiate from siblings like 'add_user' or 'update_team', but the verb 'Create' is specific enough to indicate this is for initial team creation rather than modification.

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. With siblings like 'add_user' (for adding members to existing teams), 'update_team' (for modifying teams), and 'list_teams' (for viewing), the description doesn't help an agent choose between these tools or indicate prerequisites (e.g., whether you need admin permissions).

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

delete_teamC

Delete an existing team

ParametersJSON Schema
NameRequiredDescriptionDefault
teamIdYesstring

TDQS

C2.9/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 states 'delete' but doesn't disclose if this is permanent, reversible, requires admin permissions, affects associated data (e.g., members, projects), or has side effects. For a destructive tool with zero annotation coverage, this is a significant gap in 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.

Conciseness5/5

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

The description is a single, direct sentence with zero waste. It is appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary elaboration.

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 destructive tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as irreversible consequences, permission requirements, error conditions, or return values. Given the complexity and risk of deletion, more behavioral and usage details are needed.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'teamId' documented in the schema (including pattern and type). The description adds no parameter-specific information beyond implying a team identifier is needed. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

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 'Delete an existing team' clearly states the action (delete) and target resource (team). It distinguishes from siblings like 'create_team' or 'update_team' by specifying deletion. However, it lacks specificity about what 'delete' entails (e.g., permanent removal vs archiving).

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. It doesn't mention prerequisites (e.g., team must be empty), exclusions (e.g., cannot delete default teams), or related tools like 'detail_team' for verification. The description alone offers no usage context.

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

delete_userC

Delete a user by email

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesstring

TDQS

C2.9/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 of behavioral disclosure. While 'Delete' implies a destructive mutation, the description doesn't specify whether this action is reversible, what permissions are needed, or what happens to associated data. This leaves significant gaps in understanding the tool's 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?

The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. Every word contributes to understanding the tool's basic function efficiently.

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 that this is a destructive tool with no annotations and no output schema, the description is insufficiently complete. It lacks critical details like confirmation requirements, error handling, or return values, leaving the agent with incomplete context for safe and effective use.

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?

The input schema has 100% description coverage, with the 'email' parameter fully documented in the schema itself. The description adds no additional semantic information beyond what the schema provides, such as format examples or constraints, so it meets the baseline for high 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 the action ('Delete') and the resource ('a user by email'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'delete_team' or 'update_user' beyond the obvious resource difference, which prevents a perfect score.

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 provides no guidance on when to use this tool versus alternatives like 'update_user' or 'get_user', nor does it mention prerequisites such as user existence or permissions required. It simply states what the tool does without contextual usage information.

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

detail_teamB

Get a single team by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
teamIdYesstring

TDQS

B3.1/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 of behavioral disclosure. It states the tool retrieves data ('Get'), implying a read operation, but doesn't mention whether it requires authentication, has rate limits, returns error conditions, or what the output format looks like. For a tool with zero annotation coverage, 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.

Conciseness5/5

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

The description is a single, efficient sentence that states the core purpose without any fluff. It's front-loaded with the essential information ('Get a single team by ID'), making it immediately clear. Every word earns its place, with no wasted verbiage.

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 simple single-parameter input schema with full coverage and no output schema, the description is minimally adequate. It covers the basic purpose but lacks behavioral details like authentication needs, error handling, or output format. For a read operation with no annotations, it should ideally provide more context about what 'Get' entails beyond just the action.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'teamId' fully documented in the schema including its type, pattern, and requirement. The description adds no additional parameter information beyond what's in the schema, such as explaining what a team ID represents or where to find it. Baseline 3 is appropriate when the schema does all the work.

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 ('Get') and resource ('a single team by ID'), making the purpose immediately understandable. It distinguishes this from list_teams by specifying retrieval of a single team rather than multiple teams. However, it doesn't explicitly contrast with other sibling tools like get_user or list_team_members, keeping it from a perfect score.

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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use detail_team versus list_teams, get_user, or list_team_members, nor does it specify prerequisites like needing a team ID. Without any usage context, the agent must infer when this tool is appropriate.

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

get_userC

Get a single user by email

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesstring

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 burden for behavioral disclosure. It states what the tool does but doesn't describe important behavioral aspects: whether it's a read-only operation, what happens if the user doesn't exist (error handling), response format, or any rate limits. The description is minimal and lacks operational context.

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 a single sentence that directly states the tool's purpose. Every word serves a functional purpose with zero redundancy or unnecessary elaboration, making it perfectly front-loaded and efficient.

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 no annotations and no output schema, the description is insufficiently complete. It doesn't explain what information is returned about the user, how errors are handled, or any operational constraints. Given the lack of structured metadata, the description should provide more context about the tool's behavior and expected outcomes.

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?

The description mentions the single parameter ('by email') which aligns with the schema's 100% coverage. However, it doesn't add meaningful semantic context beyond what the schema already provides through the email format validation. No additional guidance is given about email format requirements or edge cases.

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 ('Get') and resource ('a single user') with the specific lookup method ('by email'), which distinguishes it from sibling tools like 'list_users' or 'detail_team'. However, it doesn't explicitly differentiate from similar tools like 'update_user' or 'delete_user' that also operate on users.

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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer 'get_user' over 'list_users' for retrieving user information, nor does it specify prerequisites like authentication requirements or access permissions.

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

list_team_membersC

List team members with pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNonumber
offsetNonumber
teamIdYesstring

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 the full burden of behavioral disclosure. It mentions pagination, which is useful context, but fails to describe other critical behaviors such as whether this is a read-only operation (implied by 'List' but not stated), what permissions are required, rate limits, or the format of returned data. For a tool with no annotation coverage, this leaves significant gaps.

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, efficient sentence with zero waste—'List team members with pagination'—front-loading the core action and key feature. Every word earns its place, making it highly concise and well-structured for quick comprehension.

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 complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral traits, output format, error handling, and usage context relative to siblings. While concise, it doesn't provide enough information for an agent to fully understand how to invoke and interpret results, especially with no output schema to compensate.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (teamId, limit, offset) with descriptions like 'number' and 'string'. The description adds no additional meaning beyond implying pagination through 'limit' and 'offset', but doesn't clarify parameter interactions or usage details. Baseline 3 is appropriate as the schema does the heavy lifting.

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 ('List') and resource ('team members'), making the purpose immediately understandable. It distinguishes from siblings like 'list_users' by specifying team members rather than all users, though it doesn't explicitly contrast with 'detail_team' which might provide team details rather than member listings.

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 provides no guidance on when to use this tool versus alternatives like 'list_users' or 'detail_team'. It mentions pagination, which hints at usage for large datasets, but lacks explicit when/when-not instructions or named alternatives, leaving the agent to infer context from sibling tool names alone.

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

list_teamsB

List teams from TeamRetro with filtering and pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNonumber
offsetNonumber
teamIdsNostring,string,...
teamTagsNostring,string,...

TDQS

B3.2/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 burden for behavioral disclosure. It mentions 'filtering and pagination' which hints at capabilities, but fails to describe critical behaviors: whether this is a read-only operation, what authentication is required, rate limits, error conditions, or the structure of returned data. For a tool with 4 parameters and no output schema, this leaves significant gaps in understanding how the tool behaves.

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, efficient sentence that front-loads the core purpose ('List teams from TeamRetro') followed by key capabilities ('with filtering and pagination'). Every word serves a purpose with zero redundancy or unnecessary elaboration, making it optimally concise for its informational content.

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 4 parameters, no annotations, and no output schema, the description is insufficiently complete. While concise, it fails to address critical context: what authentication is needed, whether this is a safe read operation, what the return format looks like, or how filtering parameters interact. For a list tool with filtering capabilities, users need more guidance on expected behavior and results.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters (limit, offset, teamIds, teamTags) with their types, constraints, and defaults. The description adds marginal value by mentioning 'filtering and pagination' which aligns with teamIds/teamTags and limit/offset parameters respectively, but provides no additional semantic context beyond what the schema already specifies.

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 ('List') and resource ('teams from TeamRetro'), making the purpose immediately understandable. It distinguishes from siblings like 'detail_team' (which shows details of a specific team) and 'create_team' (which creates new teams). However, it doesn't explicitly differentiate from 'list_team_members' (which lists members within teams), leaving some ambiguity.

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 by mentioning 'filtering and pagination', suggesting this tool is for retrieving multiple teams with optional constraints. However, it provides no explicit guidance on when to use this versus alternatives like 'detail_team' for single teams or 'list_team_members' for team composition. The context is implied but not clearly articulated.

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

list_usersC

List users with pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNonumber
offsetNonumber

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 the full burden of behavioral disclosure. It mentions 'pagination' which hints at a read-only, list operation, but doesn't specify whether this requires authentication, rate limits, or what the output format looks like (e.g., array of user objects). For a tool with zero annotation coverage, 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 a single, efficient sentence with zero waste. It's front-loaded with the core purpose ('List users') and adds only essential context ('with pagination'). Every word earns its place, making it highly concise and well-structured.

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 complexity (a list operation with pagination), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., user objects, total count), authentication needs, or error conditions. For a tool with no structured behavioral data, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the 'limit' and 'offset' parameters with defaults and constraints. The description adds no additional meaning beyond implying pagination, which is already clear from the parameter names. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('List') and resource ('users'), making the purpose immediately understandable. It distinguishes from siblings like 'get_user' (singular) and 'add_user' (creation). However, it doesn't specify what kind of listing this is (e.g., all users, filtered users) beyond pagination.

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 provides no guidance on when to use this tool versus alternatives like 'get_user' (for single user details) or 'list_team_members' (for users within a team). There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from tool names alone.

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

update_teamC

Update an existing team

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesstring
tagsNostring[]
teamIdYesstring

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 the full burden of behavioral disclosure. It states this is an update operation, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, error conditions, or response format. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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 mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., side effects, auth needs), response format, and usage context, leaving significant gaps for an agent to operate safely and effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the three parameters (teamId, name, tags) with descriptions and constraints. The description adds no parameter-specific information beyond what's in the schema, meeting the baseline for high 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 'Update an existing team' clearly states the verb (update) and resource (team), distinguishing it from siblings like create_team or delete_team. However, it doesn't specify what aspects of the team can be updated (e.g., name, tags), which would make it more specific.

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 provides no guidance on when to use this tool versus alternatives like create_team or update_user. It doesn't mention prerequisites (e.g., needing an existing teamId) or exclusions, leaving the agent to infer usage from the tool name alone.

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

update_userC

Update an existing user's information

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesstring
emailAddressYesstring
nameYesstring

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 the full burden of behavioral disclosure. It states this is an update operation (implying mutation), but doesn't disclose any behavioral traits such as required permissions, whether changes are reversible, error conditions, or what happens to unspecified fields. This is a significant gap 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.

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a straightforward update operation and is perfectly front-loaded with the essential 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?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens during the update (e.g., partial updates, validation), what the response contains, or potential side effects. The 100% schema coverage helps with parameters but doesn't compensate for the lack of behavioral context.

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?

The schema description coverage is 100%, so the schema already documents all three parameters (email, emailAddress, name) with their types and formats. The description adds no additional meaning about what these parameters represent beyond the generic 'user's information' reference, meeting the baseline for high 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 the action ('Update') and resource ('an existing user's information'), making the purpose immediately understandable. It distinguishes from sibling tools like 'add_user' (creation) and 'delete_user' (deletion), though it doesn't explicitly differentiate from 'update_team' which updates a different resource type.

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 provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., user must exist), when not to use it, or how it differs from similar tools like 'update_team' or 'add_user' beyond the obvious resource difference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv1.0.0
    • First observedadd_user
    • First observedcreate_team
    • First observeddelete_team
    • First observeddelete_user
    • First observeddetail_team
    • First observedget_user
    • First observedlist_team_members
    • First observedlist_teams
    • First observedlist_users
    • First observedupdate_team
    • First observedupdate_user

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation5/5

Every tool has a clearly distinct purpose targeting specific resources and actions, with no ambiguity. For example, add_user vs. update_user are differentiated by create/update semantics, and list_team_members is distinct from list_teams in scope. The descriptions reinforce these distinctions, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case, such as create_team, update_user, and list_teams. This predictability aids agent understanding and tool selection, with no deviations in naming conventions across the set.

Tool Count5/5

With 11 tools, the count is well-scoped for managing teams and users in a TeamRetro domain. Each tool earns its place by covering essential operations like CRUD for both resources, plus specific actions like listing members, without being excessive or sparse.

Completeness5/5

The tool set provides complete CRUD and lifecycle coverage for teams and users, including create, read, update, delete, and list operations. There are no obvious gaps, such as missing pagination or filtering, and agents can handle typical workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    MCP server for integrating with Bitbucket Cloud and Server APIs, enabling AI assistants to interact with repositories, pull requests, pipelines, and more.
    59
    51 npm
    3
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Implements a secure MCP server with API Key and JWT authentication, providing tools like echo, login, secure_action, and admin_action. Includes MCP Inspector integration for testing and debugging.
    1
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive, production-ready MCP server for seamless Jira Cloud integration, enabling AI agents and custom applications to manage boards, issues, users, projects, and workflows via natural language commands.
    490 npm
    4
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server that wraps the Jira REST API v3, enabling issue management, searching, commenting, and transitions for openmrs.atlassian.net via Basic Auth.
    1
    -