返回市场
任意类型-MCP服务器

任意类型-MCP服务器

作者:Qwinty23 星标更新:2025-08-07

项目介绍

技术文档摘要

正式发布的 ANYTYPE MCP

https://github.com/anyproto/anytype-mcp

Anytype MCP 服务器

smithery 徽章

这是一个基于 Model Context Protocol (MCP) 的服务器,提供对 Anytype API 的访问,允许 AI 助手和其他 MCP 客户端与您的 Anytype 数据进行交互。

基于 Anytype API 定义 v0.46+ (2025-03-17)。 确保您的 Anytype 桌面应用程序版本兼容。

特性

  • 获取空间列表 (get_spaces)
  • 在空间内搜索/获取对象 (get_objects, search_space) 或全局搜索 (global_search)
  • 获取详细对象内容 (get_object_content,支持检索全文)
  • 创建和删除空间 (create_space) 和对象 (create_object, delete_object)
  • 将对象导出为 Markdown (export_object)
  • 管理列表视图和列表中的对象 (get_list_views, get_list_view_objects, add_objects_to_list, remove_object_from_list)
  • 获取空间成员 (get_space_members)
  • 获取类型和模板 (get_types, get_type_details, get_templates, get_template_details)

先决条件

  • Node.js 18 或更高版本
  • 本地运行的 Anytype 桌面应用程序
  • Anytype 账户

安装

手动安装

  1. 克隆此仓库:

    git clone https://github.com/Qwinty/anytype-mcp.git
    cd anytype-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目(将 TypeScript 编译为 JavaScript 并放置在 build/ 目录中):

    npm run build
    
  4. 获取应用密钥: 在配置服务器之前,您需要从 Anytype 获取一个应用密钥。请参阅下面的“获取应用密钥”部分。

  5. 将 MCP 服务器添加到您的 MCP 配置文件中

获取应用密钥

在使用 MCP 服务器之前,您需要从 Anytype 桌面应用程序获取一个应用密钥:

  1. 确保 Anytype 桌面应用程序正在运行

  2. 运行辅助脚本:

    npm run get-key
    
  3. 按照指示授权应用程序

  4. 记下应用密钥以供配置使用

配置

将 Anytype MCP 服务器添加到您的 MCP 配置文件中:

  • 对于 Claude:编辑 claude_desktop_config.json
  • 对于其他 MCP 客户端:编辑各自的配置文件

示例配置:

{
  "mcpServers": {
    "anytype": {
      "command": "node",
      "args": ["{path/to/anytype-mcp}/build/index.js"],
      "env": {
        "ANYTYPE_APP_KEY": "YOUR_APP_KEY_HERE"
      },
      "disabled": false
    }
  }
}

{path/to/anytype-mcp} 替换为您实际的安装路径,并将 YOUR_APP_KEY_HERE 替换为您获得的应用密钥。

使用

启动服务器

MCP 服务器通常由 MCP 客户端自动启动。不过,您也可以手动启动它来进行测试:

npm start

可用工具

有关可用工具及其使用示例的详细列表,请参见 Tools.md

系统提示

此外,还提供了适用于使用此服务器的 AI 助手的系统提示样本,位于 docs/system-prompt.md

令牌效率和数据过滤

为了优化与 AI 助手的令牌使用,此 MCP 服务器默认实现了响应过滤,针对返回对象数据的工具(如 get_objects, global_search, search_space)。

  • 默认行为: 服务器返回对象数据的简化版本,包括 ID、名称、类型、图标、布局、空间 ID、根 ID、摘要(如果存在)、块数、标签、创建/修改日期和创建者信息等重要元数据。完整的块内容和详细的关联被省略。
  • include_text: true 若干工具(get_objects, get_object_content, global_search, search_space)支持可选的 include_text 参数。当设置为 true 时,服务器会提取并包含对象块中的完整格式化文本内容到 full_text 字段中。当您需要完整文本时使用此参数,但请注意这会显著增加响应大小和令牌数量。
  • full_response: true 工具 get_objects, global_searchsearch_space 也支持 full_response 参数。将其设置为 true 可绕过所有过滤并直接返回来自 Anytype API 的原始完整 JSON 响应。这提供了最详细的信息,但也使用最多的令牌。

根据您是否只需要元数据、完整文本内容或完整的原始 API 响应,选择合适的参数。

故障排除

Anytype API 未响应

确保您的计算机上正在运行 Anytype 桌面应用程序。MCP 服务器连接到本地 Anytype API 的 http://localhost:31009/v1

认证问题

如果您遇到认证错误:

  1. 运行 npm run get-key 以获取新的应用密钥
  2. 使用新密钥更新您的 MCP 配置
  3. 重启您的 MCP 客户端

本地 API 端口

服务器默认连接到 Anytype API 的 http://localhost:31009/v1。如果您的 Anytype 安装使用了不同的端口,您目前需要修改 src/index.ts 中的 apiBaseUrl 变量并重新构建 (npm run build)。未来可能会通过环境变量来配置此选项。

许可证

MIT