Skip to main content
Glama

dooray-mcp-js

Dooray MCP server implemented in Node.js. It follows the tool names and API behavior of dooray-go/dooray-mcp, but does not require Go or Homebrew.

Requirements

  • Node.js 18 or newer

  • Dooray personal API token

Related MCP server: gdoc-comments

Official Documentation

Scope

This MCP server does not wrap every Dooray API. It focuses on frequently used account, calendar, project, post, attachment, and messenger APIs.

Most /admin/v1 and /admin/v2 administration APIs are intentionally not exposed by default, especially write-capable administration endpoints.

Read-only mode

Dooray personal API tokens are not issued with separate read-only and write permissions. A token that can call write APIs may still have those permissions at the Dooray API level.

For safer installations, this server provides a read-only mode at the MCP tool layer. In read-only mode, write-capable tools are not exposed in tools/list and cannot be called through tools/call.

Run

npx -y dooray-mcp-js --token "{personal-token}"

You can also use an environment variable:

DOORAY_TOKEN="{personal-token}" npx -y dooray-mcp-js

Run with only read-only tools exposed:

DOORAY_TOKEN="{personal-token}" npx -y dooray-mcp-js --mode read-only

Codex

Register the package directly with Codex:

codex mcp add dooray-mcp-js --env DOORAY_TOKEN="$DOORAY_TOKEN" -- npx -y dooray-mcp-js

If the token is not already in DOORAY_TOKEN, pass it when registering:

codex mcp add dooray-mcp-js --env DOORAY_TOKEN="{personal-token}" -- npx -y dooray-mcp-js

The server reads DOORAY_TOKEN when Codex starts it, so the token does not need to be included in the command arguments.

Codex read-only registration

Register a second MCP server with the same package and token, but expose only read-only tools:

codex mcp add dooray-mcp-js-read-only --env DOORAY_TOKEN="$DOORAY_TOKEN" -- npx -y dooray-mcp-js --mode read-only

You can also set the mode through an environment variable:

codex mcp add dooray-mcp-js-read-only --env DOORAY_TOKEN="$DOORAY_TOKEN" --env DOORAY_MCP_MODE=read-only -- npx -y dooray-mcp-js

Claude Desktop

{
  "mcpServers": {
    "dooray-mcp-js": {
      "command": "npx",
      "args": ["-y", "dooray-mcp-js"],
      "env": {
        "DOORAY_TOKEN": "{personal-token}"
      }
    }
  }
}

Read-only Claude Desktop configuration:

{
  "mcpServers": {
    "dooray-mcp-js-read-only": {
      "command": "npx",
      "args": ["-y", "dooray-mcp-js", "--mode", "read-only"],
      "env": {
        "DOORAY_TOKEN": "{personal-token}"
      }
    }
  }
}

Claude Code

claude mcp add dooray-mcp-js --env DOORAY_TOKEN="{personal-token}" -- npx -y dooray-mcp-js

Read-only registration:

claude mcp add dooray-mcp-js-read-only --env DOORAY_TOKEN="{personal-token}" -- npx -y dooray-mcp-js --mode read-only

Project Structure

dooray-mcp-js/
├── src/
│   └── index.js      # MCP server entry point
├── package.json
└── README.md

Local development

When working from a cloned repository, run the local entry point directly:

DOORAY_TOKEN="{personal-token}" node ./src/index.js

Tools

