Token导航 LogoToken导航

MCP Server · 运维云端

Elastic Pii Proxy

elastic-pii-proxy是一个透明的MCP代理中间件,位于LLM代理和上游MCP服务器之间,用于拦截工具调用和资源读取,在结果到达模型之前对PII进行脱敏,并生成符合GDPR的审计跟踪。

未说明官方级别未说明来源级核验工具 0
TypeScriptClaude中间件

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
amir-gorji
提供方
amir-gorji

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Elastic Pii Proxy 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

弹性pii代理

A. 透明MCP代理 它位于LLM代理和上游MCP服务器(Elastic v8.18+或任何其他)之间。拦截工具调用和资源读取,在结果到达模型之前编辑PII,并发出GDPR正确的审计跟踪——原始PII永远不会触及审计日志。

构建为可组合的中间件堆栈:每个关注点(PII编辑、审计日志、合规性配置文件)都是一个可插拔的块。代理核心是通用的,可用于任何上游MCP服务器。

______________________________________________________________________

目录

  1. 建筑
  2. 快速开始
  3. 环境变量
  4. 合规性档案
  5. 中间件执行顺序
  6. 添加中间件
  7. 安全与合规
  8. 测试
  9. 项目结构
  10. 许可证

______________________________________________________________________

1.建筑

┌─────────────┐  MCP (stdio)  ┌────────────────────────────────────────┐  MCP (stdio)  ┌──────────────────┐
│  LLM Agent  │ ◄────────────► │           elastic-pii-proxy            │ ◄────────────► │  Elastic MCP     │
│  (Claude)   │               │                                        │               │  (v8.18+)        │
└─────────────┘               │  compose([auditMW, piiMW])             │               └──────────────────┘
                              │                                        │
                              │  ┌──────────────────────────────────┐  │
                              │  │  auditMiddleware  (outer layer)  │  │
                              │  │  ┌──────────────────────────┐    │  │
                              │  │  │  piiMiddleware  (inner)  │    │  │
                              │  │  │   ┌──────────────────┐   │    │  │
                              │  │  │   │  upstream call   │   │    │  │
                              │  │  │   └──────────────────┘   │    │  │
                              │  │  │  ↑ redact response here  │    │  │
                              │  │  └──────────────────────────┘    │  │
                              │  │  ↑ log AFTER redaction (safe)    │  │
                              │  └──────────────────────────────────┘  │
                              └────────────────────────────────────────┘

执行顺序 随着 compose([auditMW, piiMW]):

步骤层动作
1审核MW输入捕获 startTime
2piiMW输入呼叫上游
3--上游Elastic MCP返回原始数据
4piiMW退出从响应中删除PII
5auditMW退出日志 清洁 结果+计时(从不记录原始PII)

______________________________________________________________________

2.快速入门

先决条件

  • Node.js 18+
  • 启用本地MCP服务器(或任何其他MCP服务器)的Elasticsearch v8.18+

安装和构建

git clone 
cd elastic-pii-proxy
npm install
npm run build:mcp

配置(stdio上游)

export UPSTREAM_MCP_COMMAND="node"
export UPSTREAM_MCP_ARGS="/path/to/elastic-mcp/index.mjs"
export COMPLIANCE_PROFILE="GDPR"

连接到克劳德桌面

{
  "mcpServers": {
    "elastic-pii-proxy": {
      "command": "node",
      "args": ["/absolute/path/to/dist/stdio.mjs"],
      "env": {
        "UPSTREAM_MCP_COMMAND": "node",
        "UPSTREAM_MCP_ARGS": "/path/to/elastic-mcp/index.mjs",
        "COMPLIANCE_PROFILE": "GDPR",
        "AUDIT_ENABLED": "true"
      }
    }
  }
}

______________________________________________________________________

3.环境变量

变量必填默认描述
UPSTREAM_MCP_COMMAND生成上游MCP服务器的两个--命令之一(例如。, node)
UPSTREAM_MCP_ARGS—""上游命令的参数以空格分隔
UPSTREAM_MCP_URL已运行的上游MCP服务器的两个HTTP/SSE URL之一
COMPLIANCE_PROFILE—GDPR主动合规概况: GDPRDORAPCI_DSSfull
AUDIT_ENABLED—true向stderr发送结构化JSON审核条目
COMPREHEND_ENABLED—false启用第2阶段AWS Comprehend NER编辑
AWS_REGION—us-east-1用于理解API调用的AWS区域

要么 UPSTREAM_MCP_COMMAND 或 UPSTREAM_MCP_URL 必须设置;如果两者都没有提供,代理将在启动时抛出。

______________________________________________________________________

4.合规概况

合规性配置文件选择哪些编校阶段处于活动状态。

简介第一阶段(正则表达式)第二阶段(理解NER)重点
GDPR✓✓ (启用时)姓名、地址、日期、护照/驾驶员ID
DORA✓✗仅限于正则表达式;运营/财务数据
PCI_DSS✓✗仅限于正则表达式;支付卡数据焦点
full✓✓ (启用时)所有阶段,所有实体类型

第一阶段——同步正则表达式 启用后始终运行。盖子:

PII类型示例输入屏蔽输出
信用卡4111 1111 1111 1111**** **** **** 1111
伊班DE89370400440532013000DE89****3000
SSN123-45-6789***-**-****
电子邮件john.doe@bank.comj***@bank.com
电话+1 555-123-4567+15***67

信用卡检测使用Luhn验证来避免随机16位序列的误报。

第二阶段——AWS理解NER 当两者同时运行时 COMPREHEND_ENABLED=true 并且该配置文件具有 stage2: true。捕获正则表达式无法捕获的上下文PII:

