使用说明
人类mcp
以人为中心的MCP服务器。
这是一个思维实验
本项目探讨了如果您的人工智能工具的个人上下文位于您控制的服务器上,可在LLM客户端之间移植,按权限层范围划分,并且完全可审计,那么它会是什么样子。
这里的一切都使用合成数据。参考代码展示了架构的样子,而不是你应该用真实数据运行的东西。
局限性
这只是一个概念项目。它不是为真实的个人数据而设计、测试或使用的。 该代码的存在是为了说明一种架构,对于讨论以人为中心的人工智能环境非常有用。
这解决了什么差距
以人为中心的MCP服务器可以使个人上下文可移植、可查询、权限范围和可观察。
运作原理
服务器公开了六个角色数据模块,每个模块都可以通过MCP工具查询:
| 模块 | 它包含什么 |
|---|---|
| 身份 | 姓名、角色、专业知识、沟通偏好 |
| 项目 | 活动工作-名称、状态、优先级、阻止者 |
| 日历 | 每周日程安排——会议、与会者、准备笔记 |
| 联系人 | 主要合作者和关系背景 |
| 写作风格 | 语气、结构偏好、示例通信 |
| 阅读列表 | 正在阅读或排队的书籍、文章、白皮书 |
每个工具都接受 tier 控制曝光的参数:
| 层级 | 法学硕士看到了什么 |
|---|---|
| 满的 | 所有字段,不进行编辑 |
| 标准 | 仅限核心字段——没有会议记录,没有联系方式,没有写作样本 |
| 最小 | 几乎没有什么——名字和时间,没有上下文。联系人已完全编辑。 |
每次工具调用都会记录到本地审计文件中,其中包含时间戳、公开字段和编辑字段。
参考代码演示了什么
这 src/ 该目录包含一个使用Python和FastMCP的工作参考实现。此代码的存在是为了使架构具体且可检查,以展示权限过滤、审计日志记录和基于模块的数据服务在实践中是如何工作的。它不打算部署或与真实数据一起使用。
参考服务器公开了这些工具(所有工具都在John Doe的合成数据上运行):
| 工具 | 它展示了什么 |
|---|---|
get_identity(tier) |
在不同权限级别提供身份数据 |
get_projects(tier) |
带有字段级编辑的项目上下文 |
get_calendar(tier) |
从完整细节到仅时间块的日历数据 |
get_contacts(tier) |
在最低级别完全编辑的联系人数据 |
get_writing_style(tier) |
编写首选项,示例仅限于完整层 |
get_reading_list(tier) |
阅读列表,较低层删除笔记 |
get_audit_log(count) |
审查已暴露的数据 |
get_audit_summary() |
所有访问活动的汇总视图 |
describe_permissions(module, tier) |
反思暴露与编辑的内容 |
审计日志条目示例:
{
"timestamp": "2026-03-30T17:14:02+00:00",
"tool": "get_calendar",
"module": "calendar",
"tier": "standard",
"exposed_fields": ["date", "start", "end", "title", "type"],
"redacted_fields": ["attendees", "location", "notes"],
"record_count": 10
}
项目结构
human-mcp/
├── README.md
├── permissions.yaml # Permission tier definitions
├── personas/
│ └── john-doe/ # Synthetic persona data
│ ├── identity.yaml
│ ├── projects.yaml
│ ├── calendar.yaml
│ ├── contacts.yaml
│ ├── writing-style.yaml
│ └── reading-list.yaml
├── src/
│ ├── server.py # MCP server (FastMCP)
│ ├── permissions.py # Permission engine
│ ├── audit.py # Audit logger
│ └── modules/
│ └── persona.py # Persona data loader
├── audit-log/ # Local audit trail
└── docs/
└── index.html # GitHub Pages interactive demo
许可证
麻省理工学院
