feat: integrate SchemaPin security framework for MCP tool validation#3
feat: integrate SchemaPin security framework for MCP tool validation#3jaschadub merged 2 commits intoMockLoop:mainfrom jaschadub:main
Conversation
- Add comprehensive SchemaPin integration with key pinning and schema verification - Implement security interceptors for MCP tool validation - Add configurable policy enforcement with audit logging - Include database migration support for SchemaPin tables - Add 56 comprehensive tests covering all integration scenarios - Provide complete documentation and usage examples - Maintain backward compatibility with existing MockLoop functionality
| except Exception as e: | ||
| logger.debug(f"SchemaPin key discovery failed for {domain}: {e}") | ||
| # Fall back to legacy implementation | ||
| pass |
Check warning
Code scanning / CodeQL
Unnecessary pass Warning
| from pathlib import Path | ||
| from unittest.mock import AsyncMock, MagicMock, patch | ||
|
|
||
| import pytest |
Check notice
Code scanning / CodeQL
Unused import Note test
| - Error handling and graceful fallback | ||
| """ | ||
|
|
||
| import asyncio |
Check notice
Code scanning / CodeQL
Unused import Note test
| import tempfile | ||
| import unittest | ||
| from pathlib import Path | ||
| from unittest.mock import AsyncMock, MagicMock, patch |
Check notice
Code scanning / CodeQL
Unused import Note test
| from src.mockloop_mcp.schemapin import ( | ||
| KeyPinningManager, | ||
| PolicyAction, | ||
| PolicyDecision, | ||
| PolicyHandler, | ||
| SchemaPinAuditLogger, | ||
| SchemaPinConfig, | ||
| SchemaVerificationInterceptor, | ||
| VerificationResult, | ||
| ) |
Check notice
Code scanning / CodeQL
Unused import Note test
| SchemaVerificationInterceptor, | ||
| VerificationResult, | ||
| ) | ||
| from src.mockloop_mcp.schemapin.config import SchemaVerificationError |
Check notice
Code scanning / CodeQL
Unused import Note test
…ty review - Remove unused imports across multiple files - Improve try-except-continue patterns with proper logging - Fix context manager usage for file operations - Remove unused noqa directives - Add proper SQL injection warning suppressions with noqa comments - Maintain all SchemaPin functionality and backward compatibility
Overview
This PR integrates the SchemaPin security framework into MockLoop MCP, providing comprehensive security validation for MCP tool interactions through key pinning and schema verification.
Key Features
🔐 Security Framework
🛠️ Implementation
src/mockloop_mcp/schemapin/with 5 specialized components📊 Testing & Validation
📚 Documentation
Files Changed
Core Implementation
src/mockloop_mcp/schemapin/- Complete SchemaPin integration modulesrc/mockloop_mcp/database_migration.py- SchemaPin table migration supportsrc/mockloop_mcp/mcp_tools.py- Security interceptor integrationsrc/mockloop_mcp/proxy/config.py- SchemaPin configuration supportTesting
tests/unit/test_schemapin_integration.py- Unit tests (28 tests)tests/integration/test_schemapin_integration.py- Integration tests (28 tests)Documentation & Examples
docs/guides/schemapin-integration.md- Complete integration guideexamples/schemapin/- Basic and advanced usage examplesREADME.mdandCHANGELOG.mdDependencies
schemapin>=1.0.0to requirementspyproject.tomlwith new dependenciesSecurity Enhancements
Migration & Compatibility
Testing Results
Ready for Review
This PR represents a major security enhancement for MockLoop MCP, implementing the industry's first cryptographic schema verification system for MCP tools. The implementation is production-ready, well-tested, and maintains complete backward compatibility.