返回 MCP 目录
public公开dns本地运行

python-memory-mcp-server

一个基于内存的知识图谱管理MCP服务器,提供实体、关系和观察的严格验证管理功能

article

README

🚀 内存 MCP 服务器

内存 MCP 服务器是一个高效的数据管理工具,支持实体生命周期管理和复杂查询操作,能帮助用户轻松进行数据管理和操作。

🚀 快速开始

要运行 MCP 服务器,请按照以下步骤操作:

  1. 克隆项目仓库:
    git clone https://github.com/your-organization/mcp.git
    cd mcp
    
  2. 创建并激活虚拟环境(推荐使用 Python 3.8 或更高版本):
    python -m venv venv
    source venv/bin/activate  # 在 Unix/MacOS 中
    venv\Scripts\activate     # 在 Windows 中
    
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 启动服务器:
    python server.py
    

📦 安装指南

安装 MCP 服务器的步骤如下:

  1. 克隆项目仓库:
    git clone https://github.com/your-organization/mcp.git
    cd mcp
    
  2. 创建并激活虚拟环境(推荐使用 Python 3.8 或更高版本):
    python -m venv venv
    source venv/bin/activate  # 在 Unix/MacOS 中
    venv\Scripts\activate     # 在 Windows 中
    
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 启动服务器:
    python server.py
    

📚 详细文档

数据验证规则

实体名称规则

  • 必须以小写字母开头。
  • 只能包含字母、数字和下划线。
  • 最长不超过 64 字符。

实体型规则

  • 支持的类型包括:"user", "system", "application", "service"。

属性值规则

  • 数值类型必须是整数或浮点数。
  • 字符串长度不超过 256 字符。
  • 必须使用 JSON 标准数据格式。

错误处理

以下是服务器返回的常见错误类型:

  • NOT_FOUND:资源未找到。
  • VALIDATION_ERROR:输入数据无效。
  • INTERNAL_ERROR:服务器内部错误。
  • INVALID_REQUEST:请求格式错误。

响应模型

实体响应

class EntityResponse(BaseModel):
    success: bool
    data: Optional[Dict[str, Any]] = None
    error: Optional[str] = None
    error_type: Optional[str] = None

图谱响应

class GraphResponse(BaseModel):
    success: bool
    data: Optional[Dict[str, Any]] = None
    error: Optional[str] = None
    error_type: Optional[str] = None

开发指南

运行测试

pytest tests/

添加新功能

  1. 更新 validation.py 中的验证规则。
  2. tests/test_validation.py 中添加新的测试用例。
  3. knowledge_graph_manager.py 中实现新功能。

💻 使用示例

基础用法

检索实体

response = client.get_entity("user_123")
if response.success:
    print(response.data)
else:
    print(f"错误:{response.error}")

更新实体属性

data = {
    "age": 25,
    "name": "Alice",
    "department": "技术部"
}
response = client.update_entity("user_123", data)

删除实体

response = client.delete_entity("user_123")
if response.error_type == "NOT_FOUND":
    print("实体不存在。")
elif not response.success:
    print(f"错误:{response.error}")
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端