项目简介
Anytype API MCP服务器是一个基于FastAPI框架开发的后端服务,它实现了Model Context Protocol (MCP) 协议,旨在为大型语言模型 (LLM) 客户端提供与Anytype集成的桥梁。通过此服务器,LLM应用可以安全、可扩展地访问和操作Anytype中的数据和功能,实现更强大的上下文感知能力。
主要功能点
- 资源管理: 提供对Anytype对象(Objects)的创建、读取、列表、删除和导出功能,允许LLM客户端管理Anytype中的知识库资源。
- 工具注册: 将Anytype API的操作封装为MCP工具(Tools),例如创建对象、搜索对象、管理空间等,方便LLM客户端调用这些工具来执行特定任务。
- 数据访问: 允许LLM客户端通过标准化的MCP接口访问Anytype空间(Spaces)、对象类型(Types)、模板(Templates)和成员信息。
- 认证与安全: 支持基于令牌的身份验证,确保LLM客户端的安全访问。
- 灵活部署: 支持多种运行方式,包括本地Python环境和Docker容器。
安装步骤
-
克隆仓库
git clone https://github.com/Blucknote/anytype-api cd anytype-api -
创建虚拟环境并安装依赖
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows uv pip install -e .[dev]
服务器配置
MCP客户端需要配置以下JSON信息才能连接到Anytype API MCP服务器。请注意,这里的 'command' 和 'args' 是MCP服务器的启动命令,并非您需要直接在终端执行的代码。MCP客户端会根据这些配置自动启动和连接服务器。
{ "serverName": "Anytype MCP Server", "command": "python", "args": [ "app/anytype_mcp_server.py" ], "transport": "sse" }
配置参数说明:
- 'serverName': 服务器的名称,可以自定义,用于在MCP客户端中标识该服务器。
- 'command': 启动MCP服务器的命令,这里指定使用 'python' 解释器。
- 'args': 启动命令的参数列表,这里指定执行 'app/anytype_mcp_server.py' 脚本。
- 'transport': MCP客户端与服务器通信的传输协议,这里配置为 'sse' (Server-Sent Events)。
环境变量配置:
在运行MCP服务器之前,您需要配置以下环境变量,通常可以在 '.env' 文件中设置:
- 'ANYTYPE_API_URL': Anytype API 的基础 URL,例如 'http://localhost:31009'。
- 'ANYTYPE_SESSION_TOKEN': 用于访问 Anytype API 的会话令牌。
- 'ANYTYPE_APP_KEY': 用于 API 客户端认证的应用密钥。
基本使用方法
-
启动MCP服务器: 根据上述服务器配置,MCP客户端会自动启动 'python app/anytype_mcp_server.py' 命令来运行服务器。请确保您的环境中已安装Python和所需的依赖。
-
配置Anytype API连接: 您需要在运行 MCP 服务器的环境中配置连接 Anytype API 所需的环境变量,例如 'ANYTYPE_API_URL','ANYTYPE_SESSION_TOKEN' 和 'ANYTYPE_APP_KEY'。
-
使用MCP客户端调用工具: 一旦MCP服务器启动并成功连接,LLM客户端就可以通过MCP协议调用服务器提供的工具,例如 'create_object' 工具用于在Anytype中创建新的对象。具体的工具列表和参数可以参考仓库的 'README.md' 文件中 "MCP Server" 部分的描述,或者查看 'app/anytype_mcp_server.py' 文件中 '@mcp.tool()' 注解定义的函数。
例如,使用 'create_object' 工具时,您需要提供 'space_id'、'name'、'object_type_unique_key' 和 'body' 等参数来创建Anytype对象。
请参考仓库的 'README.md' 文件获取更详细的功能介绍和使用示例。
信息
分类
AI与计算