Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
MCP servers/Documents & Knowledge
anyproto avatar

Anytype Mcp

anyproto/anytype-mcp

The Anytype MCP Server converts Anytype's OpenAPI specification into MCP tools, enabling AI assistants to interact with Anytype's knowledge management platform through natural language commands. It provides capabilities for searching spaces and objects, managing members, creating and organizing objects and lists, and handling properties, tags, types, and templates within Anytype workspaces. The server solves the problem of programmatic access to Anytype's features by allowing users to manage their knowledge base through conversational AI interfaces like Claude, Cursor, and other MCP-compatible clients.

GitHub stars
437
tools
18
last updated
Sep 17, 2025
View on GitHubSave

Tools

18 tools

Public tool metadata for what this MCP can expose to an agent.

get_spacesRetrieves all available Anytype spaces for the current user. This tool returns a list of spaces with their IDs, names, and other metadata. Use this tool to get an overview of all spaces or to find a specific space ID for use with other tools. No parameters are required.

Retrieves all available Anytype spaces for the current user. This tool returns a list of spaces with their IDs, names, and other metadata. Use this tool to get an overview of all spaces or to find a specific space ID for use with other tools. No parameters are required.

No parameter schema in public metadata yet.

get_objectsSearches for and retrieves objects within a specified Anytype space. This tool allows you to list all objects or filter them using a search query. Results are paginated for better performance with large spaces. Use this tool to discover objects within a space, find specific ob...5 params

Searches for and retrieves objects within a specified Anytype space. This tool allows you to list all objects or filter them using a search query. Results are paginated for better performance with large spaces. Use this tool to discover objects within a space, find specific ob...

Parameters* required
full_responseboolean
Set to true to get full unfiltered responsedefault: false
include_textboolean
Set to true to include full formatted text content from blocksdefault: false
limitnumber
Number of results per page (1-1000)default: 100
offsetnumber
Pagination offsetdefault: 0
space_idstring
Space ID to get objects from
get_object_contentRetrieves detailed content and metadata for a specific object in an Anytype space. This tool provides comprehensive information about an object including its properties, relations, and content. Use this tool when you need to examine a specific object's details after discoverin...3 params

Retrieves detailed content and metadata for a specific object in an Anytype space. This tool provides comprehensive information about an object including its properties, relations, and content. Use this tool when you need to examine a specific object's details after discoverin...

Parameters* required
include_textboolean
Set to true to include full formatted text content from blocksdefault: false
object_idstring
Object ID to retrieve
space_idstring
Space ID containing the object
create_spaceCreates a new Anytype space with the specified name. This tool allows you to set up a fresh workspace for organizing objects and collaborating with others. Use this tool when you need to establish a new organizational container for your Anytype content.1 params

Creates a new Anytype space with the specified name. This tool allows you to set up a fresh workspace for organizing objects and collaborating with others. Use this tool when you need to establish a new organizational container for your Anytype content.

Parameters* required
namestring
Name for the new space
create_objectCreates a new object within a specified Anytype space. This tool allows you to add various types of content (pages, notes, tasks, etc.) to your spaces. You can specify the object's name, type, description, icon, and content. Optionally, you can use a template to create pre-str...8 params

Creates a new object within a specified Anytype space. This tool allows you to add various types of content (pages, notes, tasks, etc.) to your spaces. You can specify the object's name, type, description, icon, and content. Optionally, you can use a template to create pre-str...

Parameters* required
bodystring
Object body/content (Markdown supported)
descriptionstring
Object's short description
iconobject
Object icon details (structure based on API docs)
namestring
Object name
sourcestring
Source URL (for bookmarks)
space_idstring
Space ID to create the object in
template_idstring
Template ID to use
type_keystring
Type key of object to create (e.g. 'ot-page')
delete_objectPermanently removes an object from a specified Anytype space. This tool deletes the object and all its content. Use this tool with caution as deleted objects cannot be recovered. Always verify the object ID before deletion to avoid removing important content.2 params

Permanently removes an object from a specified Anytype space. This tool deletes the object and all its content. Use this tool with caution as deleted objects cannot be recovered. Always verify the object ID before deletion to avoid removing important content.

