任意类型的 MCP 服务器
任意类型 MCP 服务器是一个 示范背景协议(MCP) 服务器使 AI 助手能够无缝互动 任意类型的 API 通过自然语言.
它通过将Anytype的OpenAPI规格转换为MCP工具来弥补AI和Anytype强大的特性之间的差距,使得您可以通过对话来管理自己的知识库.
特征
- 全球空间搜索( S)
- 空间和成员
- 对象列表( L)
- 属性标记( T)
- 类型模板( T)
快速启动
1. 获取您的 API 密钥
- 打开任意类型
- 转到 App 设置
- 导航到 API 密钥部分
- 点击
Create new按钮
选项: 通过 CLI 获取 API 密钥
您也可以使用命令行获取您的 API 密钥 :
npx -y @anyproto/anytype-mcp get-key
2. 配置您的 MCP 客户端
克洛德·德克托克(英语:Claude Desktop),克索克(英语:Cursor),温德苏夫(英语:Windsurf),雷克斯特等.
在替换 MCP 客户端设置后添加以下配置 <YOUR_API_KEY> 使用您的 API 键 :
{
"mcpServers": {
"anytype": {
"command": "npx",
"args": ["-y", "@anyproto/anytype-mcp"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer <YOUR_API_KEY>\", \"Anytype-Version\":\"2025-11-08\"}"
}
}
}
}
提示 : 在 Anytype 中创建了 API 密钥后, 您可以用您已经从 API 密钥 区段填入的 API 密钥来复制该即用配置片段 .
克劳德代码( CLI)
运行此命令在替换后添加任意类型的 MCP 服务器 <YOUR_API_KEY> 使用您的 API 键 :
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
替代品:全球安装
如果您喜欢在全球安装软件包 :
- 安装软件包 :
npm install -g @anyproto/anytype-mcp
- 更新您的 MCP 客户端配置以使用全局安装 :
{
"mcpServers": {
"anytype": {
"command": "anytype-mcp",
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer <YOUR_API_KEY>\", \"Anytype-Version\":\"2025-11-08\"}"
}
}
}
}
自定义 API 基础 URL
默认情况下,服务器连接到 http://127.0.0.1:31009用于 anytype-cli (开口) 31012)或其他自定义基址,设置 ANYTYPE_API_BASE_URL数字 :
示例配置
MCP 客户端( Claude Desktop, Cursor等) :
{
"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\"}"
}
}
}
}
克劳德代码(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
示例互动
以下是您如何与任意类型交互的一些实例 :
- 创建一个新的空间,名为“ Project Ideas ” , 其描述为“ 存储项目想法的空间 ”
- “ 添加一个“ 任务” 类型的新对象, 标题是“ 研究 AI 趋势 ” 到“ 项目构想” 空间
- "创造第二个标题"深入LLMS" 3天后到期并分配给我"
- " 现在以"本周的任务"为题来创建"活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活 将第一个日期确定为10天之后的“
工具行为和 API 版本
服务器在启动时加载一个 OpenAPI 文档 。 用它的标准配置 /v2/docs/openapi.json 先说 如果该端点返回404或410,则返回到 /docs/openapi.json 在同一服务器上,旧的应用程序服务于v1. 此选项在可用时选择 v2, 同时支持仅具有遗留 API 的应用程序 :
"args": ["-y", "@anyproto/anytype-mcp"]
要明确使用遗留 v1 API,请选择其版本的 spec :
"args": ["-y", "@anyproto/anytype-mcp", "run", "http://127.0.0.1:31009/v1/docs/openapi.json"]
版本 /v2/docs/openapi.json URL也仍然可供明确选择v2.
明确的 spec URL 和本地文件完全按照提供的方式使用,没有倒置. 认证失败,服务器出错,连接出错,以及配置不当的JSON也失败了启动,而不是选择了另一个API. 包装器使用所选文档中声明的路由,而不重写其版本前缀.
发现器每个MCP进程运行一次. 工具调用再使用解析的规格和 HTTP 客户端而不再次获取 OpenAPI 。 在更新 Anytype 后重新启动 MCP 服务器以发现新可用的 API 版本; 没有使用持续的 spec 缓存 .
工具描述包含操作指导; 调用失败时返回 API 出错, 用 isError: true,可用的HTTP状态,以及API的代码,消息,问题和提示.
服务器在它所服务的道具中用OpenAPI操作Id命名自己的操作. 在MCP工具列表和a的实地描述中 get_schema 或者说 get_op_schema ,这些名称被重新拼写为这个包装的工具名(list_properties 变成 API-list-properties) (中文(简体) ). 修补提示不同: 服务器拼写其命名为 REST 路由的每个操作, 并将其列为已键入 see_also 引用,所以将该路由文本用工具名称和参数来代替,并将引用注释为 tool 财务报告和审定财务报表 args。字面值永远不会被重写: enum和示例值, op 名称, endpoint 字符串和输出计划保持服务器的拼写,OpenAI和Anthropic工具导出也一样,它们通过操作Id来命名工具.
成功 v1 对象创建、 更新、 删除和聊天创建返回密钥 object 带有其身份、空间身份、名称、档案状态和可用类型身份的收据。 包裹会省略回放标记,片段,属性值,图标,以及完整类型定义. 它保存了警告、生成的ID和etag/retric元数据。 需要时读取对象以获取其内容 。 v2 已返回压缩创建/编辑收据,这些收据除了警告之外,没有变化,其提示被重新拼写,其引用得益 tool 财务报告和审定财务报表 args;读取,搜索,和出错也会保留其完整的API响应.
共享工具政策控制输入和请求路径:
Authorization财务报告和审定财务报表Anytype-Version来自OPENAPI_MCP_HEADERS。 。 。 .expected_etag地图到If-Match。使用上一个读取的 etag 来防止覆盖已更改的对象。 包装不会重试一个失败的前提条件, 也不会删除它 。 反应电子数据单独返回request_metadata可用时的文本块.request_key地图到Idempotency-Key上面的结尾点可以表示这个标题。 打开它换作新写; 包装器生成一个独特的密钥并返回其中request_metadata或错误request_key。重用它只用于重试相同的写作。 单独的呼叫会得到不同的生成的密钥,即使有相同的文档. 没有自动复试。 全球Idempotency-Key内OPENAPI_MCP_HEADERS被拒绝.- 现有呼叫者仍然可以使用准确的遗产
If-Match财务报告和审定财务报表Idempotency-Key参数名称。 这些广告没有在新名称的同时刊登。 相冲突别名值被否定. - 接地,选地,
dry_run, (中文(简体) ),create_missing_options,而且尚有计划发现. - 对等和API-key管理不包括在内. 页:1
auth_whoami仍可检查当前证书的许可;其答复不包含无记名标志. - 事件流工具被排除在外,因为它们不会产生有限度的工具结果. 使用信件列表工具检索聊天信息 .
- 文件下载通过二进制适配器支持. 工具流字节为私有临时目录并返回
path, (中文(简体) ),filename, (中文(简体) ),media_type,以及size。路径是本地到运行 MCP 的机器/容器。 成功的文件留在那里,直到操作系统移除或清理;被中断的下载被移除. 范围和缓存头不是模型输入 .
已知的有HTTP含义的输入被参数位置所匹配,因此文档本身的字段被保存. 不限成员名额的JSON文件使用 body 参数。 已声明字段的对象使用平方参数。 现有的平地化的遗漏 filters 选项 FilterExpression schema倒计时仍然是单独的限制;这种清理不会恢复过滤-schema支持.
复制最终工具名失败启动, 并找到两个路径 。 选择单独的v1/v2 specs,而不是用重叠的名称合并操作.
设定 ANYTYPE_MCP_DEBUG=1 用于简洁的操作名称、响应状态和 Stderr 上的时间。 参数、授权头、有效载荷和整个操作表没有记录.
衡量工具定义
bun run measure-tools
# Or inspect a different local OpenAPI document:
bun run measure-tools ./path/to/openapi.json
默认命令比较了固定的v1和v2固定. 它报告工具计数,序列化字符,以及UTF-8字节,而不是模型专用的符号计数.
发展
从源安装
- 清除仓库 :
git clone https://github.com/anyproto/anytype-mcp.git
cd anytype-mcp
- 安装依赖关系( 需要) 阿宝:
bun install
- 构建工程 :
bun run build
- 将软件包链接到全球( 可选) :
bun link
捐款
谢谢你想一起开发任何类型!
这个项目以及参与其中的每个人都受到 行为守则。 。 。 .
看看我们 贡献指南 了解提问、制造问题或提交拉动请求.
有关安全发现,请发电子邮件 安全@ anytype.io 并提到我们的 安全指南 更多信息.
瑞士协会
许可证根据 麻省理工学院。 。 。 .