使用说明
Palaryn MCP服务器
AI代理发出的每个HTTP请求的代理I/O治理——作为MCP服务器公开。
Palaryn MCP将Palaryn网关封装为 模型上下文协议 服务器,让Claude Code、Cursor、Windsurf和任何兼容MCP的客户端策略强制访问外部API,无需代码更改。
它的作用
AI代理发出的每个HTTP请求都会通过Palaryn管道:
Claude Code / Cursor / MCP Client
|
| stdio (JSON-RPC 2.0) or HTTP (/mcp)
v
Palaryn MCP Server
|
+---> Rate Limiting (per-actor sliding window)
+---> Anomaly Detection (statistical outlier flagging)
+---> Policy Engine (YAML rules: allow / deny / require approval)
+---> DLP Scanner (secrets, PII, 119 detection patterns)
+---> Prompt Injection (3-layer cascade: regex → DeBERTa → LLM)
+---> Call Limits (per-user / workspace daily & monthly caps)
+---> HTTP Execution (retries, backoff, SSRF protection)
+---> Output DLP Scan (response body scanning)
+---> Audit Logging (immutable append-only trace)
|
v
External API
暴露了三个MCP工具:
| 工具 | 方法 | 能力 | 描述 |
|---|---|---|---|
http_request |
任意 | 推断 | 执行任何HTTP请求(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS) |
http_get |
得到 | read |
GET请求简写 |
http_post |
职位 | write |
POST请求简写 |
每个工具都接受: url (必填), headers, body, timeout_ms, purpose, labels.
快速开始
选项1:托管(需要Palaryn帐户)
claude mcp add --transport http palaryn https://app.palaryn.com/mcp
完成。来自Claude Code的所有请求现在都通过Palaryn路由。首次使用时,系统会提示您通过OAuth登录。
选项2:项目级配置
创建 .mcp.json 在项目根目录中(请参见 .mcp.json.example):
{
"mcpServers": {
"palaryn": {
"type": "stdio",
"command": "npx",
"args": ["palaryn-mcp"],
"env": {
"POLICY_PACK_PATH": "./policy-packs/default.yaml"
}
}
}
}
备注:确保
palaryn-mcp已安装(例如,通过npm install palaryn-mcp)所以npx可以解决它。
配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PALARYN_MCP_WORKSPACE |
ws-claude-code |
工具调用的工作区ID |
PALARYN_MCP_ACTOR |
claude-code |
审计跟踪的参与者ID |
PALARYN_MCP_PLATFORM |
claude_code |
平台标识符 |
POLICY_PACK_PATH |
./policy-packs/default.yaml |
活动策略包的路径 |
自定义策略包
通过环境变量传递自定义策略:
claude mcp add palaryn \
-e POLICY_PACK_PATH=./policy-packs/prod_strict.yaml \
-- node bin/palaryn-mcp.js
策略包
包括三个预构建的策略包:
default.yaml --明智的启动规则
- 阻止SSRF(云元数据端点)
- 允许所有读取操作(GET)
- 写入需要人工批准(POST/PUT/PATCH)
- 拒绝删除和管理操作
dev_fast.yaml --允许发展
- SSRF模块
- 允许未经批准的读取和写入
- 删除/管理操作需要批准
prod_strict.yaml --生产的最低权限
- 阻止SSRF+内部IPs+localhost
- 只允许读取已分配的域(例如。,
api.github.com,api.slack.com) - 要求对所有写入进行安全审查
- 拒绝所有删除和管理操作
- 任何不匹配的内容都需要管理员批准
自定义策略示例
name: my-policy
version: "1.0.0"
description: "Custom policy for my project"
domain_blocklist:
- "169.254.169.254"
rules:
- name: "Allow GitHub API"
effect: ALLOW
priority: 10
conditions:
capabilities: ["read"]
domains: ["api.github.com"]
- name: "Require approval for writes"
effect: REQUIRE_APPROVAL
priority: 20
conditions:
capabilities: ["write"]
approval:
scope: "admin"
ttl_seconds: 3600
reason: "Write operations require approval"
- name: "Deny everything else"
effect: DENY
priority: 100
conditions: {}
运作原理
建筑
Palaryn MCP服务器是一个瘦适配器层,它将MCP工具调用转换为Palaryn网关管道:
MCP Client (Claude Code, Cursor, etc.)
|
| JSON-RPC 2.0 over stdio
v
+-----------------------------+
| Palaryn MCP Server |
| |
| tools/list -> 3 HTTP tools |
| tools/call -> Gateway |
+-----------------------------+
|
v
+-----------------------------+
| Palaryn Gateway Pipeline |
| |
| 1. Rate Limiting |
| 2. Anomaly Detection |
| 3. Policy Evaluation |
| 4. DLP Scan (input) |
| 5. Prompt Injection (3L) |
| 6. Call Limit Check |
| 7. HTTP Execution |
| 8. DLP Scan (output) |
| 9. Audit Logging |
+-----------------------------+
|
v
External API
MCP协议
服务器实现 模型上下文协议 规范:
| 方法 | 说明 |
|---|---|
initialize |
协议握手——返回服务器信息和功能 |
tools/list |
返回带有JSON模式的3个HTTP工具定义 |
tools/call |
通过网关管道执行工具 |
ping |
健康检查 |
两种运输方式
| 模式 | 协议 | 最适合 |
|---|---|---|
| 工作室 | JSON-RPC 2.0通过stdin/stdout | 克劳德代码、游标、本地IDE代理 |
| 超文本传输协议 | 可流式HTTP /mcp |
托管/远程部署,共享服务器 |
响应格式
每个工具调用返回两个内容块:
- 主要内容:实际的HTTP响应正文(或错误消息)
- 网关元数据:策略决策、DLP报告、呼叫限制、时间
{
"content": [
{ "type": "text", "text": "{\"data\": \"response from API\"}" },
{ "type": "text", "text": "--- Gateway Metadata ---\n{...}" }
],
"isError": false
}
安全特性
快速注射检测(3层级联)
针对快速注入攻击的三层防御,以级联方式进行评估(首先是快速层,只有在需要时才使用昂贵层):
- 正则表达式+启发式 (同步,<1ms,$0)--17个类别的119个模式,具有文本规范化(零宽度字符剥离、同形符折叠、ROT13/bbase64解码、leetspeak、HTML/URL解码)。多语言:英语、波兰语、德语、西班牙语、法语。
- 微调DeBERTa (sync,~50ms,$0)——用于语义分类的局部ML模型。URL感知扫描(提取查询参数值,忽略URL结构)。API成本为零,离线工作。
- LLM分类器 (异步,~800ms,~0.001/req)——通过gpt-4o-mini进行语义分类。检测12种攻击类别,包括指令覆盖、提示提取、角色扮演劫持、社会工程、游戏操纵、内存操纵、数据泄露、多语言注入、复合攻击和分类器自我操纵。
级联逻辑:只有在Regex+DeBERTa什么都没发现的情况下,LLM才会运行——API调用减少约35%。
DLP(数据丢失防护)
- 119种检测模式:秘密(14)、个人身份信息(5)、即时注射(65)、工具注射(28)、泄露(6)、敏感文件(9)
- 扫描请求参数和响应体
- 检测API密钥、令牌、密码、SSN、信用卡号码、URL中的AWS凭据、降价图像注入、大负载exfiltering
- 在敏感数据到达外部服务之前自动对其进行编辑
- 可配置的严重性级别和多个检测后端
政策引擎
- 基于YAML的优先级排序策略规则
- 四项决定:
ALLOW,DENY,TRANSFORM,REQUIRE_APPROVAL - 条件:能力级别、HTTP方法、目标域、工具名称
- SSRF保护的域阻止列表
- 可选的OPA/Rego集成,用于高级策略逻辑
SSRF保护
- 阻止对云元数据端点的请求(169.254.169.254等)
- 阻止私有/保留IP范围
- 整数编码IP检测(例如2852039166→ 169.254.169.254)
- 生产环境的域分配
通话限制
- 每位用户每日和每月通话限制
- 每个工作区的每日和每月通话限制
- 每项任务的最大步数
- 防止代理执行中出现失控循环
- 响应中剩余呼叫的实时限制跟踪
速率限制
- 每个演员和每个工作空间的滑动窗口速率限制
- 防止滥用并确保公平的资源分配
集成模式
克劳德代码
# Hosted (requires Palaryn account)
claude mcp add --transport http palaryn https://app.palaryn.com/mcp
光标
添加到光标MCP设置中:
{
"mcpServers": {
"palaryn": {
"type": "stdio",
"command": "npx",
"args": ["palaryn-mcp"]
}
}
}
帆板运动
添加到您的Windsurf MCP配置中:
{
"mcpServers": {
"palaryn": {
"serverUrl": "https://app.palaryn.com/mcp"
}
}
}
远程MCP(HTTP)
为了将Palaryn作为远程MCP服务器托管,完整网关包括 /mcp 使用OAuth 2.0的HTTP端点。联系我们 App.palaryn.com 访问。
工具参考
http_request
通过Palaryn网关执行任意HTTP请求。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
url |
string | 是 | 目标URL |
method |
string | 否 | HTTP方法(默认:GET) |
headers |
object | 否 | HTTP标头作为键值对 |
body |
string | 否 | 请求正文(通常为JSON) |
timeout_ms |
number | 否 | 请求超时(毫秒) |
purpose |
string | 否 | 为什么发出此请求 |
labels |
string[] | 否 | 分类标签 |
http_get
GET请求的简写。参数与 http_request 减 method 和 body.
http_post
POST请求的简写。参数与 http_request 减 method.
许可证
麻省理工学院