Parameters* required
object_idstring
Object ID to delete
space_idstring
Space ID containing the object
export_objectExports an Anytype object in Markdown format. This tool allows you to extract content from Anytype for use in other applications or for backup purposes. Markdown format is human-readable and suitable for documentation. Use this tool when you need to share Anytype content with...3 params

Exports an Anytype object in Markdown format. This tool allows you to extract content from Anytype for use in other applications or for backup purposes. Markdown format is human-readable and suitable for documentation. Use this tool when you need to share Anytype content with...

Parameters* required
formatstring
Export format (currently only 'markdown' is supported)
object_idstring
Object ID to export
space_idstring
Space ID containing the object
get_space_membersRetrieves a list of all members who have access to a specified Anytype space. This tool provides information about each member including their ID, name, and access level. Results are paginated for spaces with many members. Use this tool when you need to understand who has acce...3 params

Retrieves a list of all members who have access to a specified Anytype space. This tool provides information about each member including their ID, name, and access level. Results are paginated for spaces with many members. Use this tool when you need to understand who has acce...

Parameters* required
limitnumber
Number of results per page (1-1000)default: 100
offsetnumber
Pagination offsetdefault: 0
space_idstring
Space ID to get members from
get_typesRetrieves all object types available in a specified Anytype space. This tool provides information about the different types of objects that can be created in the space, including their IDs, names, and metadata. Results are paginated for spaces with many types. Use this tool wh...3 params

Retrieves all object types available in a specified Anytype space. This tool provides information about the different types of objects that can be created in the space, including their IDs, names, and metadata. Results are paginated for spaces with many types. Use this tool wh...

Parameters* required
limitnumber
Number of results per page (1-100)default: 100
offsetnumber
Pagination offsetdefault: 0
space_idstring
Space ID to get types from
get_type_detailsRetrieves detailed information about a specific object type in an Anytype space. This tool provides comprehensive details about the type's structure, including its relations, views, and configuration options. Use this tool when you need to understand the structure of a particu...2 params

Retrieves detailed information about a specific object type in an Anytype space. This tool provides comprehensive details about the type's structure, including its relations, views, and configuration options. Use this tool when you need to understand the structure of a particu...

Parameters* required
space_idstring
Space ID containing the type
type_idstring
Type ID to retrieve details for
get_templatesRetrieves all available templates for a specific object type in an Anytype space. Templates provide pre-configured structures and content for creating new objects. This tool returns a list of templates with their IDs, names, and metadata. Results are paginated for types with m...4 params

Retrieves all available templates for a specific object type in an Anytype space. Templates provide pre-configured structures and content for creating new objects. This tool returns a list of templates with their IDs, names, and metadata. Results are paginated for types with m...

Parameters* required
limitnumber
Number of results per page (1-1000)default: 100
offsetnumber
Pagination offsetdefault: 0
space_idstring
Space ID containing the type
type_idstring
Type ID to get templates for
get_template_detailsRetrieves detailed information about a specific template in an Anytype space. This tool provides comprehensive details about the template's structure, content, and configuration. Use this tool when you need to examine a template's properties before using it to create new objec...3 params

Retrieves detailed information about a specific template in an Anytype space. This tool provides comprehensive details about the template's structure, content, and configuration. Use this tool when you need to examine a template's properties before using it to create new objec...

Parameters* required
space_idstring
Space ID containing the template
template_idstring
Template ID to retrieve details for
type_idstring
Type ID for the template
get_list_viewsRetrieves views configured for a specific list in a space. Views define how objects in the list are filtered and sorted.4 params

Retrieves views configured for a specific list in a space. Views define how objects in the list are filtered and sorted.

Parameters* required
limitnumber
Number of results per page (1-1000)default: 100
list_idstring
List ID to get views for
offsetnumber
Pagination offsetdefault: 0
space_idstring
Space ID containing the list
get_list_view_objectsRetrieves objects from a specific list view with applied filters and sorting.5 params

Retrieves objects from a specific list view with applied filters and sorting.