The dooray-mcp-js package exposes all currently implemented tools. The current server has no delete tool yet.

  • dooray_messenger

  • dooray_calendar_calendars

  • dooray_calendar_events

  • dooray_calendar_post_event

  • dooray_account_members

  • dooray_account_member

  • dooray_project

  • dooray_posts (finds task posts and exposes the task body plus fileIdList, which can contain inline body images/files)

  • dooray_post_logs (find comments and activity logs for a post)

  • dooray_post_log (find one comment or activity log by ID)

  • dooray_post_log_create (add a comment to a post; body is { "mimeType": "text/x-markdown", "content": "..." })

  • dooray_post_log_update (update a comment or activity log with the same body format)

  • dooray_post_files (lists regular attachments; an empty result or AUTH_FORBIDDEN_ERROR does not determine whether fileIdList items can be downloaded)

  • dooray_post_file_download (downloads IDs from dooray_posts.fileIdList, including inline body images, or regular attachment file IDs with media=raw; authorization is limited to the configured API origin and HTTPS file-api.dooray.com)

  • os

Reading task URLs and body files

Use this workflow when a request asks for a Dooray task body, an image embedded in the body, or a file referenced by the body. Comments and activity logs are a separate resource and are not required for this workflow.

  1. Parse the task URL. /task/{projectId}/{postId} provides both IDs directly. The legacy /project/tasks/{postId} form provides only postId, so its trailing number must not be used as projectId.

  2. Resolve the project only for the legacy URL form. Call dooray_project with operation=find_projects and the required type, scope, and state filters. Repeat the relevant filter combinations and continue through page values with size up to 100 until every result page has been checked.

  3. Search for the matching post. Call dooray_posts with the project ID from the new URL form or the candidate project IDs discovered for a legacy URL. Use size up to 100, continue through page values as needed, and match the returned post ID to the URL's postId. A lookup under one incorrect project ID or only the first result page is not evidence that the task or its files are unavailable.

  4. Read the task body from the matching dooray_posts result. Do not call dooray_post_logs unless the user explicitly asks for comments or activity history.

  5. If the matching post contains fileIdList, call dooray_post_file_download once for every listed ID using the same verified projectId and postId. These IDs commonly represent images embedded in the task body, but can represent other body files as well.

  6. Inspect the returned local filePath with an image viewer or an appropriate document parser. The download result also includes fileName, mimeType, size, and temporary.

dooray_post_files is exposed for listing regular attachments, but it is separate from the fileIdList path used by body files. It can return an empty list or AUTH_FORBIDDEN_ERROR even when direct downloads from dooray_posts.fileIdList work. Therefore, neither outcome should be reported as proof that a body image or file is inaccessible. A fetch failed error or timeout from dooray_post_file_download is also a transport failure, not a permission result, and should be retried or reported separately. Report a file as forbidden or missing only when the direct download returns a terminal Dooray response such as 403 or 404 with the verified projectId, postId, and fileId.

Read-only mode tools

When --mode read-only or DOORAY_MCP_MODE=read-only is set, write-capable Dooray tools are not exposed in tools/list and cannot be called through tools/call.

Exposed in read-only mode:

  • dooray_calendar_calendars

  • dooray_calendar_events

  • dooray_account_members

  • dooray_account_member

  • dooray_project

  • dooray_posts

  • dooray_post_logs

  • dooray_post_log

  • dooray_post_files

  • dooray_post_file_download

  • os

Hidden in read-only mode:

  • dooray_messenger

  • dooray_calendar_post_event

  • dooray_post_log_create

  • dooray_post_log_update

Options

  • --token: Dooray personal API token. Defaults to DOORAY_TOKEN.

  • --endpoint: Dooray API endpoint. Defaults to https://api.dooray.com.

  • --mode: tool exposure mode. Use full or read-only. Defaults to DOORAY_MCP_MODE or full.

Available Tools

15 tools
dooray_account_memberC

find dooray account members by id

ParametersJSON Schema
NameRequiredDescriptionDefault
member_idYesmember id
operationYesThe operation to perform

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. It only says 'find by id' and does not disclose return format, error behavior, permission implications, or that the operation is a read-only lookup. It is minimally transparent but lacks meaningful behavioral context.

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 short sentence with no filler, front-loading the action and identifying scope. It is appropriately concise for a simple tool, though it sacrifices some useful context for brevity.

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 two-parameter tool with a fixed enum and no output schema, the description is minimally adequate: an agent can infer that providing a member_id and the find_member_details operation will perform the lookup. However, it omits return-value expectations and alternative-tool routing, leaving some gaps in 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?

