用于上下文工程的MCP服务器
版本: 1.0.0 状态: 生产就绪
MCP服务器,将上下文工程操作作为可执行工具公开,实现渐进式技能加载,并通过代码执行实现98.7%的令牌减少。
概述
此MCP服务器实现了模型上下文协议,为AI代理提供了对以下内容的有效访问:
- 图案库 -搜索和加载可重用模式
- 可执行技能 -使用参数运行TypeScript实现
- 会话工件 -访问定型包和历史知识
- 存储器系统 -跟踪决策、假设和阻碍因素
- 指标 -测量压缩比和模式重用
- 语义搜索 -使用Google文件搜索查询工件以了解概念
建筑
服务器提供 6个模块中的24个工具:
模式模块(3个工具)
searchPatterns-按关键字/类别搜索模式库loadSkill-加载特定技能文档和代码executeSkill-使用参数执行技能
工件模块(3个工具)
searchArtifacts-搜索完成包loadSession-加载完整会话上下文getSessionCode-从会话中提取可执行代码
内存模块(3个工具)
addNote-跟踪决策/假设/阻断者getDecisions-检索会话决策getHypotheses-检索会话假设
度量模块(2个工具)✅
getCompressionRatio-计算会话压缩getPatternReuse-轨迹模式重用统计
搜索模块(3个工具)✅
semanticSearch-使用Google文件搜索语义理解查询工件indexSession-将会话工件索引到文件搜索存储getSearchStats-获取索引统计数据和成本
会话模块(7个工具)✅
start_session_coordination-初始化Qdrant会话内存save_session_note-使用嵌入保存决策/假设/阻断器session_search-活动会话中的快速语义搜索check_duplicate_work-检测重复实现get_session_stats-获取会话统计信息extract_session_memories-从会议中提取关键经验教训finalize_session_coordination-清理和归档会话
安装
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run in development mode (with auto-reload)
npm run dev
# Run tests
npm test
# Type checking
npm run lint配置
添加到您的Claude Code MCP配置中(~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"context-engineering": {
"command": "node",
"args": [
"/Users//Dev/mcp-server-context-engineering/dist/index.js"
],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}注: 这 GEMINI_API_KEY 搜索模块工具需要环境变量(semanticSearch, indexSession, getSearchStats).其他工具没有它也能工作。
用法示例
渐进式技能加载(98.7%代币减少)
// Step 1: Search for relevant patterns (~100-500 tokens)
const results = await searchPatterns({
category: 'database',
keyword: 'RLS',
includeExecutable: true,
limit: 5
});
// Step 2: Load specific skill (~500-1000 tokens)
const skill = await loadSkill({
skillId: 'mcp-integration/rls-policy-generator',
includeCode: false, // Documentation only
includeMetadata: true
});
// Step 3: Execute skill (~50-200 tokens)
const policy = await executeSkill({
skillId: 'mcp-integration/rls-policy-generator',
input: {
table: 'profiles',
operation: 'SELECT',
condition: 'auth.uid() = user_id',
enableRLS: true
}
});
console.log(policy.data.sql);
// CREATE POLICY "profiles_select_policy" ON "profiles"
// FOR SELECT
// USING (auth.uid() = user_id);代币节省: 150K代币(提前加载所有工具)→ 2K代币(渐进加载)= 减少98.7%
语义搜索(令牌减少99.1%)
// Step 1: Index a session (one-time operation)
const indexResult = await indexSession({
projectPath: '~/Dev/PrivateLanguage',
sessionId: '2025-11-07',
force: false
});
console.log(`Indexed ${indexResult.data.filesIndexed} files`);
console.log(`Cost: $${indexResult.data.cost.toFixed(4)}`);
// Step 2: Query indexed artifacts semantically
const searchResult = await semanticSearch({
query: 'How did we fix the authentication bug?',
projectPath: '~/Dev/PrivateLanguage',
maxResults: 5
});
console.log(searchResult.data.answer);
// "The authentication bug was fixed by updating the JWT token validation..."
console.log(searchResult.data.citations);
// [
// { source: "2025-11-06-finalization-pack.json", title: "Auth Fix Session" },
// { source: "2025-11-05-session-summary.md", title: "Security Updates" }
// ]
// Step 3: Check indexing stats
const stats = await getSearchStats({
projectPath: '~/Dev/PrivateLanguage'
});
console.log(`Total indexed: ${stats.data.stats.totalFilesIndexed} files`);
console.log(`Total cost: $${stats.data.stats.totalCostUsd.toFixed(2)}`);代币节省: 179K令牌(加载所有工件)→ 1.6K个标记(语义搜索)= 减少99.1%
开发状态
第2阶段-第4周完成(2025-11-07)✅
- \[x\] 项目设置和TypeScript配置✅
- \[x\] 模式模块实现(3个工具)✅
- \[x\] 工件模块(3个工具)✅
- \[x\] 内存模块(3个工具)✅
- \[x\] 度量模块(2个工具)✅
- \[x\] 搜索模块(3个工具)✅
- \[x\] 会话模块(7个工具)✅
- \[x\] vitest测试套件(165+测试通过)✅
- \[\]使用Claude代码进行集成测试-第5周
进展: 24个工具中的24个(100%)🎉
测试
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Watch mode
npm test -- --watch
# Run specific test file
npm test -- src/tools/patterns/searchPatterns.test.ts项目结构
mcp-server-context-engineering/
├── src/
│ ├── index.ts # Server entry point
│ ├── server.ts # MCP server configuration
│ ├── tools/
│ │ ├── patterns/ # Patterns module (3 tools) ✅
│ │ │ ├── searchPatterns.ts
│ │ │ ├── loadSkill.ts
│ │ │ └── executeSkill.ts
│ │ ├── artifacts/ # Artifacts module (3 tools) ✅
│ │ │ ├── searchArtifacts.ts
│ │ │ ├── loadSession.ts
│ │ │ └── getSessionCode.ts
│ │ ├── memory/ # Memory module (3 tools) ✅
│ │ │ ├── addNote.ts
│ │ │ ├── getDecisions.ts
│ │ │ └── getHypotheses.ts
│ │ ├── metrics/ # Metrics module (2 tools) ✅
│ │ │ ├── getCompressionRatio.ts
│ │ │ └── getPatternReuse.ts
│ │ └── search/ # Search module (3 tools) ✅
│ │ ├── semanticSearch.ts
│ │ ├── indexSession.ts
│ │ └── getSearchStats.ts
│ └── utils/
│ ├── filesystem.ts # Pattern library access
│ ├── artifacts.ts # Finalization pack access
│ ├── memory.ts # Session memory management
│ ├── metrics.ts # Compression & reuse metrics
│ ├── tokenEstimator.ts # Token usage tracking
│ └── validator.ts # Input validation (TODO)
├── tests/
│ ├── tools/
│ │ ├── patterns.test.ts # Patterns module tests (30)
│ │ ├── artifacts.test.ts # Artifacts module tests (19)
│ │ ├── memory.test.ts # Memory module tests (18)
│ │ ├── metrics.test.ts # Metrics module tests (23)
│ │ └── search.test.ts # Search module tests (75+)
│ └── integration/
│ └── server.test.ts # End-to-end tests
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md绩效目标
- 工具执行: 搜索操作小于100ms
- 技能执行: 与直接执行相比,开销\<50ms
- 代币减少: 用实际工作流程测量≥98%
- 内存使用情况: 典型工作负载\<50MB
文档
📚 完整文档索引 -从这里开始导航
快速开始
- README.md (此文件)-概述和快速入门
- 开发者_GUIDE.md -扩展服务器的实用指南
深度潜水
外部资源
- 模型上下文协议 -MCP官方规范
- MCP TypeScript SDK -此服务器使用的SDK
- 使用MCP执行代码 -Anthropic关于代码执行模式的博客文章
许可证
麻省理工学院
______________________________________________________________________
创建: 2025-11-05 最后更新时间: 2025-11-07 阶段: 2(MCP服务器实施-完成)