Parameters* required
limitnumber
Number of results per page (1-1000)default: 100
list_idstring
List ID
offsetnumber
Pagination offsetdefault: 0
space_idstring
Space ID containing the list
view_idstring
View ID
add_objects_to_listAdds one or more objects to a specific list in a space.3 params

Adds one or more objects to a specific list in a space.

Parameters* required
list_idstring
List ID to add objects to
object_idsarray
Array of object IDs to add
space_idstring
Space ID containing the list
remove_object_from_listRemoves an object from a specific list in a space.3 params

Removes an object from a specific list in a space.

Parameters* required
list_idstring
List ID to remove object from
object_idstring
Object ID to remove
space_idstring
Space ID containing the list
global_searchExecutes a search across all spaces the user has access to, with options for filtering by type and sorting.7 params

Executes a search across all spaces the user has access to, with options for filtering by type and sorting.

Parameters* required
include_textboolean
Set to true to include full formatted text content from blocks. USE WITH CAUTION: This can return a large amount of data.default: false
limitnumber
Number of results per page (1-1000)default: 100
offsetnumber
Pagination offsetdefault: 0
querystring
Search term
sort_directionstring
Sort directionone of asc · descdefault: desc
sort_propertystring
Property to sort byone of created_date · last_modified_date · last_opened_date · namedefault: last_modified_date
typesarray
Optional list of object type keys or IDs to filter by
search_spaceExecutes a search within a specific space, with options for filtering by type and sorting.9 params

Executes a search within a specific space, with options for filtering by type and sorting.

Parameters* required
full_responseboolean
Set to true to get full unfiltered responsedefault: false
include_textboolean
Set to true to include full formatted text content from blocks. USE WITH CAUTION: This can return a large amount of data.default: false
limitnumber
Number of results per page (1-1000)default: 100
offsetnumber
Pagination offsetdefault: 0
querystring
Search term
sort_directionstring
Sort directionone of asc · descdefault: desc
sort_propertystring
Property to sort byone of created_date · last_modified_date · last_opened_date · namedefault: last_modified_date
space_idstring
Space ID to search within
typesarray
Optional list of object type keys or IDs to filter by

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Configuration

OPENAPI_MCP_HEADERS*secret

JSON string of headers for Anytype API. Example: {"Authorization":"Bearer <YOUR_API_KEY>", "Anytype-Version":"2025-05-20"}

Readme

Anytype MCP Server

NPM version Add anytype MCP server to Cursor Add MCP Server anytype to LM Studio Add to Kiro

The Anytype MCP Server is a Model Context Protocol (MCP) server enabling AI assistants to seamlessly interact with Anytype's API through natural language.

It bridges the gap between AI and Anytype's powerful features by converting Anytype's OpenAPI specification into MCP tools, allowing you to manage your knowledge base through conversation.

Features

  • Global & Space Search
  • Spaces & Members
  • Objects & Lists
  • Properties & Tags
  • Types & Templates

Quick Start

1. Get Your API Key

  1. Open Anytype
  2. Go to App Settings
  3. Navigate to API Keys section
  4. Click on Create new button
Alternative: Get API key via CLI

You can also get your API key using the command line:

npx -y @anyproto/anytype-mcp get-key

2. Configure Your MCP Client

Claude Desktop, Cursor, Windsurf, Raycast, etc.

Add the following configuration to your MCP client settings after replacing <YOUR_API_KEY> with your actual API key:

{
  "mcpServers": {
    "anytype": {
      "command": "npx",
      "args": ["-y", "@anyproto/anytype-mcp"],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer <YOUR_API_KEY>\", \"Anytype-Version\":\"2025-11-08\"}"
      }
    }
  }
}

Tip: After creating an API key in Anytype, you can copy that ready-to-use configuration snippet with your API key already filled in from the API Keys section.

Claude Code (CLI)

Run this command to add the Anytype MCP server after replacing <YOUR_API_KEY> with your actual API key:

claude mcp add anytype -e OPENAPI_MCP_HEADERS='{"Authorization":"Bearer <YOUR_API_KEY>", "Anytype-Version":"2025-11-08"}' -s user -- npx -y @anyproto/anytype-mcp
Alternative: Global Installation

If you prefer to install the package globally:

  1. Install the package:
