Skip to main content
Glama
danield137

mcp-workflowy

by danield137

Install with NPX in VS Code

Workflowy MCP

A Model Context Protocol (MCP) server for interacting with Workflowy. This server provides an MCP-compatible interface to Workflowy, allowing AI assistants to interact with your Workflowy lists programmatically.

What is MCP?

The Model Context Protocol (MCP) is a standardized way for AI models to interact with external tools and APIs. This server implements MCP to allow AI assistants (like ChatGPT) to read and manipulate your Workflowy lists through a set of defined tools.

Related MCP server: workflowy

Features

  • Workflowy Integration: Connect to your Workflowy account using username/password authentication

  • MCP Compatibility: Full support for the Model Context Protocol

  • Tool Operations: Search, create, update, and mark nodes as complete/incomplete in your Workflowy

Example Usage:

Personally, I use workflowy as my project management tool. Giving my agent access to my notes, and my code base, the following are useful prompts:

  • "Show my all my notes on project XYZ in workflowy"

  • "Review the codebase, mark all completed notes as completed"

  • "Given my milestones on workflowy for this project, suggest what my next task should be"

Installation

Prerequisites

  • Node.js v18 or higher

  • A Workflowy account

Quick Install

NPM Version NPM Downloads

# Install the package globally
npm install -g mcp-workflowy

# Or use npx to run it directly
npx mcp-workflowy server start

Configuration

Create a .env file in your project directory with the following content:

WORKFLOWY_USERNAME=your_username_here
WORKFLOWY_PASSWORD=your_password_here

Alternatively, you can provide these credentials as environment variables when running the server.

Usage

Starting the Server

# If installed globally
mcp-workflowy server start

# Using npx
npx mcp-workflowy server start

Available Tools

This MCP server provides the following tools to interact with your Workflowy:

  1. list_nodes - Get a list of nodes from your Workflowy (root nodes or children of a specified node)

  2. search_nodes - Search for nodes by query text

  3. create_node - Create a new node in your Workflowy

  4. update_node - Modify an existing node's text or description

  5. toggle_complete - Mark a node as complete or incomplete

Integrating with AI Assistants

To use this MCP server with AI assistants (like ChatGPT):

  1. Start the MCP server as described above

  2. Connect your AI assistant to the MCP server (refer to your AI assistant's documentation)

  3. The AI assistant will now be able to read and manipulate your Workflowy lists

One-Click

Install with NPX in VS Code

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

5 tools
create_nodeB

Create a new node

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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

Given no output schema and no 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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool 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_nodesA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentIdNoID of the parent node to list children from. If omitted, returns root nodes.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_nodesB
Read-onlyIdempotent

Search nodes in Workflowy

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query to find matching nodes

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

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 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.

Parameters3/5

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.

Purpose4/5

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.

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 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

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesID of the node to toggle completion status
completedYesWhether the node should be marked as complete (true) or incomplete (false)

TDQS

B3.2/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. 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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as 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_nodeB
DestructiveIdempotent

Update an existing node

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesID of the node to update
nameNoNew name/title for the node
descriptionNoNew description/note for the node

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

No guidance on when to use this tool 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. Dates show when Glama detected each change.

  1. 5 tool updates
    • First observedcreate_node
    • First observedlist_nodes
    • First observedsearch_nodes
    • First observedtoggle_complete
    • First observedupdate_node

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. create_node, list_nodes, search_nodes, toggle_complete, and update_node each target specific, non-overlapping operations in the Workflowy domain, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as create_node, list_nodes, and update_node. This predictable naming convention enhances readability and usability for agents.

Tool Count5/5

With 5 tools, this server is well-scoped for managing nodes in Workflowy. Each tool serves a clear and necessary function, covering core operations without being overly sparse or bloated, fitting typical expectations for such a domain.

Completeness5/5

The tool set provides complete CRUD and lifecycle coverage for nodes in Workflowy, including create, read (list and search), update, and toggle completion. No obvious gaps exist, as all essential operations for node management are covered, ensuring agents can handle full workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danield137/mcp-workflowy'

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