代码引用优化器MCP服务器
 ](https://www.npmjs.com/package/@fosterg4/mcpsaver)
一种先进的MCP(模型上下文协议)服务器,它使用AST解析智能地提取最小的相关代码上下文,分析代码差异,并优化导入,从而大大减少AI助手的令牌使用。
主要特点
- 智能上下文提取:使用AST解析仅识别和提取相关代码段
- 多语言支持:Types/JavaScript、Python、Go、Rust、Java、C++等
- 智能高速缓存:具有可配置持久性和可定制存储路径的LRU缓存
- 令牌优化:过滤不必要的代码,同时保持语义完整性
- 差异分析:通过语义理解提供最小、集中的代码差异
- 导入优化:消除未使用的导入,并建议整合机会
- 可配置的:通过具有持久设置的工具进行运行时配置
- 简单集成:基于stdio的服务器和可选的HTTP服务器,易于与任何MCP客户端集成
快速入门(STDIO)
- 一次性(推荐):
npx -y @fosterg4/mcpsaver您应该看到: Code Reference Optimizer MCP server running on stdio.
- 全局(可选):
npm i -g @fosterg4/mcpsaver
mcpsaverHTTP模式
在端口8081上启动HTTP服务器(默认):
npx -y @fosterg4/mcpsaver mcpsaver-http
# or after build
npm run start:http配置您的MCP客户端以使用HTTP二进制文件(如果支持),例如:
{
"mcpServers": {
"mcpsaver": { "command": "mcpsaver-http", "env": { "PORT": "8081", "LOG_LEVEL": "info" } }
}
}与MCP客户端一起使用
添加到MCP客户端配置中(示例 mcpServers.json):
{
"mcpServers": {
"mcpsaver": {
"command": "npx",
"args": ["-y", "@fosterg4/mcpsaver"],
"env": {}
}
}
}可用工具
该服务器提供7个强大的代码分析和优化工具:
🔍 extract_code_context
使用AST解析提取最小的、集中的代码上下文。智能地识别特定符号的相关代码段、导入和依赖关系。
{
"filePath": "path/to/file.ts",
"targetSymbols": ["myFunc", "MyClass"],
"includeImports": true,
"maxTokens": 1000
}必需: filePath | 可选的: targetSymbols, includeImports, maxTokens
💾 get_cached_context
检索以前提取和缓存的代码上下文,以便在不重新解析的情况下快速访问。
{ "filePath": "path/to/file.ts", "cacheKey": "optional-key" }必需: filePath | 可选的: cacheKey
📊 analyze_code_diff
通过语义理解和最小更新建议对代码差异进行智能分析。
{
"filePath": "path/to/file.ts",
"oldContent": "export function a() { return 1 }",
"newContent": "export function a() { return 2 }"
}必需: filePath, oldContent, newContent
🧹 optimize_imports
分析和优化导入语句,以消除冗余并提高代码效率。
{ "filePath": "path/to/file.ts", "usedSymbols": ["useEffect", "useMemo"] }必需: filePath | 可选的: usedSymbols
⚙️ get_config
检索缓存行为、提取参数等的当前配置设置。
{ "section": "cache" }可选的: section (缓存、提取、导入、差异、性能、语言、日志记录、安全)
🔧 update_config
更新配置设置,包括缓存策略、令牌限制和性能阈值。
{
"config": {
"cache": { "enablePersistence": true, "persistencePath": "/custom/cache/path" },
"extraction": { "maxTokens": 2000 }
}
}必需: config
🔄 reset_config
将所有配置设置重置为默认值。
{}无需参数
注意:工具结果作为MCP内容返回,其中包含一个 text 包含结果JSON的项,例如。
{
"content": [{ "type": "text", "text": "{\n \"...\": true\n}" }]
}附加MCP功能
- 提示:已列出但为空;
get_prompt返回 MethodNotFound。 - 资源:已列出但为空;读取资源会返回MethodNotFound。
- 根:将当前工作目录公开为单个根目录
workspace. - 采样:短粗;
sampling/createMessage返回 MethodNotFound。
例子
看 docs/EXAMPLES.md 查看每个工具的端到端请求示例。
配置
- 呼叫
get_config,update_config,reset_config管理运行时设置。 - 如果支持,您还可以通过MCP客户端设置环境变量(例如。,
LOG_LEVEL).
结构化日志记录
服务器使用轻量级结构化记录器。通过配置 get_config/update_config 或env:
- 级别:
config.logging.level(跟踪|调试|信息|警告|错误) - 文件日志记录:
config.logging.enableFileLogging和config.logging.logPath
发展
npm ci
npm run build
npm start # run built server (stdio)
npm run start:http # run built server (http)
npm run dev # tsc --watch
npm test
npm run lint
npm run type-check出版(维护者)
npm login
npm run clean && npm run build
npm version patch
npm publish --access public许可证
麻省理工学院——见 LICENSE.
