一个用于审计与MCP(模型上下文协议)服务器所有交互的TypeScript工具。它通过透明代理的方式拦截并记录来自MCP服务器的所有I/O操作,生成全面的审计日志,帮助开发者调试、监控,并确保MCP应用的合规性。
作为库(推荐):
npm install mcp-auditor
从源码安装:
git clone https://github.com/algovate/mcp-auditor.git
cd mcp-aauditor
npm install
npm run build
作为全局CLI:
npm install -g mcp-auditor
使用全局CLI(在执行npm install -g mcp-auditor之后):
# 设置环境变量
export MCP_WRAPPED_SERVER_COMMAND=npx
export MCP_WRAPPED_SERVER_ARGS="-y,@modelcontextprotocol/server-filesystem,/tmp"
export MCP_LOG_FILE=./logs/mcp-server.log
# 运行服务器
mcp-auditor
使用配置文件:
# 创建config.json
cat > config.json << EOF
{
"name": "mcp-auditor-server",
"version": "1.0.0",
"wrappedServer": {
"serverCommand": "npx",
"serverArgs": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"logFilePath": "./logs/mcp-server.log"
}
}
EOF
# 使用配置运行
export MCP_CONFIG_FILE=./config.json
mcp-auditor
从源码运行:
# 配置环境变量
export MCP_WRAPPED_SERVER_COMMAND=npx
export MCP_WRAPPED_SERVER_ARGS="-y,@modelcontextprotocol/server-filesystem,/tmp"
export MCP_LOG_FILE=./logs/mcp-server.log
# 启动服务器
npm start
import { MCPWrapper } from 'mcp-auditor';
const wrapper = new MCPWrapper({
serverCommand: 'npx',
serverArgs: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'],
logFilePath: './logs/mcp-wrapper.log'
});
await wrapper.connect();
const tools = wrapper.getTools();
const result = await wrapper.callTool('read_file', { path: '/tmp/example.txt' });
await wrapper.disconnect();
对于详细的文档,请参阅:
mcp-auditor/
├── src/
│ ├── core/ # 核心封装功能
│ │ ├── wrapper.ts # 主MCPWrapper类
│ │ ├── logger.ts # 日志实现
│ │ └── types.ts # TypeScript类型
│ ├── server/ # 服务器特定代码
│ │ ├── server.ts # MCP服务器实现
│ │ └── config.ts # 配置加载器
│ └── index.ts # 主入口点
├── examples/
│ ├── library/ # 库使用示例
│ └── server/ # 服务器使用示例
├── docs/ # 文档
├── dist/ # 编译输出
└── logs/ # 日志文件
MIT
对于详细的使用说明、API文档和示例,请参阅完整文档。 </中文翻译>