Schema description coverage is 100%, so the baseline is 3. The description adds little beyond the schema: 'by id' maps to member_id, but member_id is already documented as 'member id' and operation is documented as 'The operation to perform'. No additional parameter meaning is 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 states a specific verb ('find') and resource ('dooray account members') with a filter ('by id'), making the tool's core purpose clear. It does not explicitly differentiate from the sibling dooray_account_members, but the singular phrasing and id-based lookup imply a detail lookup versus a list operation.

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 gives no guidance on when to use this tool versus dooray_account_members or other sibling tools. There is no mention of prerequisites, context, or exclusions, so an agent must infer usage from the operation enum and tool names.

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

dooray_account_membersA

find dooray account members by name or userCode

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe operation to perform
user_codeNouser code
member_nameYesmember name

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden; 'find' signals a non-mutating lookup and the search criteria are stated. It does not disclose output shape, exact versus partial matching, or authorization expectations, leaving some 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, front-loaded sentence with no filler or repetition. Every word contributes to purpose and usage, and there is no 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?

There is no output schema and no annotations, so the description must compensate by explaining the result and invocation context. It does not mention the required operation value ('find_member_id'), what the tool returns, or how multiple matches are handled, leaving important 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 each parameter. The description adds limited value by tying the member_name and user_code parameters to the 'by name or userCode' search intent, but it does not add format, matching, or optionality details 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 uses a specific verb ('find'), a concrete resource ('dooray account members'), and a clear lookup criterion ('by name or userCode'). It distinguishes this tool from sibling tools like dooray_account_member by framing it as a search by name or user code rather than a direct member operation.

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 phrase 'by name or userCode' implies the tool should be used when locating members by those identifiers. However, it does not explicitly state when to avoid this tool or name the alternative to use when other criteria, such as member ID, are available.

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

dooray_calendar_calendarsC

find dooray calendars

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe operation to perform

TDQS

C2.6/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full burden of disclosing side effects and return behavior. 'Find' weakly implies a read-only lookup, but the description does not state whether this mutates anything, requires permissions, returns a list, or could fail.

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 short with no wasted words, but it is under-specified rather than tightly informative. It lacks structure that would make the tool's behavior and output immediately scannable for an agent.

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 an operation with one fixed enum value, the description is minimally viable, but there is no output schema and the description does not describe what a successful response contains. An agent would have to guess whether the tool returns all calendars or some filtered subset.

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% and the only parameter is an enum with description 'The operation to perform'. The tool description adds no parameter-specific meaning, but the schema already fully documents the parameter, so the baseline of 3 applies.

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

Purpose3/5

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

The description uses a verb and a resource ('find dooray calendars'), which points to the calendar collection and distinguishes it from calendar event tools at a noun level. However, 'find' is vague—it does not say whether this lists all calendars, searches, or retrieves a single calendar—so the purpose is only partially 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 is given about when to call this tool instead of siblings such as dooray_calendar_events or dooray_calendar_post_event. The context in which find_calendars should be preferred is left entirely to inference.

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

dooray_calendar_eventsC

find dooray events of calendars

ParametersJSON Schema
NameRequiredDescriptionDefault
timeMaxYesexclusive end time in ISO 8601, e.g. 2025-04-12T00:00:00+09:00
timeMinYesinclusive start time in ISO 8601, e.g. 2025-04-11T00:00:00+09:00
calendarsNocalendar ids separated by commas
operationYesThe operation to perform

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'find'. It does not indicate whether this is a read-only operation, what the response shape is, how time boundaries are handled, or whether recurring events or attendee information are included.

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

Conciseness2/5

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

