Connect Craft to AI assistants and developer tools to search, manage, and work with documents, daily notes, and tasks. Create, update, and delete documents, manage collections, filter content by tags and dates, and use your Craft workspace as a live knowledge source for AI-powered workflows and automation
Hermes is Nous Research's command-line agent. MCP servers are declared in its YAML config and reloaded without a restart.
This guide connects Craft MCP to Hermes through MewCP, so Hermes can use Craft MCP's 3 tools, like craft_read, craft_write and blocks_revert, without your Craft MCP credentials ever reaching the app.
Craft MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
Work with pages, databases, blocks and collaborative knowledge stored in Notion. Create, update and organize content while building workflows around structured information and documentation.
Create, track, and manage Google Tasks and task lists directly from your AI workflows. This stateless, multi-tenant MCP server exposes the Google Tasks API for listing, creating, updating, completing, and deleting both tasks and task lists. Mutating tools such as update_task and update_tasklist return both the before and after state of the resource, making it easy to build assistants and automations that manage to-do lists and reminders on a users behalf
Access and manage files, folders and shared content stored in Google Drive. Upload, download, organize and search documents while working with permissions and collaborative file storage.
Connect AI agents to ClickUp to manage tasks, projects, documents, lists, comments, and workflows, while searching workspace data and automating project management activities.
Other clients
Craft MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Craft MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
Edit config.yaml in your Hermes config directory (~/.hermes).
Put this under the top-level "mcp_servers:" key.
Run /reload-mcp in Hermes, or start a fresh session. Sign in when the browser window opens.
Start a new chat and ask: "List the tools you can use from MewCP." You should see your connected apps.
Read/search Craft; batch with semicolons. Keywords: find/open/read/search docs/pages/cards/blocks, daily notes, tasks/inbox/logbook, folders/spaces, collections/tables/schema/items/fields/relations, links/URLs/richUrl, images/files/videos, themes/washi. Cmds: folders list [--filter <regex>] folders explore-icons <term> documents list [--location unsorted|trash|templates|daily_notes | --folder <folderId>] documents resolve-link <url> -> rootBlockId for blocks/write commands tasks list [--scope active|upcoming|inbox|logbook|document|all] # all = every task block in full-space, not a union of other scopes blocks get <rootBlockId> [--depth <depth>] [--format json|markdown] blocks get --date today blocks explore-themes --type page|fonts|code blocks explore-washi blocks search-unsplash <query> collections list [--document <rootBlockId>] collections schema --collection <collectionId> collections items-get --collection <collectionId> collections views-list --collection <collectionId> connection info whiteboards elements get --whiteboard <whiteboardId> images view --url <image-url> search <query> [--location unsorted|trash|templates|daily_notes] Common flags: --offset, --cursor, --filter <regex>, --format json|markdown. Help: "<entity> <action> --help". Example batch: folders list; documents list; blocks get ABC-123 --format markdown For Craft links, run 'documents resolve-link <url>' first; use returned rootBlockId for blocks get/write commands, not raw URL documentId. Block reminders: reminders list [--status incomplete|completed|upcoming|all] Task dates notify in-app. For timed alerts on any block: reminders --help.
Write; batch semicolons. docs blocks daily notes tasks todos folders collections tables schema items links files; add append update rename delete trash move reorder repeat folders create --name <name> [--parent <folderId>] documents create --title <requestedTitle> [--destination unsorted|templates | --folder <folderId>] tasks add --markdown <text> [--state todo|done|canceled] [--schedule <date>] [--deadline <date>] tasks update/delete --task <taskId> ... blocks add --id <pageId> --markdown <text> blocks add --siblingId <blockId> --markdown <text> [--position before|after] blocks update --id <blockId> --markdown <text> blocks delete --id <blockId> blocks move --id <blockId> --targetId <pageId> collections create --help collections rename --collection <collectionId> --name <name> collections items-add --collection <collectionId> --<PropertyName> <value> collections items-update --collection <collectionId> --id <itemId> --<PropertyName> <value> collections items-delete --collection <collectionId> --id <itemId> collections views-create/update/delete/set-active --collection <collectionId> ... comments add --comments '[{"blockId":"blockId","content":"text"}]' whiteboards create [--position <json>]; whiteboards elements add/update/delete --whiteboard <whiteboardId> ... MD: MCP command text needs actual newline chars; not to type backslash-n text for rows; \n\n=blocks. After + Toggle, rewrite child text as " - child"; never plain/flush-left. update:first replaces;rest inserts. Style: blocks update --help. IDs:resolve;rootBlockId!=URL docId. Date YYYY-MM-DD/today/tomorrow. Ext:<callout>,+ Toggle,> quote. Help:<entity> <action> --help Block reminders: reminders --help Task dates notify in-app. For timed alerts on any block: reminders --help.
Reverts a previous mutation if blocks haven't been modified since. Used by widgets for undo/redo functionality.