A Rust crate for parsing and manipulating MCP (Model Context Protocol) server capability policy files.
use policy_mcp::{PolicyParser, PolicyDocument};
let policy = PolicyParser::parse_file("policy.yaml")?;
println!("Policy version: {}", policy.version);
Basic YAML format:
version: "1.0"
description: "My policy"
permissions:
storage:
allow:
- uri: "fs://work/agent/**"
access: ["read", "write"]
network:
allow:
- host: "api.example.com"
storage:
allow:
- uri: "fs://work/agent/**"
access: ["read", "write"]
- uri: "fs://work/temp/*"
access: ["read"]
network:
allow:
- host: "api.service.com"
- host: "*.internal.com"
- cidr: "10.0.0.0/8"
environment:
allow:
- key: "PATH"
- key: "HOME"
runtime:
docker:
security:
privileged: false
capabilities:
drop: ["ALL"]
add: ["NET_BIND_SERVICE"]