The description is extremely short, but it is under-specified rather than effectively concise. It contains a single phrase and omits important context about required operation, expected output, and selection criteria, which should have been included in a tool description.

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, no output schema, and an enum operation parameter, the description should explain what the agent can expect and when to invoke it. It provides none of that, leaving an agent to infer behavior almost entirely from the schema.

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 timeMin, timeMax, calendars, and operation. The description adds no additional parameter meaning, which keeps this at the baseline for schemas that already carry the explanatory load.

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 states a specific verb ('find') and resource ('dooray events of calendars'), making the core read-oriented purpose clear. It does not explicitly differentiate from sibling tools like dooray_calendar_calendars or dooray_calendar_post_event, but the word 'events' and 'calendars' provide enough directional clarity.

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 about when to use this tool over alternatives, such as dooray_calendar_calendars for listing calendars or dooray_calendar_post_event for creating events. The description also does not mention the time range requirement or that this is the read/search path for calendar events.

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

dooray_calendar_post_eventC

register dooray events on a calendar

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesevent content
endedAtYesevent end time in ISO 8601
subjectYesevent subject
operationYesThe operation to perform
startedAtYesevent start time in ISO 8601
calendarIdNocalendar id to register an event
wholeDayFlagNoset true for whole day event
recurrenceBydayNorecurrence by day, e.g. MO,TU,WE
recurrenceUntilNorecurrence end date in ISO 8601
recurrenceBymonthNorecurrence by month, 1-12
recurrenceIntervalNorecurrence interval, default is 1
recurrenceFrequencyNorecurrence frequency
recurrenceBymonthdayNorecurrence by day of month, 1-31
recurrenceTimezoneNameNotimezone for recurrence rule, default Asia/Seoul

TDQS

C2.8/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 the action 'register' without mentioning side effects, return values, error conditions, permissions, or reentrancy. This is minimal and leaves the agent guessing about the tool's actual 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, concise sentence with no fluff. However, it is undersized for a tool with 14 parameters and complex recurrence options. While it is not verbose, it does not earn its place by providing sufficient information, so it is only marginally acceptable.

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?

The tool has 14 parameters, including recurrence rules, timezones, and calendar IDs, but no output schema or annotations. The description covers only the basic action, leaving out any explanation of required fields, optional behaviors, or how recurrence is handled. This is inadequate for the complexity of the tool.

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 already has descriptions for all 14 parameters (100% coverage), so the description does not need to repeat them. However, the tool description adds no additional meaning beyond the schema, and the schema descriptions themselves are terse. Given the high schema coverage, a baseline score of 3 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 uses the verb 'register' with a clear resource ('dooray events') and location ('on a calendar'), conveying that this tool creates calendar events. It is distinct enough from siblings like dooray_calendar_events, which likely list events, but it does not explicitly differentiate itself.

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 such as dooray_calendar_events or dooray_calendar_calendars. There is no mention of prerequisites, context, or conditions that would help an agent choose this tool appropriately.

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

dooray_messengerB

send message to dooray messenger

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesrecipient organizationMemberId
messageYesmessage to send
operationYesThe operation to perform

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 carries the full burden of disclosing behavioral traits. It only states 'send message' implying a side effect, but does not mention authentication requirements, whether the operation is idempotent, what happens on failure, or any return behavior. This is insufficient for a mutation-like 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, front-loaded sentence with no fluff or redundancy. It is appropriately sized for such a simple tool, though it adds no extra explanatory detail that could make it more helpful.

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 tool is simple with three well-documented parameters and no output schema. The description covers the basic purpose, but lacks details about what the operation returns, how recipients are identified, and any usage context. Given the simplicity, this is adequate but leaves room for improvement.

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 clear descriptions for 'to' (recipient organizationMemberId) and 'message' (message to send). The description adds no additional parameter context, but the schema alone adequately documents the parameters, warranting the baseline score.

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 'send message to dooray messenger' uses a specific verb (send) and resource (dooray messenger), clearly stating the tool's function. It distinguishes itself from sibling tools which are focused on projects, calendars, and posts, not messaging.

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, when not to use it, or any prerequisites. It simply states the action, leaving the agent to infer appropriate 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.

