mcp-workflowy
워크플로우 MCP
Workflowy와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 Workflowy에 MCP 호환 인터페이스를 제공하여 AI 어시스턴트가 Workflowy 목록과 프로그래밍 방식으로 상호 작용할 수 있도록 합니다.
MCP란 무엇인가요?
모델 컨텍스트 프로토콜(MCP)은 AI 모델이 외부 도구 및 API와 상호 작용하는 표준화된 방식입니다. 이 서버는 MCP를 구현하여 ChatGPT와 같은 AI 도우미가 정의된 도구 세트를 통해 Workflowy 목록을 읽고 조작할 수 있도록 합니다.
Related MCP server: workflowy
특징
Workflowy 통합 : 사용자 이름/비밀번호 인증을 사용하여 Workflowy 계정에 연결
MCP 호환성 : 모델 컨텍스트 프로토콜에 대한 전체 지원
도구 작업 : Workflowy에서 노드를 검색, 생성, 업데이트하고 완료/미완료로 표시합니다.
사용 예:
저는 개인적으로 프로젝트 관리 도구로 Workflowy를 사용합니다. 에이전트에게 제 메모와 코드 베이스에 대한 접근 권한을 부여할 때, 다음과 같은 유용한 프롬프트가 있습니다.
"Workflowy에서 XYZ 프로젝트에 대한 모든 메모를 보여주세요"
"코드베이스를 검토하고 완료된 모든 노트를 완료로 표시"
"이 프로젝트의 워크플로우에 대한 이정표를 고려하여 다음 작업이 무엇인지 제안해 주세요."
설치
필수 조건
Node.js v18 이상
Workflowy 계정
빠른 설치
지엑스피1
구성
프로젝트 디렉토리에 다음 내용으로 .env 파일을 만듭니다.
WORKFLOWY_USERNAME=your_username_here
WORKFLOWY_PASSWORD=your_password_here또는 서버를 실행할 때 이러한 자격 증명을 환경 변수로 제공할 수 있습니다.
용법
서버 시작
# If installed globally
mcp-workflowy server start
# Using npx
npx mcp-workflowy server start사용 가능한 도구
이 MCP 서버는 Workflowy와 상호 작용할 수 있는 다음과 같은 도구를 제공합니다.
list_nodes - Workflowy에서 노드 목록 가져오기(루트 노드 또는 지정된 노드의 자식 노드)
search_nodes - 쿼리 텍스트로 노드 검색
create_node - Workflowy에 새 노드를 만듭니다.
update_node - 기존 노드의 텍스트나 설명을 수정합니다.
toggle_complete - 노드를 완료 또는 미완료로 표시합니다.
AI 어시스턴트와 통합
이 MCP 서버를 AI 어시스턴트(예: ChatGPT)와 함께 사용하려면:
위에서 설명한 대로 MCP 서버를 시작합니다.
AI 어시스턴트를 MCP 서버에 연결합니다(AI 어시스턴트 설명서 참조).
이제 AI 어시스턴트가 Workflowy 목록을 읽고 조작할 수 있습니다.
원클릭
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
Available Tools
5 toolscreate_nodeB
Create a new node
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-destructive operation. The description adds no extra behavioral context beyond the verb 'create', which is consistent but minimal.
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, concise sentence. It wastes no words, though it may be slightly too terse for a creation tool without additional context.
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 no output schema and no parameters, the description fails to explain what kind of node is created, its default properties, or how the result is communicated. This is insufficient for a mutation tool.
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?
With zero parameters, schema coverage is 100%. The description adds no parameter details, but the baseline for zero parameters is 4 as per guidelines.
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 'Create a new node' clearly states the action and resource, distinguishing it from siblings like list_nodes or search_nodes. However, it lacks context such as where the node is created (e.g., current document).
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 on when to use this tool instead of siblings like update_node or toggle_complete. The description does not mention prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_nodesARead-onlyIdempotent
List nodes in Workflowy. If a parentId is provided, it lists the child nodes of that parent. If omitted, it lists the root nodes.
| Name | Required | Description | Default |
|---|---|---|---|
| parentId | No | ID of the parent node to list children from. If omitted, returns root nodes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. The description adds conditional behavior on parentId, but does not disclose pagination or return format.
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?
Two short, front-loaded sentences with no extraneous text, clearly conveying the core functionality.
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 simple read-only list tool, the description is adequate, though it could mention that it returns a list of node objects without specifying fields.
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 has 100% description coverage; the description repeats the same information about parentId without adding new semantics.
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 'List nodes in Workflowy' and explains the behavior based on parentId, distinguishing it from siblings like create_node or toggle_complete.
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 explains when to use parentId (to list children) and when not (root nodes), but does not explicitly compare to sibling tools like search_nodes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nodesBRead-onlyIdempotent
Search nodes in Workflowy
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query to find matching nodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds little beyond confirming it is a search operation. No behavioral specifics like result limits or query syntax are disclosed.
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 sentence that immediately conveys the action. It is concise and front-loaded with no filler.
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?
The tool is simple with one parameter, but the description does not explain the output format or behavior when no matches are found, which is necessary given no output schema.
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 input schema already describes the 'query' parameter with a description. The tool's description adds no additional meaning beyond the schema, which has 100% 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 states the tool does a search on nodes. It is clear but does not differentiate from sibling tools like list_nodes, which might also retrieve nodes.
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 list_nodes or other siblings. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_completeB
Toggle completion status of a node
| Name | Required | Description | Default |
|---|---|---|---|
| nodeId | Yes | ID of the node to toggle completion status | |
| completed | Yes | Whether the node should be marked as complete (true) or incomplete (false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies mutation but does not disclose side effects, authorization needs, or that the 'completed' parameter makes it a setter rather than a true toggle. Minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence with no wasted words. Efficient but very brief; could have elaborated slightly without harming conciseness.
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 simple tool with two well-documented parameters, the description is mostly adequate but lacks mention of return values or errors. No output schema exists, so some extra context would be 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 coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning beyond the schema. Baseline score of 3 applies.
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 ('toggle completion status') and the resource ('node'), distinguishing it from sibling tools like create_node or update_node which have different purposes.
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, such as update_node which could also set the completed field. The description lacks context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_nodeBDestructiveIdempotent
Update an existing node
| Name | Required | Description | Default |
|---|---|---|---|
| nodeId | Yes | ID of the node to update | |
| name | No | New name/title for the node | |
| description | No | New description/note for the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (destructiveHint=true) and idempotency (idempotentHint=true). Description does not add beyond this, missing details like partial update behavior or response structure.
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?
One sentence, direct, no fluff. Could be slightly enriched without losing conciseness.
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?
Adequate for a simple update tool, but lacks mention of return value or side effects (e.g., what happens if node not found). No output schema to fill the gap.
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 description adds no value beyond what schema already provides. Baseline score 3.
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?
Clearly states 'Update an existing node' – verb+resource, distinct from siblings (create, list, search, toggle).
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 on when to use this tool vs alternatives (e.g., create_node for new nodes, toggle_complete for status). Lacks context for selection.
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.
5 tool updates
- First observed
create_node - First observed
list_nodes - First observed
search_nodes - First observed
toggle_complete - First observed
update_node
TDQS
Scored across 5 tools
Each tool targets a distinct action—create, list, search, update, and toggle completion—so there is no major ambiguity. update_node and toggle_complete overlap somewhat in that both modify a node, but their purposes are clear enough. list_nodes and search_nodes are clearly differentiated by hierarchy vs. content search.
The tools mostly follow a consistent verb_noun pattern (create_node, list_nodes, update_node, search_nodes). toggle_complete breaks the pattern slightly by referencing a state rather than the node object, but all names remain simple and readable.
With exactly 5 tools, the server is well-scoped for managing Workflowy nodes. Each tool has a clear purpose and there is no bloat or minimalism that detracts from the domain.
The tool set covers create, list, search, update, and toggle completion, but lacks a delete_node or a dedicated get_node operation. These are notable gaps in the node lifecycle, though agents can partially work around them with search and list.
Maintenance
Related MCP Connectors
MCP server for Linear project management and issue tracking
Turn outlines and hierarchical notes into interactive mind maps through a hosted remote MCP server.
Related MCP Servers
- MIT
- AlicenseBqualityDmaintenanceA WorkFlowy MCP Server with node creation, recursive gets, updates, completions, search and replace (with a dry run mode), usage reports, a configurable list of exposed commands and customizable log output.1072MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for mind-wiki — access your personal knowledge wiki from any directory or MCP-compatible client.MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server to read and manage your Microsoft To Do tasks through the Microsoft Graph To Do API.MIT