PII类型示例屏蔽输出
全名John Doe[REDACTED:NAME]
地址42 Main St[REDACTED:ADDRESS]
IP地址192.168.1.101[REDACTED:IP_ADDRESS]

______________________________________________________________________

5.中间件执行顺序

管道采用 compose([auditMW, piiToolMW]) --Koa风格的洋葱模型 第一个元素是最外层.

compose([auditMW, piiMW])

Request in ──► auditMW.enter ──► piiMW.enter ──► upstream
                                                     │
Response  ◄── auditMW.exit  ◄── piiMW.exit  ◄───────┘
             (logs clean)       (redacts PII)

这种排序保证了审计跟踪永远不会包含原始PII——它从已经编辑的结果中读取 piiMW 返回。

用于资源读取的组合管道是 compose([piiResourceMW]) --那里没有审计中间件,因为资源是静态引用内容(不是查询结果)。

______________________________________________________________________

6.添加中间件

每个中间件都是一个纯函数——没有类继承,没有全局状态。

import type { Middleware } from './src/proxy/middleware.js';
import type { CallToolRequest, CallToolResult } from '@modelcontextprotocol/sdk/types.js';

// 1. Define the type alias for readability
type ToolCallMiddleware = Middleware;

// 2. Write a factory function that returns the middleware
export function createMyMiddleware(config: MyConfig): ToolCallMiddleware {
  return async (req, next) => {
    // — before upstream —
    const result = await next(req);
    // — after upstream (result is already processed by inner layers) —
    return result;
  };
}
// 3. Wire it into the pipeline in src/mastra/stdio.ts
import { compose } from './proxy/middleware.js';

const myMW = createMyMiddleware(myConfig);

// Outermost first — myMW sees the result after piiMW has already redacted it
const toolPipeline = compose([auditMW, myMW, piiToolMW]);

中间件可以:

  • 转换请求 在通过之前 next (例如,添加元数据)
  • 转换响应 之后 next 返回(例如,编辑、过滤、丰富)
  • 短路 (早点回来,不打电话 next例如,缓存命中)
  • 处理错误 (捕获自 next、记录、重新抛出或返回错误结果)

______________________________________________________________________

7.安全与合规

审计跟踪

每次工具调用都会向stderr生成一个结构化的JSON行 之后 PII编辑:

{
  "timestamp": "2026-02-15T10:30:00.000Z",
  "upstream_tool": "elastic_search",
  "compliance_profile": "GDPR",
  "input_parameters": "{\"index\":\"transactions-*\",...}",
  "output_size_bytes": 4521,
  "redaction_count": 3,
  "redacted_types": ["credit_card", "email"],
  "execution_time_ms": 245,
  "status": "success"
}

输入参数被截断为500个字符。审计日志从不包含原始PII,它总是反映编辑后的状态。

日志中没有原始PII

审计中间件是 外部 图层(compose([auditMW, piiMW])).等到 auditMW.exit 跑, piiMW 已对响应进行了编辑。这在结构上是由组合顺序而不是惯例来执行的。

______________________________________________________________________

8.测试

# Unit tests (52 tests across 7 files)
npm test

# Manual PII redaction demo (no upstream needed)
npm run test:redaction

# Build
npm run build:mcp

测试覆盖范围:

文件测试内容
src/proxy/__tests__/middleware.test.tscompose() 排序、错误传播、双下一步保护
src/middlewares/__tests__/complianceProfiles.test.ts配置文件选择、阶段标志、未知配置文件回退
src/middlewares/__tests__/piiRedaction.test.ts电子邮件/SSN编辑、非文本传递、错误结果传递、元数据注入
src/middlewares/__tests__/audit.test.ts日志格式、编辑后排序、错误记录、禁用记录器
src/lib/__tests__/auditLogger.test.tsJSON格式、截断、stderr路由
src/lib/__tests__/piiRedaction.test.ts模式准确性、Luhn验证、递归遍历
src/lib/__tests__/comprehendClient.test.ts堵塞、实体编辑、预过滤器短路

______________________________________________________________________

9.项目结构

src/
├── lib/
│   ├── config.ts               # ProxyConfig — env var loader
│   ├── auditLogger.ts          # AuditLogger — structured JSON to stderr
│   ├── piiRedaction.ts         # Stage 1 regex redaction engine
│   ├── comprehendClient.ts     # Stage 2 AWS Comprehend NER wrapper
│   ├── types.ts                # ToolResult discriminated union (dismatch)
│   └── __tests__/
├── proxy/
│   ├── middleware.ts           # Middleware type + compose()
│   ├── backendClient.ts        # createBackendClient() — MCP SDK Client factory
│   ├── core.ts                 # startProxy() — wires MCPServer + backend + pipelines
│   └── __tests__/
├── middlewares/
│   ├── complianceProfiles.ts   # Profile definitions + getProfile()
│   ├── piiRedaction.ts         # createPiiToolMiddleware() + createPiiResourceMiddleware()
│   ├── audit.ts                # createAuditMiddleware()
│   └── __tests__/
└── mastra/
    └── stdio.ts                # Entry point — composes pipeline, boots proxy
scripts/
└── test-redaction.ts           # Manual PII demo script

______________________________________________________________________

10.许可证

MIT——免费使用、修改和分发。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

PII脱敏TypeScript本地部署审计跟踪GDPR合规中间件MCP代理

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Elastic Pii Proxy

MCP World · 本页

0未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Elastic Pii Proxy 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Elastic Pii Proxy 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Elastic Pii Proxy 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Elastic Pii Proxy 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Elastic Pii Proxy 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP