Skip to content

Commit b546e57

Browse files
committed
fix: resolve 7 dependency CVEs and ~80 code quality alerts
Bump minimum dependency versions to fix security vulnerabilities: - mcp[cli]>=1.10.0 (CVE-2025-53366, CVE-2025-53365) - requests>=2.32.4 (CVE-2024-47081) - aiohttp>=3.12.14 (CVE-2025-53643) - Transitive: starlette 0.52.1 (CVE-2025-54121), urllib3 2.6.3 (CVE-2025-50182, CVE-2025-50181) Code quality fixes across 35+ files: - Remove unused imports from source, test, example, and script files - Replace empty except blocks with contextlib.suppress() - Remove unnecessary pass statements in schemapin modules - Fix imprecise assertion in test_mcp_audit_logging - Fix mcp_tools.py corruption (restore from last good commit, re-apply schemapin changes)
1 parent 3b48a12 commit b546e57

39 files changed

Lines changed: 2296 additions & 1491481 deletions

examples/mcp-proxy/authentication-example.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import asyncio
1616
import json
17-
from pathlib import Path
1817

1918
# MockLoop MCP imports
2019
from mockloop_mcp.mcp_tools import create_mcp_plugin, execute_test_plan

examples/mcp-proxy/basic-mock-example.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import asyncio
1616
import json
17-
from pathlib import Path
1817

1918
# MockLoop MCP imports
2019
from mockloop_mcp.mcp_tools import create_mcp_plugin, execute_test_plan

examples/mcp-proxy/hybrid-workflow-example.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,9 @@
1616
import asyncio
1717
import json
1818
import os
19-
from pathlib import Path
2019

2120
# MockLoop MCP imports
2221
from mockloop_mcp.mcp_tools import create_mcp_plugin, execute_test_plan
23-
from mockloop_mcp.proxy.config import (
24-
ProxyConfig,
25-
AuthConfig,
26-
AuthType,
27-
RouteRule,
28-
ProxyMode,
29-
)
3022

3123

3224
async def main():

examples/mcp-proxy/proxy-validation-example.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,9 @@
1515

1616
import asyncio
1717
import json
18-
import os
19-
from pathlib import Path
2018

2119
# MockLoop MCP imports
2220
from mockloop_mcp.mcp_tools import create_mcp_plugin, execute_test_plan
23-
from mockloop_mcp.proxy.config import ProxyConfig, AuthConfig, AuthType
2421

2522

2623
async def main():

examples/schemapin/complete_signing_example.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
from mockloop_mcp.schemapin import (
1818
signed_tool,
19-
SchemaSigner,
2019
create_test_signer,
2120
get_tool_signature,
2221
get_tool_domain,

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ dependencies = [
3333
"uvicorn[standard]>=0.24.0",
3434
"Jinja2>=3.1.0",
3535
"PyYAML>=6.0",
36-
"requests>=2.31.0",
37-
"aiohttp>=3.9.0",
38-
"mcp[cli]>=1.0.0",
36+
"requests>=2.32.4",
37+
"aiohttp>=3.12.14",
38+
"mcp[cli]>=1.10.0",
3939
"schemapin>=1.0.0",
4040
]
4141

requirements.txt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,11 @@ fastapi
33
uvicorn[standard]
44
Jinja2
55
PyYAML
6-
requests
7-
8-
# Enhanced functionality dependencies
9-
aiohttp
10-
pyyaml
6+
requests>=2.32.4
7+
aiohttp>=3.12.14
118

129
# MCP SDK
13-
mcp[cli]
10+
mcp[cli]>=1.10.0
1411

1512
# SchemaPin integration
1613
schemapin

scripts/bump_version.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,8 @@ def create_git_commit_and_tag(self, version: str) -> None:
205205
["git", "tag", "-a", tag_name, "-m", tag_message], check=True
206206
)
207207

208-
except subprocess.CalledProcessError:
209-
pass
210-
except FileNotFoundError:
211-
pass
208+
except (subprocess.CalledProcessError, FileNotFoundError):
209+
pass # Git operations are optional - silently skip if not in a git repo
212210

213211

214212
def main():

scripts/sign_all_schemas.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import argparse
1616
import ast
1717
import importlib.util
18-
import inspect
1918
import json
2019
import logging
2120
import os
@@ -28,8 +27,7 @@
2827
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
2928

3029
from mockloop_mcp.schemapin.signing import SchemaSigner
31-
from mockloop_mcp.schemapin.decorators import extract_enhanced_tool_schema, list_signed_tools
32-
from mockloop_mcp.schemapin.config import SchemaPinConfig
30+
from mockloop_mcp.schemapin.decorators import extract_enhanced_tool_schema
3331

3432
# Configure logging
3533
logging.basicConfig(

scripts/validate_signatures.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
from mockloop_mcp.schemapin.signing import SchemaSigner
2828
from mockloop_mcp.schemapin.decorators import (
29-
extract_enhanced_tool_schema,
3029
get_tool_signature,
3130
get_tool_domain,
3231
get_tool_schema,

0 commit comments

Comments
 (0)