GitHub: GitHub - MAB2908/anytype-mcp-plus: Enhanced MCP server for Anytype — 34 tools for full CRUD on spaces, objects, types, properties, tags, templates and collections · GitHub
npm: https://www.npmjs.com/package/anytype-mcp-plus
Anytype: https://anytype.io
What you get — in plain language
Think of it as a smart assistant for your Anytype workspace you can give instructions to in plain text — and it carries them out, without clicking through the interface.
You tell Claude: “Find all my tasks in project X created this week and tag them as urgent”
Claude does it — finds the right objects, applies the tags.
You tell Claude: “Create a notes page with this content and add it to my Reading collection”
Claude creates the page — with the content, in the right collection.
You tell Claude: “What do I have on productivity across all my spaces?”
Claude searches everywhere — returns a list with brief descriptions.
What the assistant can do
- Content — create, edit, delete pages, notes, tasks, bookmarks. Write and update Markdown.
- Search — search by text and type within one space or across all spaces. Sort by date or name.
- Structure — create object types, add properties (tags, dates, links, checkboxes). Create tags inline with a property in one step.
- Tags — create, rename, recolor, delete tags; assign tags to objects.
- Collections — add/remove objects from collections; read templates.
- Spaces — view spaces and members; create and update spaces.
What is this (technical)
anytype-mcp-plus is an MCP (Model Context Protocol) server that lets AI assistants — primarily Claude — interact with your Anytype workspace through the REST API. 34 tools cover full CRUD for objects, spaces, types, properties, tags, templates, and collections.
Lineage
Built on two open-source projects:
- cryptonahue/mcp-anytype (MIT) — unofficial MCP server by Nahuel González. Served as the code foundation.
- anyproto/anytype-mcp (MIT) — official MCP server from the Anytype team. Used as a reference for API behavior research. Key reference:
parser.ts, commit 542d477, Jan 7 2026, “Clarify filter support”.
Problems discovered and fixed
1. update_property without name → Tool execution failed
API requires name in every PATCH. Fix: auto-fetch current name via GET before patching.
2. update_type with property IDs → Tool execution failed
API expects PropertyLink objects {format, key, name}, not plain IDs. Fix: resolve each ID via GET first.
3. list_tags with string key → Tool execution failed
API URL requires bafyrei... hash, not string key like "tag". Fix: auto-resolve via list_properties.
4. delete_object returns archived: false — misleading
API returns pre-archiving snapshot. Fix: added explicit deleted: true flag + explanation note.
5. create_property inline tags not shown in response
Tags variable was lost in a destructuring spread. Also: CreateTagRequest requires color as mandatory per OpenAPI spec. Fix: explicit extraction + default color “grey” + auto-fetch tags after creation.
6. Space icon silently ignored
API accepts icon for spaces but ignores it. Removed from tool schemas, documented.
7. Env var name mismatch
Config used ANYTYPE_BASE_URL but code read ANYTYPE_API_URL. Fix: both names now accepted.
8. Outdated API version
Was using 2025-05-20. Updated to 2025-11-08.
Unsolvable — API limitations
A. Body update changes object ID and resets creation date
The body field in PATCH is silently ignored despite docs. Recreation is the only working method.
B. FilterExpression in search has no effect
The official anyproto/anytype-mcp explicitly marks this as TODO: // TODO: Add support for filters (commit 542d477, Jan 2026). Use types for filtering, query for text search.
C. No REST endpoint for deleting a space. Only possible in the desktop app.
D. No CRUD for templates and collection views. API provides only GET.
E. No block-level editing. API operates on the whole markdown body only.
New in v1.1.0
anytype_global_search— search across ALL spaces (POST /v1/search)sortinsearch_objects— sort by created_date, last_modified_date, last_opened_date, name- Inline tags in
create_property— create property + tags in one API call type_keyinupdate_object— change object type (e.g. page → task) without losing content
Installation
npm install -g anytype-mcp-plus
Claude Desktop config:
{
"mcpServers": {
"anytype": {
"command": "npx",
"args": ["anytype-mcp-plus"],
"env": { "ANYTYPE_API_KEY": "your-api-key-here" }
}
}
}
Get your API key: Anytype Desktop → Settings → API → Create API Key.
License: MIT. Issues and feedback: GitHub · Where software is built