npm install -g @anyproto/anytype-mcp
  1. Update your MCP client configuration to use the global installation:
{
  "mcpServers": {
    "anytype": {
      "command": "anytype-mcp",
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer <YOUR_API_KEY>\", \"Anytype-Version\":\"2025-11-08\"}"
      }
    }
  }
}

Custom API Base URL

By default, the server connects to http://127.0.0.1:31009. For anytype-cli (port 31012) or other custom base URLs, set ANYTYPE_API_BASE_URL:

Example Configuration

MCP Client (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "anytype": {
      "command": "npx",
      "args": ["-y", "@anyproto/anytype-mcp"],
      "env": {
        "ANYTYPE_API_BASE_URL": "http://localhost:31012",
        "OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer <YOUR_API_KEY>\", \"Anytype-Version\":\"2025-11-08\"}"
      }
    }
  }
}

Claude Code (CLI):

claude mcp add anytype \
  -e ANYTYPE_API_BASE_URL='http://localhost:31012' \
  -e OPENAPI_MCP_HEADERS='{"Authorization":"Bearer <YOUR_API_KEY>", "Anytype-Version":"2025-11-08"}' \
  -s user -- npx -y @anyproto/anytype-mcp

Example Interactions

Here are some examples of how you can interact with your Anytype:

  • "Create a new space called 'Project Ideas' with description 'A space for storing project ideas'"
  • "Add a new object of type 'Task' with title 'Research AI trends' to the 'Project Ideas' space"
  • "Create a second one with title 'Dive deep into LLMs' with due date in 3 days and assign it to me"
  • "Now create a collection with the title "Tasks for this week" and add the two tasks to that list. Set due date of the first one to 10 days from now"

Tool behavior and API versions

The server loads one OpenAPI document at startup. With the standard configuration it tries /v2/docs/openapi.json first. If that endpoint returns 404 or 410, it falls back to /docs/openapi.json on the same server, where older apps serve v1. This selects v2 whenever available while supporting apps that only have the legacy API:

"args": ["-y", "@anyproto/anytype-mcp"]

To explicitly use the legacy v1 API, select its versioned spec:

"args": ["-y", "@anyproto/anytype-mcp", "run", "http://127.0.0.1:31009/v1/docs/openapi.json"]

The versioned /v2/docs/openapi.json URL also remains available for explicitly selecting v2.

Explicit spec URLs and local files are used exactly as supplied, without fallback. Authentication failures, server errors, connection failures, and malformed JSON also fail startup instead of selecting another API. The wrapper uses the routes declared in the selected document without rewriting their version prefixes.

Discovery runs once per MCP process. Tool calls reuse the parsed specification and HTTP client without fetching OpenAPI again. Restart the MCP server after updating Anytype to discover a newly available API version; no persistent spec cache is used.

Tool descriptions contain operation guidance; API errors are returned when calls fail, with isError: true, HTTP status when available, and the API's code, message, issues, and hints.

The server names its own operations by OpenAPI operationId in the prose it serves. In the MCP tool listing and in the field descriptions of a get_schema or get_op_schema response, those names are re-spelled as this wrapper's tool names (list_properties becomes API-list-properties). A repair hint is different: the server spells each operation it names as a REST route and lists it as a typed see_also reference, so the wrapper replaces that route text with the tool name and arguments, and annotates the reference with tool and args. Literal values are never rewritten: enum and example values, op names, endpoint strings and output schemas keep the server's spelling, and so do the OpenAI and Anthropic tool exports, which name tools by operationId.

Successful v1 object creation, updates, deletion, and chat creation return a compact object receipt with its ID, space ID, name, archive state, and type identity when available. The wrapper omits echoed markdown, snippets, property values, icons, and full type definitions. It preserves warnings, generated IDs, and etag/retry metadata. Read the object to retrieve its content when needed. v2 already returns compact create/edit receipts, which are passed through unchanged apart from their warnings, whose hints are re-spelled and whose references gain tool and args; reads, searches, and errors also keep their full API responses.