dooray_post_file_downloadA

download raw content of a Dooray post attachment through authenticated redirects to a local temporary directory

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYesfile id
postIdYespost id
fileNameNooptional file name used when the response does not provide one
operationYesThe operation to perform
projectIdYesproject id

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses two meaningful behaviors: authenticated redirects and writing to a local temporary directory. However, it does not mention side effects (e.g., whether the temp file persists), return value shape, error handling, or auth prerequisites beyond 'authenticated', leaving 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 sentence, front-loaded with the action ('download'), and every word contributes meaning. It is concise and free of redundancy.

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?

No output schema and no annotations, so the description is the sole source for context. It explains the core functionality and local destination, but fails to describe the return value (e.g., does it return a file path?), post-download behavior, or cleanup. For a 4-required-param download tool, this is a noticeable completeness gap.

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 the baseline is 3. The description adds context about 'post attachment' and 'raw content', which helps understand fileId's role, but it does not explain parameter relationships, validation, or usage details beyond the schema. It adds marginal value but does not compensate beyond baseline.

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

Purpose5/5

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

The description clearly states a specific verb ('download') and resource ('raw content of a Dooray post attachment'), and adds a distinctive mechanism ('through authenticated redirects to a local temporary directory'). This distinguishes it from sibling tools like dooray_post_files which likely list files rather than download content.

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 for downloading a specific attachment's raw content, but provides no explicit when-to-use vs alternative tools (e.g., dooray_post_files) or exclusions. It is clear enough for basic selection, but lacks explicit guidance on alternatives or prerequisites.

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

dooray_post_filesA

find attachments of a Dooray post

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYespost id
operationYesThe operation to perform
projectIdYesproject id

TDQS

A3.5/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 carry the behavioral transparency burden. It only states 'find attachments' and does not disclose return format, authentication needs, or that it lists metadata rather than downloading file contents. This is insufficient for a no-annotation 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, focused sentence with no unnecessary words. It is front-loaded and easily parsable; every word contributes meaning.

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 tool is simple, but the absence of annotations and output schema places greater responsibility on the description. It does not clarify whether the result is a list of metadata or something else, nor does it mention the relationship to the sibling download tool. Adequate for a minimal tool but with clear gaps.

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 fully documents all parameters with 100% coverage, including the operation enum and required IDs. The description adds no parameter-specific meaning, but the schema already provides complete semantic detail, so the baseline score of 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?

Clearly identifies the action ('find') and resource ('attachments of a Dooray post'), which distinguishes it from sibling tools like dooray_post_logs and dooray_post_file_download. The verb and object are specific and unambiguous.

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 used to list attachments of a specific post, but it does not explicitly explain when to use this over dooray_post_file_download or mention any exclusions. The usage context is clear enough but lacks alternative guidance.

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

dooray_post_logB

find a specific comment or activity log of a Dooray post

ParametersJSON Schema
NameRequiredDescriptionDefault
logIdYeslog id, or comment id
postIdYespost id
operationYesThe operation to perform
projectIdYesproject id

TDQS

B3.3/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 only says 'find', which implies a read operation, but it does not state whether it is read-only, what happens if no matching log is found, or what data is returned. This is minimal disclosure for an operation with no annotation support.

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 one concise sentence that states the verb and resource directly without filler or unnecessary detail. It is appropriately front-loaded and easy to parse.

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 schema fully documents the required parameters and the operation enum, which is good. However, the description provides no information about return values, error behavior, or how this tool relates to the list/create/update sibling tools, leaving an agent with only the minimum viable information to attempt a call.

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 all four parameters already have basic documentation. The description adds the clarifying context that logId refers to a comment or activity log, but it does not add meaningful detail beyond what the schema already provides.

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 a specific action, 'find', on a specific resource, 'a specific comment or activity log of a Dooray post'. This distinguishes it from sibling create/update tools, though it does not explicitly contrast it with the plural 'dooray_post_logs' tool.

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 word 'specific' implies this tool is for retrieving one known log rather than listing or creating logs, but no explicit alternatives or when-not-to-use guidance is provided. An agent can infer the basic use case from the singular phrasing, but clear routing among siblings is absent.

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

dooray_post_log_createB

add a comment to a Dooray post

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
postIdYespost id
operationYesThe operation to perform
projectIdYesproject id

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 must disclose behavioral traits. 'Add a comment' describes the side effect but does not reveal the need for the 'operation' parameter set to 'create_log', authentication expectations, error behavior, or response format. The description adds minimal transparency beyond the name itself.

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, well-structured sentence with no filler. It front-loads the action and target, making it immediately scannable.

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 no output schema and no annotations, the description should compensate by explaining the full invocation context. It does not mention the required operation constant, how to obtain projectId/postId, or what the API returns on success/failure. The description alone is insufficient for an agent to confidently invoke this create 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 description coverage is 75%, and the schema already provides descriptions for projectId, postId, body.content, and body.mimeType. The description does not add parameter semantics, such as explaining that postId refers to the target post or how to construct the body object. Since the schema covers most parameters, a baseline of 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?

The description 'add a comment to a Dooray post' uses a specific verb ('add') and identifies the resource ('comment' to a 'Dooray post'). It clearly distinguishes this create operation from sibling tools like dooray_post_log_update (update) and dooray_post_logs (list). The only minor ambiguity is the term 'comment' vs 'log' in the name, but the action is still unmistakable.

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. The description only states the action without mentioning that listing or updating logs is handled by sibling tools, or any prerequisites like needing a existing post ID. Usage must be inferred entirely from the tool name and sibling list.

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

dooray_post_logsC

find comments and activity logs of a Dooray post

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNopage number, default is 0
sizeNonumber of logs per page, default is 20
orderNolog sort order
postIdYespost id
operationYesThe operation to perform
projectIdYesproject id

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 must carry the behavioral disclosure burden. It only says 'find', implying read-only behavior, but does not disclose pagination, sorting behavior, response shape, or any side effects. There is no contradiction, but the transparency is minimal.

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 clear sentence with no filler or redundancy. It is concise and immediately communicates the core action, though it offers no additional structural information.

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 straightforward read/list tool with fully described parameters, the description plus schema is minimally sufficient. However, without an output schema, some indication of return behavior or pagination would improve completeness, and missing usage guidance leaves contextual gaps.

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 all parameters are already documented. The description adds no extra parameter meaning beyond framing the tool as finding post comments and activity logs, which is acceptable but not additive.

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 uses a specific verb ('find') and names the resource ('comments and activity logs of a Dooray post'). It clearly implies a read/list operation that is distinct from the singular dooray_post_log and the mutating dooray_post_log_create/update siblings, though it does not explicitly name them.

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?

There is no guidance about when to use this tool versus alternatives such as dooray_post_log or dooray_post_log_create. The operation enum restricts to 'find_logs', but the description does not explain contexts, exclusions, or relationships to sibling tools.

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

dooray_post_log_updateC

update a comment or activity log of a Dooray post

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
logIdYeslog id, or comment id
postIdYespost id
operationYesThe operation to perform
projectIdYesproject id

TDQS

C2.8/5.0
Behavior1/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 says 'update' with no disclosure of side effects, reversibility, permissions, or what happens to the existing log. For a mutation tool, this is a significant transparency gap.

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

Conciseness3/5

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

