断章取义地
一个MCP(模型上下文协议)服务器,用于使用简单的CRUD操作管理上下文。使用YAML frontmatter将上下文存储为markdown文件(.mdc),允许代理按名称保存、检索、搜索和管理上下文。
______________________________________________________________________
特性
- 简单的CRUD操作:5个用于上下文管理的基本工具(put、list、get、search、delete)
- Markdown存储:存储为.mdc文件的上下文(使用YAML frontmatter标记)
- 代理可识别名称:使用有意义的名称而不是UUID
- 批量操作:支持批量放置、获取和删除操作,具有强大的参数处理能力
- Pydantic 验证:使用自动模式生成进行类型安全参数验证
- 文本搜索:在元数据和内容之间按查询字符串搜索上下文
- MCP集成:适用于任何MCP兼容平台(Cursor、Claude Desktop等)
______________________________________________________________________
快速开始
安装
pip install hjeon139-mcp-outofcontextMCP服务器配置
添加到您的MCP平台配置中(例如,Cursor或Claude Desktop):
{
"mcpServers": {
"out-of-context": {
"command": "hjeon139_mcp_outofcontext",
"env": {
"OUT_OF_CONTEXT_STORAGE_PATH": ".out_of_context"
}
}
}
}验证安装
在您的MCP平台中,检查以下工具 put_context, list_context, get_context, search_context,以及 delete_context 可用。
______________________________________________________________________
使用示例
添加上下文
单次操作:
{
"tool": "put_context",
"arguments": {
"name": "api-design-notes",
"text": "# API Design Notes\n\nKey decisions about the REST API...",
"metadata": {
"type": "note",
"tags": ["api", "design"]
}
}
}批量操作:
{
"tool": "put_context",
"arguments": {
"contexts": [
{
"name": "context-1",
"text": "First context",
"metadata": {"type": "note"}
},
{
"name": "context-2",
"text": "Second context"
}
]
}
}列出上下文
{
"tool": "list_context",
"arguments": {
"limit": 10
}
}返回按创建日期排序的上下文列表(最新的优先)。
获取上下文
单次操作:
{
"tool": "get_context",
"arguments": {
"name": "api-design-notes"
}
}批量操作:
{
"tool": "get_context",
"arguments": {
"names": ["context-1", "context-2", "context-3"]
}
}搜索上下文
{
"tool": "search_context",
"arguments": {
"query": "API design",
"limit": 5
}
}在YAML frontmatter(元数据)和markdown body(文本内容)中搜索。
删除上下文
单次操作:
{
"tool": "delete_context",
"arguments": {
"name": "old-context"
}
}批量操作:
{
"tool": "delete_context",
"arguments": {
"names": ["context-1", "context-2"]
}
}______________________________________________________________________
存储格式
上下文存储为 .mdc 文件(带有YAML frontmatter的markdown) .out_of_context/contexts/ 目录。
文件格式:
---
name: api-design-notes
created_at: 2025-12-14T12:51:27.123456
type: note
tags: [api, design]
---
# API Design Notes
Key decisions about the REST API design...
- Use RESTful conventions
- Version in URL path名称要求:
- 文件名安全:仅限字母数字字符、连字符和下划线
- 唯一:覆盖现有名称将替换旧上下文(带警告)
______________________________________________________________________
文档
______________________________________________________________________
关键概念
- 上下文:一个包含YAML frontmatter(元数据)和markdown body(内容)的markdown文档
- 名字:代理可识别的标识符(例如“api设计说明”、“bug修复上下文”)
- 存储:中的单个.mdc文件
.out_of_context/contexts/目录 - 批量操作:在单个调用中处理多个上下文(put、get、delete)
______________________________________________________________________
建筑
服务器提供了一个基于FastMCP构建的简单文件存储系统:
关键部件:
- FastMCP服务器:支持中间件的现代MCP服务器实现
- MDC存储:管理.mdc文件操作(保存、加载、列表、搜索、删除)
- CRUD工具:5个工具处理程序使用
@mcp.tool()自动注册装饰器 - AppStateMiddleware:用于干净状态管理的依赖注入模式
储存:
- 每个上下文都是一个.mdc文件
- 用于元数据的YAML frontmatter
- 内容的Markdown正文
- 简单的基于文本的搜索
______________________________________________________________________
发展
设置
# Clone repository
git clone
cd out_of_context
# Create environment
hatch env create
# Install dependencies
hatch run update-deps运行测试
# Unit tests
hatch run pytest -m 'unit'
# Integration tests
hatch run pytest -m 'integration'代码质量
# Lint and format
hatch run lint-fix
hatch run fmt-fix
# Type check
hatch run typecheck
# Full release pipeline
hatch run release看 开发指南 了解详细的设置和贡献指南。
______________________________________________________________________
项目结构
out_of_context/
├── src/hjeon139_mcp_outofcontext/ # Main package
│ ├── fastmcp_server.py # FastMCP instance + middleware
│ ├── main.py # Entry point
│ ├── tools/
│ │ ├── crud/ # CRUD operations (put, get, delete)
│ │ └── query/ # Query operations (list, search)
│ ├── storage/ # MDC storage layer
│ ├── app_state.py # Application state
│ ├── config.py # Configuration
│ └── prompts.py # MCP prompts
├── tests/ # Test files (195 tests)
├── docs/ # Documentation
└── pyproject.toml # Project configuration______________________________________________________________________
贡献
欢迎投稿!拜托:
- 跟随 约定式提交 格式
- 添加新功能的测试
- 根据需要更新文档
- 提交前运行预提交检查表
看 开发指南 详细的贡献指南。
______________________________________________________________________
许可证
Apache 2.0-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
参考文献
______________________________________________________________________
状态
版本: 1.0.0(发布版本)
状态: 生产就绪
特征:
- ✅ 基本的CRUD操作(put、list、get、search、delete)
- ✅ Markdown文件存储(.mdc格式)
- ✅ 代理可识别的名称
- ✅ 具有强大参数处理功能的批量操作支持
- ✅ 类型安全参数的校验
- ✅ MCP客户端的JSON模式自动生成
- ✅ 跨元数据和内容的文本搜索
- ✅ 使用FastMCP构建,改善开发人员体验
______________________________________________________________________
支持
- 文档:参见 docs/ 目录
- 问题:在GitHub上打开一个问题
- 问题:使用GitHub讨论
______________________________________________________________________
致谢
内置:
