README
🚀 个人上下文技术 MCP 服务器
本项目实现了一个基于 Personal Context Technology (PCT) 的模型上下文协议(MCP)服务器。借助该服务器,AI 助手能够访问和更新用户的个性化数据,进而在会话之间维持持久记忆,为用户提供更贴合需求的服务。
🚀 快速开始
安装与配置
-
克隆项目仓库:
git clone https://github.com/mikhashev/personal-context-manager.git cd pct-mcp-server -
安装依赖项:
npm install -
配置上下文存储路径:
- 编辑
src/storage/contextStorage.ts文件。 - 修改
DEFAULT_CONTEXT对象以适应您的需求。
- 编辑
-
启动服务器:
npm start
基本用法
-
初始化上下文文件:
cp data/personal_context.json.example data/personal_context.json -
修改
personal_context.json文件,添加或更新您的个性化数据。 -
运行服务器并访问 API 端点以测试功能。
示例
-
获取上下文:
curl http://localhost:3000/api/context -
更新上下文:
curl -X PUT http://localhost:3000/api/context/basic_info/name \ -H "Content-Type: application/json" \ -d '{"name":"John Doe"}'
✨ 主要特性
- 持久存储:支持用户数据的持久化存储。
- 隐私控制:通过规则和限制保护用户隐私。
- 基于节目的访问:允许按节目(section)对上下文进行细粒度控制。
- 更新历史:记录上下文的修改历史和版本信息。
📦 安装指南
-
克隆项目仓库:
git clone https://github.com/mikhashev/personal-context-manager.git cd pct-mcp-server -
安装依赖项:
npm install -
配置上下文存储路径:
- 编辑
src/storage/contextStorage.ts文件。 - 修改
DEFAULT_CONTEXT对象以适应您的需求。
- 编辑
-
启动服务器:
npm start
💻 使用示例
基础用法
# 初始化上下文文件
cp data/personal_context.json.example data/personal_context.json
高级用法
# 更新上下文
curl -X PUT http://localhost:3000/api/context/basic_info/name \
-H "Content-Type: application/json" \
-d '{"name":"John Doe"}'
📚 详细文档
个人上下文技术
个人上下文技术(PCT)是一种用于管理用户个性化数据的技术,通过模型上下文协议(MCP)实现与 AI 系统的交互。该技术旨在增强 AI 助手的能力,使其能够根据用户的上下文信息提供更智能、更个性化的服务。
自定义上下文
默认的个人上下文包括以下部分:
- basic_info:姓名、位置等基本信息。
- preferences:通信风格、学习偏好等。
- instruction:AI 使用和更新上下文的规则。
- metadata:版本跟踪和更新历史。
您可以通过编辑 src/storage/contextStorage.ts 文件或替换数据目录中的 personal_context.json 文件来自定义上下文结构。
项目结构
pct-mcp-server/
├── .git/ # Git 仓库数据
├── .gitignore # Git 忽略规则
├── LICENSE # 许可证文件
├── README.md # 项目文档
├── package-lock.json # npm 锁定文件
├── package.json # 项目配置和依赖项
├── tsconfig.json # TypeScript 配置
└── src/ # 源代码
├── index.ts # 应用程序入口点
├── resources/ # MCP 资源实现
│ └── personalContext.ts # 个人上下文资源
├── storage/ # 存储实现
│ └── contextStorage.ts # 上下文存储功能
├── tools/ # MCP 工具实现
│ ├── contextSuggestion.ts # 上下文建议工具
│ └── updateContext.ts # 更新上下文工具
└── utils/ # 工具函数
└── instructionHandler.ts # 指令处理逻辑
# 自动生成目录(不在仓库中)
# ----------------------------------------
# dist/ # 编译后的 JavaScript 文件(被忽略)
# node_modules/ # 依赖项(被忽略)
# data/ # 用户数据(被忽略或仅包含示例文件)
# └── personal_context.json # 个人上下文数据(示例文件,不要更改文件名 personal_context.json,如果需要更新数据请修改内容)
高级配置
使用 HTTP 传输
默认实现使用 stdio 传输进行开发。如需在生产环境中使用 HTTP 传输:
- 编辑
src/index.ts文件。 - 解注释 HTTP 传输部分。
- 配置所需的端口和 CORS 设置。
- 重新启动服务器。
扩展功能
- 支持多用户上下文管理。
- 实现上下文同步和备份功能。
贡献指南
欢迎贡献代码!请遵循以下步骤:
-
叉击仓库并创建分支:
git checkout -b feature/your-feature-name -
提交您的更改:
git add . git commit -m "添加功能:your-feature-name" -
推送到仓库并提交拉取请求。
📄 许可证
本项目遵循 MIT 许可证。请查看 LICENSE 文件以获取详细信息。
感谢您的支持!如需帮助或反馈,请随时与我们联系。
Scan to join WeChat group