The description is a single concise sentence, which is appropriately brief for a simple tool. However, it is under-specified and omits important context, making it more under-specified than 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 no annotations, no output schema, and a sparse description, the tool lacks essential context. It doesn't explain return values, side effects, or how to use it correctly. The nested body schema and multiple required parameters demand more explanation than is provided.

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 80%, and each parameter has a clear description (e.g., logId described as 'log id, or comment id'). The tool description adds no additional meaning beyond the schema, so baseline 3 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 action ('update') and the resource ('a comment or activity log of a Dooray post'). It is specific enough to distinguish from sibling tools like create or list, though it does not explicitly name alternatives.

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 verb 'update' implies this tool is for modifying existing logs, but there is no explicit mention of when to use it versus alternatives like dooray_post_log_create or dooray_post_logs. No usage context or exclusions are provided.

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

dooray_postsC

find dooray posts in projects

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNopage number, default is 0
sizeNonumber of posts per page, default is 20, max is 100
dueAtNodate filter: today, thisweek, prev-{N}d, next-{N}d, or ISO8601~ISO8601
orderNosort order: postDueAt, postUpdatedAt, createdAt, prefix '-' for descending
tagIdsNofilter posts by tag ids, comma separated
subjectsNofilter by post subject keyword
createdAtNodate filter: today, thisweek, prev-{N}d, next-{N}d, or ISO8601~ISO8601
operationYesThe operation to perform
projectIdYesproject id, or comma separated project ids
updatedAtNodate filter: today, thisweek, prev-{N}d, next-{N}d, or ISO8601~ISO8601
postNumberNofilter by post number
ccMemberIdsNofilter posts by cc member ids, comma separated
toMemberIdsNofilter posts by assignee member ids, comma separated
milestoneIdsNofilter by milestone ids, comma separated
parentPostIdNofilter sub-tasks of a parent post
toMemberSizeNofilter by number of assignees
fromMemberIdsNofilter posts by creator member ids, comma separated
postWorkflowIdsNofilter by workflow ids, comma separated
fromEmailAddressNofilter posts by sender email address
postWorkflowClassesNobacklog, registered, working, closed

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 must communicate behavioral context. 'Find' implies a read operation, but nothing about pagination, filtering behavior, rate limits, or return format is disclosed. The tool has 20 parameters, yet the description offers no operational detail beyond the verb.

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, concise sentence with no wasted words. It is appropriately sized for a tool where the schema carries heavy detail, though it might be too terse for a complex tool with 20 parameters.

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 (20 parameters, no output schema, no annotations), the description is far from complete. It does not explain what dooray posts are, how to combine filters, or what the response structure looks like. The schema provides parameter-level detail but not high-level usage 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 input schema provides descriptions for all 20 parameters, covering 100% of parameter semantics. The description adds no extra meaning beyond the schema, so the baseline 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 finds dooray posts within projects, using a specific verb and resource. It does not explicitly differentiate from sibling tools like dooray_post_logs, but the 'posts in projects' phrasing distinguishes it reasonably from calendar and account tools.

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 given on when to use this tool versus alternatives such as dooray_post_logs or dooray_post_files. There is no mention of when to prefer this over others, nor any exclusions or prerequisites.

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

dooray_projectB

find Dooray projects or get a project by id

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoproject type
scopeNoproject scope
stateNoproject state
operationYesThe operation to perform
projectIdNoproject id for find_project

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 must carry the full burden of behavioral disclosure. It implies read-only operations through 'find' and 'get', but does not explicitly state side-effect-free behavior, permissions, pagination, or output format. The description is too sparse to provide meaningful 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?