The shared tool policy controls inputs and request routing:

  • Authorization and Anytype-Version come from OPENAPI_MCP_HEADERS.
  • expected_etag maps to If-Match. Use the etag from a previous read to prevent overwriting a changed object. The wrapper does not retry a failed precondition or remove it. Response etags are returned in a separate request_metadata text block when available.
  • request_key maps to Idempotency-Key on endpoints that declare that header. Omit it for a new write; the wrapper generates a unique key and returns it in request_metadata or an error's request_key. Reuse it only to retry the same write. Separate calls get different generated keys, even with identical documents. There are no automatic retries. A global Idempotency-Key in OPENAPI_MCP_HEADERS is rejected.
  • Existing callers can still use the exact legacy If-Match and Idempotency-Key argument names. They are not advertised alongside the new names. Conflicting alias values are rejected.
  • Pagination, field selection, dry_run, create_missing_options, and schema discovery remain available.
  • Pairing and API-key management are excluded. v2 auth_whoami remains available for inspecting the current credential's permissions; its response does not contain the bearer token.
  • Event-stream tools are excluded because they do not produce a bounded tool result. Use message-listing tools to retrieve chat messages.
  • File downloads are supported through a binary adapter. The tool streams bytes to a private temporary directory and returns path, filename, media_type, and size. The path is local to the machine/container running MCP. Successful files remain there until removed or cleaned up by the operating system; interrupted downloads are removed. Range and cache headers are not model inputs.

Known inputs with HTTP meanings are matched by parameter location, so a document's own fields are preserved. Open-ended JSON documents use the body argument. Objects with declared fields use flat arguments. The existing omission of flattened filters fields and the FilterExpression schema fallback remain separate limitations; this cleanup does not restore filter-schema support.

Duplicate final tool names fail startup with both routes identified. Select separate v1/v2 specs instead of merging operations with overlapping names.

Set ANYTYPE_MCP_DEBUG=1 for concise operation names, response status, and timing on stderr. Arguments, authorization headers, payloads, and entire operation tables are not logged.

Measuring tool definitions

bun run measure-tools
# Or inspect a different local OpenAPI document:
bun run measure-tools ./path/to/openapi.json

The default command compares fixed v1 and v2 fixtures. It reports tool count, serialized characters, and UTF-8 bytes, not model-specific token counts.

Development

Installation from Source

  1. Clone the repository:
git clone https://github.com/anyproto/anytype-mcp.git
cd anytype-mcp
  1. Install dependencies (requires Bun):
bun install
  1. Build the project:
bun run build
  1. Link the package globally (optional):
bun link

Contribution

Thank you for your desire to develop Anytype together!

❤️ This project and everyone involved in it is governed by the Code of Conduct.

🧑‍💻 Check out our contributing guide to learn about asking questions, creating issues, or submitting pull requests.

🫢 For security findings, please email security@anytype.io and refer to our security guide for more information.

🤝 Follow us on Github and join the Contributors Community.


Made by Any — a Swiss association 🇨🇭

Licensed under MIT.

Details

Repository
github.com/anyproto/anytype-mcp
Category
Documents & Knowledge
Package
@anyproto/anytype-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Documents & Knowledge MCP servers

View all
1gannonh avatarMementogannonh/memento-mcpMemento MCP: A Knowledge Graph Memory System for LLMs418stars
2runekaagaard avatarMCP Alchemy Serverrunekaagaard/mcp-alchemyA MCP (model context protocol) server that gives the LLM access to and knowledge about relational databases like SQLite, Postgresql, MySQL & MariaDB, Oracle, an403stars
3onebirdrocks avatarEbook-MCPonebirdrocks/ebook-mcpProvides EPUB and PDF processing via MCP to query metadata, table of contents, and content from ebooks.366stars
4chemiguel23 avatarMemoryMeshchemiguel23/memorymeshA knowledge graph server that uses the Model Context Protocol (MCP) to provide structured memory persistence for AI models.342stars
5ozamatash avatarOpen Deep Researchozamatash/deep-research-mcpProvides deep, iterative research with source reliability scoring and markdown reports for MCP-enabled AI agents.322stars
6teelaitila avatarDeep Researchteelaitila/deep-research-mcpProvides a multi-backend AI research server exposing an MCP HTTP endpoint for deep, iterative topic exploration and markdown reporting.322stars