mcp-todo
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-todoadd 'buy groceries' to my todo list for today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-todo MCP Server
mcp-todo 앱의 Todo/Memo API를 MCP (Model Context Protocol)로 연결하는 서버입니다.
설치
npm install -g mcp-todo-app-serverRelated MCP server: Todo MCP Server
환경 변수
변수 | 필수 | 설명 |
| 필수 | mcp-todo 앱에서 발급받은 Workspace ID |
| 선택 | API URL (기본값 설정됨) |
Claude Desktop 앱에서 사용하기
~/Library/Application Support/Claude/claude_desktop_config.json 파일을 열고 (없으면 생성):
{
"mcpServers": {
"mcp-todo": {
"command": "npx",
"args": ["-y", "mcp-todo-app-server"],
"env": {
"MCP_TODO_WORKSPACE_ID": "여기에-워크스페이스-ID-입력"
}
}
}
}설정 후 Claude Desktop 앱을 재시작하세요.
Claude Code (CLI)에서 사용하기
~/.claude/settings.json 파일에 추가:
{
"mcpServers": {
"mcp-todo": {
"command": "npx",
"args": ["-y", "mcp-todo-app-server"],
"env": {
"MCP_TODO_WORKSPACE_ID": "여기에-워크스페이스-ID-입력"
}
}
}
}사용 가능한 Tools
Todo 관련
Tool | 설명 |
| 일정 목록 조회 (카테고리, 날짜 필터 가능) |
| 새 일정 생성 |
| 일정 수정 |
| 일정 삭제 |
Memo 관련
Tool | 설명 |
| 메모 목록 조회 |
| 메모 상세 조회 |
| 새 메모 생성 |
| 메모 수정 |
| 메모 삭제 |
사용 예시
Claude에게 다음과 같이 요청할 수 있습니다:
"오늘 할 일 목록 보여줘"
"내일 14시에 '팀 미팅' 일정 추가해줘"
"'회의록' 제목으로 새 메모 만들어줘"
"일정 완료 처리해줘"
License
MIT
Available Tools
9 toolscreate_memoC
새로운 메모를 생성합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | 메모 제목 | |
| content | No | 메모 내용 |
TDQS
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 '생성합니다' (creates) implies a write operation, the description doesn't address permissions, whether the operation is idempotent, what happens on failure, or what the response contains. For a creation tool with zero annotation coverage, this leaves important behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized for a simple creation tool and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a creation tool with no annotations and no output schema, the description is incomplete. It doesn't address what happens after creation, what the return value might be, or any side effects. With siblings like get_memo and list_memos available, the description should ideally mention how the created memo can be accessed afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what the schema already provides. With 100% schema description coverage (both parameters have descriptions in Korean), the baseline score is 3. The tool description doesn't explain parameter relationships, constraints, or provide examples, so it doesn't add value beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '새로운 메모를 생성합니다' (creates a new memo), which is a specific verb+resource combination. It distinguishes itself from siblings like update_memo or delete_memo by focusing on creation, but doesn't explicitly differentiate from create_todo beyond the resource type. This makes it clear but not fully sibling-aware.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, when to choose create_memo over create_todo, or any contextual constraints. With multiple sibling tools available, this lack of usage guidance is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_todoC
새로운 일정을 생성합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | 일정 제목 | |
| category | Yes | 카테고리 (scheduled: 예정됨, pending: 미정) | |
| date | No | 날짜 (YYYY-MM-DD 형식), scheduled인 경우 권장 | |
| time | No | 시간 (HH:mm 형식) |
TDQS
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 '생성합니다' (creates), implying a write operation, but doesn't disclose behavioral traits like permissions needed, whether creation is idempotent, error conditions, or what happens on success/failure. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Korean with no wasted words. However, it's under-specified rather than concise—it could benefit from slightly more detail without losing brevity, so it's not a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 incomplete. It doesn't explain what the tool returns, error handling, or behavioral context. Given the complexity of creating a resource and the lack of structured data, more detail is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all 4 parameters. The description adds no parameter semantics beyond what's in the schema, such as explaining relationships between parameters (e.g., date/time relevance to category). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '새로운 일정을 생성합니다' (creates a new schedule/todo) states the basic verb+resource but is vague about what constitutes a '일정' (schedule/todo). It doesn't distinguish from sibling tools like create_memo, leaving ambiguity about when to create a todo versus a memo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 create_memo or update_todo. The description lacks context about prerequisites, use cases, 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.
delete_memoC
메모를 삭제합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 삭제할 메모 ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action without disclosing behavioral traits like permanence, permissions needed, error handling, or side effects. It's minimal and lacks critical context for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 highly concise and well-structured for its minimal content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a destructive tool with no annotations and no output schema, the description is incomplete. It fails to address key aspects like return values, confirmation prompts, or error scenarios, leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'id' parameter is documented as '삭제할 메모 ID'), so the description adds no extra parameter meaning. With 1 parameter fully covered, baseline is 3, but since there are zero parameters needing description compensation, it slightly exceeds baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '메모를 삭제합니다' (deletes a memo) states the basic action and resource, but it's vague about scope (e.g., permanent vs. soft deletion) and doesn't distinguish from sibling 'delete_todo'. It's not tautological but lacks specificity beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_memo' for archiving or 'delete_todo' for other deletions. The description implies usage for deletion but 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.
delete_todoC
일정을 삭제합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 삭제할 일정 ID |
TDQS
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 delete action but doesn't describe consequences (e.g., permanent deletion, no undo), permissions required, error conditions, or what happens on success. For a destructive operation with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Korean ('일정을 삭제합니다') that directly states the tool's purpose with zero waste. It's appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a destructive delete operation), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like irreversibility, error handling, or response format, which are critical for safe and effective use. The schema covers parameters well, but overall context is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'id' parameter is described as '삭제할 일정 ID' - ID of the todo to delete), so the schema already documents the parameter fully. The description doesn't add any meaning beyond what the schema provides, such as format examples or constraints. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '일정을 삭제합니다' (deletes a schedule/todo) clearly states the verb (delete) and resource (todo/schedule). It distinguishes from siblings like create_todo, update_todo, and list_todos by specifying the delete action. However, it doesn't explicitly differentiate from delete_memo, which deletes 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.
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 doesn't mention prerequisites (e.g., needing an existing todo ID), exclusions, or comparisons to siblings like update_todo for modification or list_todos for viewing. Usage is implied by the action but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_memoC
특정 메모의 상세 내용을 조회합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 메모 ID |
TDQS
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. While '조회합니다' (retrieve/view) implies a read-only operation, it doesn't explicitly state this is safe/non-destructive. It also doesn't mention error conditions (e.g., what happens if the ID doesn't exist), authentication requirements, rate limits, or what format/details the '상세 내용' (detailed content) includes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. Every word contributes to the core purpose without any fluff or redundancy. It's appropriately sized for a simple retrieval tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read operation with no annotations and no output schema, the description is insufficient. It doesn't explain what '상세 내용' (detailed content) includes or what format it returns. Given the sibling tools include update and delete operations, more clarity about this being a safe read operation would be valuable. The description leaves too many behavioral questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the single parameter 'id' clearly documented as '메모 ID' (memo ID). The description doesn't add any parameter information beyond what the schema provides. With high schema coverage, the baseline is 3 even without additional param details in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('조회합니다' - retrieve/view) and resource ('특정 메모의 상세 내용' - specific memo's detailed content). It distinguishes from list_memos by specifying retrieval of a single memo's details rather than listing multiple memos. However, it doesn't explicitly differentiate from update_memo or delete_memo beyond the verb choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 get_memo versus list_memos, or clarify that this is for viewing existing memos while create_memo is for creating new ones. There's no explicit when/when-not guidance or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_memosB
메모 목록을 조회합니다. 최근 수정순으로 정렬됩니다.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 the sorting behavior ('최근 수정순으로 정렬됩니다' - sorted by recent modification), which is valuable context beyond basic functionality. However, it doesn't disclose other important behavioral aspects like pagination, rate limits, authentication requirements, or what happens when no memos exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - just two short Korean sentences that directly state the core functionality and sorting behavior. Every word earns its place with no redundancy or unnecessary elaboration. The structure is front-loaded with the primary purpose followed by a key behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description provides adequate but minimal information. It covers the basic purpose and sorting behavior, which is sufficient for a simple list operation. However, for a tool without annotations or output schema, it could benefit from mentioning what the return format looks like or any limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't waste space discussing non-existent parameters. A baseline of 4 is appropriate for zero-parameter tools where the schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('조회합니다' - retrieve/query) and resource ('메모 목록' - memo list), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_memo' (which likely retrieves a single memo) or 'list_todos' (which retrieves todos instead of memos).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_memo' (for single memo retrieval) or 'list_todos' (for todo lists). It also doesn't mention prerequisites, access requirements, or contextual constraints that would help an agent choose appropriately among the available memo/todo tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_todosC
일정 목록을 조회합니다. 카테고리나 날짜로 필터링할 수 있습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | 카테고리 필터 (scheduled: 예정됨, pending: 미정, archived: 보관됨) | |
| date | No | 날짜 필터 (YYYY-MM-DD 형식) |
TDQS
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 a retrieval operation ('조회합니다'), implying it's likely read-only, but doesn't explicitly confirm this or mention other behavioral traits like pagination, rate limits, authentication requirements, or what happens when no filters are applied. The description adds minimal context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly state the purpose and filtering capabilities. There's no wasted language, and it's front-loaded with the core functionality. However, it could be slightly more structured by explicitly separating purpose from features.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 optional parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and mentions filtering, but lacks details on behavioral aspects, usage context, or output format. For a read-only listing tool, this is the bare minimum needed for basic understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions that filtering by category or date is possible, which aligns with the two parameters in the schema. Since schema description coverage is 100% (both parameters have descriptions in the schema), the baseline is 3. The description adds no additional semantic meaning beyond what's already documented in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '일정 목록을 조회합니다' (retrieves a list of schedules/todos), which is a specific verb+resource combination. It distinguishes from siblings like create_todo or update_todo by focusing on listing rather than creating or modifying. However, it doesn't explicitly differentiate from list_memos, which might be a similar listing operation for 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.
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 mentions filtering capabilities but doesn't specify when to choose list_todos over other tools like get_memo or list_memos, nor does it mention any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_memoC
기존 메모를 수정합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 메모 ID | |
| title | No | 새로운 제목 | |
| content | No | 새로운 내용 |
TDQS
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 the action (modify) but doesn't cover critical aspects like required permissions, whether changes are reversible, error handling, 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.
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, directly 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits, usage context, and expected outcomes, making it incomplete for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., '메모 ID' for id). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '기존 메모를 수정합니다' (modifies an existing memo) clearly states the verb (modify) and resource (memo), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'update_todo' beyond the resource name, which is why it doesn't reach a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., needing an existing memo ID), exclusions, or comparisons to siblings like 'create_memo' or 'delete_memo', leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_todoC
기존 일정을 수정합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 일정 ID | |
| title | No | 새로운 제목 | |
| category | No | 새로운 카테고리 | |
| isCompleted | No | 완료 여부 | |
| date | No | 새로운 날짜 (YYYY-MM-DD 형식), null이면 미정 | |
| time | No | 새로운 시간 (HH:mm 형식) |
TDQS
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. While '수정합니다' (modifies) correctly indicates a mutation operation, the description doesn't address important behavioral aspects like: what permissions are required, whether changes are reversible, what happens to unspecified fields (partial vs. full updates), error conditions, or what the response contains. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - just one short sentence. While this is efficient, it's arguably too brief given the tool's complexity (mutation operation with 6 parameters and no annotations). Every word earns its place, but more context would be helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what happens when the tool executes successfully or fails, doesn't clarify the relationship between parameters (like whether all fields must be provided or if partial updates are allowed), and doesn't address behavioral aspects that annotations would normally cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 6 parameters thoroughly with descriptions and enum values. The description adds no additional parameter information beyond what's in the schema. According to the rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '기존 일정을 수정합니다' (modifies an existing schedule) clearly states the verb ('수정합니다' - modifies) and resource ('일정' - schedule), but it's somewhat vague about what constitutes a 'schedule' in this context. It doesn't distinguish this tool from its sibling 'update_memo' or explain what differentiates a 'todo' from a 'memo' in this system.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There's no mention of prerequisites (like needing an existing todo ID), when not to use it, or how it differs from similar tools like 'update_memo' or 'create_todo' in the sibling list.
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.
9 tool updates
v1.0.2- First observed
create_memo - First observed
create_todo - First observed
delete_memo - First observed
delete_todo - First observed
get_memo - First observed
list_memos - First observed
list_todos - First observed
update_memo - First observed
update_todo
TDQS
Scored across 9 tools
Every tool has a clearly distinct purpose with no ambiguity. The tools are cleanly separated into memo and todo categories, each with create, delete, get/list, and update operations, making it easy for an agent to select the correct tool without confusion.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_memo, delete_todo, list_memos, and update_todo. There are no deviations in naming conventions, making the set predictable and readable.
With 9 tools, the count is well-scoped and appropriate for a todo/memo management server. Each tool earns its place by covering essential CRUD operations for both memos and todos, without being overly sparse or bloated.
The tool surface provides complete CRUD/lifecycle coverage for both memos and todos, including create, delete, get, list, and update operations. There are no obvious gaps, ensuring agents can handle all core workflows without dead ends.
Maintenance
Related MCP Connectors
Create, list, and complete todo items through MCP.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that integrates Claude with Todoist, enabling natural language task management including creating, updating, completing, and deleting tasks.5267 npm392MIT
- FlicenseNot gradedqualityDmaintenanceThis MCP server provides tools to manage a todo list with CRUD operations, enabling listing, creating, updating, and deleting todos.-
- AlicenseNot gradedqualityCmaintenanceMCP server for Todoist API integration, allowing management of tasks, projects, sections, labels, and comments through natural language.12 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server that exposes a TODO list API to AI assistants, enabling natural language management of tasks with create, read, update, and delete operations.-