The description is a single concise sentence, front-loaded with the core action. Every word is purposeful, and there is no fluff. It is appropriately concise for a tool of this simplicity.

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 tool is relatively simple, and the schema covers parameters well, but there is no output schema and no explicit mention of return values (list vs single object). The description also does not clarify the difference between 'find_projects' and 'find_project' beyond the schema's operation enum. It is adequate but has clear gaps in behavior and return expectations.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no extra parameter information beyond what the schema already provides (e.g., projectId for find_project, type/scope/state enums). It does not compensate for any gaps, but none exist, so the score remains at baseline.

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 dual purpose: finding projects and retrieving a single project by ID. It uses specific verbs ('find', 'get') and names the resource (Dooray projects), distinguishing it from sibling tools focused on members, messengers, calendars, and posts. However, it is slightly vague about the search/list aspects, so it doesn't quite earn 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?

There is no guidance on when to use this tool versus alternatives, nor when to choose 'find_projects' vs 'find_project'. The schema provides some indication via the operation enum and projectId description, but the description itself offers no context, prerequisites, or exclusions.

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

osB

get os time date

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesThe operation to get date time

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. The verb 'get' implies a read-only operation, and the sole operation value 'get_date_time' reinforces that. However, it does not mention timezone, format, or return-value details, which are useful behavioral traits for a tool with no output schema.

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 short with no filler or redundant phrases. It is front-loaded, though the phrase 'time date' could be worded more clearly as 'date/time'.

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 one-operation tool, the description plus fully covered schema is sufficient to invoke the tool correctly. However, because there is no output schema, a brief note about the returned date/time format or timezone would improve completeness.

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%, and the operation parameter is fully documented with an enum and descriptive text. The tool description adds no extra parameter meaning beyond the schema, so the baseline score of 3 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 a get operation on an OS time/date resource, and the sibling tools are all Dooray-related, so this tool is easy to distinguish. The phrasing 'os time date' is slightly awkward, but the intent 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 Guidelines3/5

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

Usage is implied by the stated purpose: use this tool to retrieve the OS date/time. There is no explicit when-to-use guidance or exclusions, but the sibling set is unrelated, so the alternative-selection risk is low.

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. 15 tool updatesv0.2.0
    • First observeddooray_account_member
    • First observeddooray_account_members
    • First observeddooray_calendar_calendars
    • First observeddooray_calendar_events
    • First observeddooray_calendar_post_event
    • First observeddooray_messenger
    • First observeddooray_post_file_download
    • First observeddooray_post_files
    • First observeddooray_post_log
    • First observeddooray_post_log_create
    • First observeddooray_post_log_update
    • First observeddooray_post_logs
    • First observeddooray_posts
    • First observeddooray_project
    • First observedos

TDQS

B3/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have clear resource-action boundaries (e.g., account member lookup vs. calendar events), but a few pairs like dooray_post_logs and dooray_post_log could confuse agents without careful reading. The plural/singular distinction helps, and the 'os' tool is clearly separate.

Naming Consistency4/5

The naming is mostly consistent with a dooray_<domain>_<resource> pattern for queries and dooray_<domain>_<resource>_<verb> for actions. However, 'dooray_messenger' (a send action without a verb) and the standalone 'os' tool break the pattern, along with redundant 'dooray_calendar_calendars'.

Tool Count4/5

15 tools is within a reasonable range for a multi-domain integration (account, messenger, calendar, posts, logs, files). The inclusion of an unrelated 'os' tool slightly detracts from the overall scope, but the count is not excessive.

Completeness2/5

Critical CRUD operations are missing across resources: no way to create or update posts, no update/delete for calendar events, no read for messenger, and no upload for files. While some actions exist (create calendar event, add comment, download file), the surface is incomplete for full lifecycle management, leading to dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP Server for public disclosure information of Korean companies, powered by the dartpoint.ai API.
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for reading/editing Google Docs content and managing comments, including listing, creating, replying, resolving, and reopening comments via the Docs API and Drive API.
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for managing social media posts across multiple platforms using the Postiz API. Supports creating, updating, deleting posts, and generating videos.
    38 npm
    2
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Unofficial MCP server for NAVER WORKS Drive admin tasks, enabling shared-drive governance, permission management, and file operations via service-account delegation.
    16
    MIT