This comprehensive security guide covers all aspects of securing your Model Context Protocol (MCP) integration with Consultia.
MCP integration provides powerful AI capabilities while maintaining enterprise-grade security. This guide ensures your implementation follows security best practices and compliance requirements.
ck_
prefix for easy identification# ❌ Never store keys in plain text files
echo "ck_1234567890abcdef..." > api_key.txt
# ✅ Use secure password managers
# Store in 1Password, LastPass, or similar secure vault
# ✅ Use environment variables (development only)
export CONSULTIA_MCP_KEY="ck_1234567890abcdef..."
# ✅ Use secure key management systems (production)
# AWS Secrets Manager, Azure Key Vault, HashiCorp Vault
Grant only the minimum permissions necessary for each use case:
Read-Only Access (Recommended for most users):
Full Access (Admin users only):
Permission | Description | Use Case |
---|---|---|
READ_CUSTOMERS | Query customer information and relationships | Customer analysis, reporting |
READ_INVOICES | Access invoice data and status | Financial reporting, billing analysis |
READ_PAYMENTS | View payment records and history | Cash flow analysis, reconciliation |
READ_RESOURCES | Access resource allocation and worksheets | Resource planning, capacity analysis |
READ_PRODUCTS | Query product catalog and pricing | Product analysis, pricing strategy |
EXECUTE_ACTIONS | Perform business operations | Automated workflows, data updates |
# ✅ Secure connection example
https://your-domain.com/api/mcp
# ❌ Insecure connection (development only)
http://localhost:3000/api/mcp
-- Example: Customer data isolation
SELECT * FROM customers
WHERE consultiaCustomerId = :currentCustomerId
AND isArchived = false;
{
"timestamp": "2024-03-15T10:30:00Z",
"api_key_id": "key_123456",
"user_id": "user_789",
"consultia_customer_id": "customer_456",
"action": "query_crm_data",
"entity": "customers",
"filters": {"isArchived": false},
"result_count": 25,
"execution_time_ms": 67,
"ip_address": "192.168.1.100",
"user_agent": "Claude-Desktop/1.0.0",
"success": true,
"error_message": null
}
# Example alert configuration
alerts:
- name: "Multiple Failed Logins"
condition: "failed_auth_attempts > 5 in 5 minutes"
action: "email_admin, block_ip"
- name: "Unusual API Usage"
condition: "api_calls > 1000 in 1 hour"
action: "email_admin, log_incident"
- name: "Permission Denied"
condition: "permission_denied > 10 in 1 hour"
action: "email_admin, review_permissions"
Detection:
Response:
Detection:
Response:
Manual
Consultia Documentation