Skip to content
Star -

Security

Related Topics: Configuration (secrets setup) | Deployment (production security) | Common Tasks (quick how-to)

MXCP provides enterprise-grade security features for production AI applications. This section covers authentication, authorization, and audit capabilities.

Control who can access your MCP server:

  • OAuth 2.0 - GitHub, Atlassian, Salesforce, Google, Keycloak
  • Session Management - Secure token handling with persistence
  • Stateless Mode - For serverless deployments

Learn about authentication →

Control what users can do and see:

  • Input Policies - Block unauthorized requests
  • Output Policies - Filter sensitive data
  • CEL Expressions - Flexible condition evaluation

Learn about policies →

Track all operations for compliance:

  • Complete Trail - Every operation logged
  • User Attribution - Who did what and when
  • Query Interface - Search and analyze logs

Learn about auditing →

MXCP implements a layered security model:

Add to your user configuration (~/.mxcp/config.yml):

mxcp: 1
projects:
my-project:
profiles:
default:
auth:
provider: github
github:
client_id: "${GITHUB_CLIENT_ID}"
client_secret: "${GITHUB_CLIENT_SECRET}"

In your endpoint definition:

tool:
name: sensitive_data
# ...
policies:
input:
- condition: "user.role != 'admin'"
action: deny
reason: "Admin access required"
output:
- condition: "user.role != 'admin'"
action: filter_fields
fields: ["salary", "ssn"]

In mxcp-site.yml:

profiles:
default:
audit:
enabled: true
path: audit/logs.jsonl

Use multiple security layers:

  • Authentication (who is the user)
  • Authorization (what can they do)
  • Data filtering (what can they see)
  • Audit logging (what did they do)

Grant minimum necessary permissions:

# Only allow specific permissions
condition: "'data.read' in user.permissions"

Use sensitive: true for PII:

return:
type: object
properties:
ssn:
type: string
sensitive: true

Enable audit logging for compliance:

audit:
enabled: true
path: /var/log/mxcp/audit.jsonl

Monitor for anomalies:

Terminal window
mxcp log --policy deny --since 24h
mxcp log --status error --since 1h

MXCP’s security features support various compliance requirements:

RequirementMXCP Feature
Access ControlOAuth + Policies
Data ProtectionSensitive field filtering
Audit TrailComprehensive logging
Data MinimizationOutput policies
User ConsentPolicy enforcement
  • Use HTTPS in production
  • Configure TLS for HTTP transport
  • Secure WebSocket connections
  • Never commit secrets to version control
  • Use Vault or 1Password integration
  • Rotate secrets regularly
  • Use read-only mode when appropriate
  • Limit DuckDB file permissions
  • Regular backups
  • Restrict network access
  • Use firewalls appropriately
  • Monitor for suspicious activity