x402 PaymentRequired 요청을 로컬 지출 정책과 비교하여 AI agent가 결제를 진행할지, 검토를 요청할지, 또는 중단할지 결정합니다.
다른 이름 base-buzz/paystage, preflight, @paystage/preflight
- 스타
- 5
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.2.2
- 마지막 커밋
- 2026년 11월 14일
- 라이선스
- MIT
PayStage Preflight MCP란?
PayStage Preflight은(는) MCP server입니다. x402 PaymentRequired 요청을 로컬 지출 정책과 비교하여 AI agent가 결제를 진행할지, 검토를 요청할지, 또는 중단할지 결정합니다.
프로젝트 README에서 생성된 요약
PayStage Preflight MCP server 정보
PayStage Preflight는 AI agent를 사용하는 개발자가 x402 PaymentRequired 요청을 로컬 지출 정책에 따라 평가할 수 있도록 지원합니다. 이 MCP server는 agent가 결제를 진행할지, 사람의 검토를 요청할지, 또는 결제를 완전히 중단할지 결정하는 안전 계층 역할을 합니다. 로컬 우선(local-first) 도구로 작동하므로 지출 정책은 원격 서버가 아닌 사용자의 기기에 있는 JSON 파일에 저장됩니다. 이러한 방식은 결정을 내릴 때 비밀 정보나 네트워크 호출이 필요하지 않음을 보장합니다.
사용자는 npx를 통해 이 server를 stdio MCP server로 설정하여 Claude Desktop 또는 Cursor에 통합할 수 있습니다. PAYSTAGE_POLICY_PATH 환경 변수를 사용하여 정책 파일의 절대 경로를 제공해야 합니다. server는 CAIP-2 식별자를 사용한 허용 네트워크, 특정 자산, payTo 주소, 호출 또는 세션당 최대 금액과 같은 특정 제약 조건을 평가합니다. 결과로 pay, review, do_not_pay 중 하나의 결정론적인 판결을 반환합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
PayStage Preflight MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 PayStage Preflight MCP 설치
$ claude mcp add preflight -- npx -y @paystage/preflightCursor에 PayStage Preflight MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"preflight": {
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}VS Code에 PayStage Preflight MCP 설치
.vscode/mcp.json
{
"servers": {
"preflight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}VS Code CLI에 PayStage Preflight MCP 설치
$ code --add-mcp '{"name":"preflight","type":"stdio","command":"npx","args":["-y","@paystage/preflight"]}'Claude Desktop에 PayStage Preflight MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"preflight": {
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}Codex에 PayStage Preflight MCP 설치
$ codex mcp add preflight -- npx -y @paystage/preflightCodex config.toml에 PayStage Preflight MCP 설치
~/.codex/config.toml
[mcp_servers.preflight] command = "npx" args = ["-y", "@paystage/preflight"]
Gemini CLI에 PayStage Preflight MCP 설치
$ gemini mcp add -s user preflight npx -- -y @paystage/preflightGemini settings.json에 PayStage Preflight MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"preflight": {
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}구성
PAYSTAGE_POLICY_PATHPath to policy.json spending rules
| 이름 | 설명 | 유형 |
|---|---|---|
| PAYSTAGE_POLICY_PATH | Path to policy.json spending rules |
자동 검사
2026년 11월 13일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음통과
README
GitHub에서 보기@paystage/preflight
Evaluate an x402 PaymentRequired against a local spending
policy before your agent pays. Returns one of three verdicts: pay,
review, or do_not_pay.
- Local-first — policy lives in a JSON file on your machine. No secrets, no network calls to decide.
- MCP-native — runs as a stdio MCP server so Claude Desktop, Cursor, and any MCP client can call it as a tool.
- Deterministic — same input + same policy ⇒ same verdict.
Install
Run directly with npx (no global install):
npx -y @paystage/preflight
Or add it to your MCP client config.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"paystage-preflight": {
"command": "npx",
"args": ["-y", "@paystage/preflight"],
"env": {
"PAYSTAGE_POLICY_PATH": "/absolute/path/to/policy.json"
}
}
}
}
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"paystage-preflight": {
"command": "npx",
"args": ["-y", "@paystage/preflight"],
"env": {
"PAYSTAGE_POLICY_PATH": "/absolute/path/to/policy.json"
}
}
}
}
Example policy.json
{
"version": 1,
"name": "standard",
"allowed_networks": ["eip155:8453", "eip155:84532"],
"allowed_assets": [
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"0x036CbD53842c5426634e7929541eC2318f3dCF7e"
],
"allowed_pay_to": ["0x209693Bc6afc0C5328bA36FaF03C514EF312287C"],
"max_amount_per_call": "1.00",
"max_amount_per_session": "10.00",
"require_human_above": "0.50",
"max_timeout_seconds": 300,
"default_verdict": "review"
}
Amounts are human-readable USDC (e.g. "0.50" = 0.50 USDC). Networks use
CAIP-2 identifiers.
Verdicts
| Verdict | Meaning |
|---|---|
pay |
Within policy — safe to proceed automatically. |
review |
Allowed but above a human threshold — ask a human before paying. |
do_not_pay |
Violates policy (network, asset, payTo, amount, timeout, or malformed). |
Supply chain and access
Socket.dev scores this package on what it can do, not what it does with it, so the flags it raises are worth explaining rather than removing:
| Flag | Why it is there |
|---|---|
| Filesystem access | Reads the policy JSON you point it at (policy_path / PAYSTAGE_POLICY_PATH). Nothing is written. |
| Environment variable access | PAYSTAGE_POLICY_PATH only (and PAYSTAGE_RPC_URL via auth-watch). |
| Network access, URL strings | None in this package. The RPC endpoints you may see in the tree belong to @paystage/auth-watch. |
No shell, no eval, no telemetry, no key custody. The full table is in
SECURITY.md; the deny list is published with a citation per
entry in KNOWN_DRAINERS.md.
Links
- Website: https://paystage.xyz
- X: https://x.com/paystage_xyz
- Source: https://github.com/base-buzz/paystage
- License: MIT
PayStage Preflight MCP 질문
PayStage Preflight MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add preflight -- npx -y @paystage/preflight를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
PayStage Preflight MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
서버에서 반환하는 가능한 판결은 무엇인가요?
서버는 pay(진행 가능), review(사람의 개입 필요), do_not_pay(정책 위반) 중 하나의 판결을 반환합니다.
지출 정책은 어떻게 저장되고 액세스되나요?
정책은 사용자의 로컬 기기에 JSON 파일로 저장되므로, 결정을 내리는 과정에서 비밀 정보나 네트워크 호출이 필요하지 않습니다.
정책 평가를 위해 네트워크 액세스가 필요한가요?
아니요, 이 패키지는 정책 평가를 위해 네트워크 액세스나 URL 문자열을 사용하지 않습니다.
Claude Desktop 또는 Cursor에서 사용할 수 있나요?
네, stdio MCP server로 작동하며 각 설정 파일을 통해 Claude Desktop 및 Cursor에 통합할 수 있습니다.