Skip to content

fix(deps): cap mcp below 2.0 — 2.0.0 removed mcp.server.fastmcp - #35

Merged
lemduc merged 1 commit into
mainfrom
fix/pin-mcp-below-2
Jul 30, 2026
Merged

fix(deps): cap mcp below 2.0 — 2.0.0 removed mcp.server.fastmcp#35
lemduc merged 1 commit into
mainfrom
fix/pin-mcp-below-2

Conversation

@lemduc

@lemduc lemduc commented Jul 30, 2026

Copy link
Copy Markdown
Owner

mcp 2.0.0 dropped mcp.server.fastmcp, which the MCP adapter imports. The unbounded mcp[cli]>=1.0 pin means every fresh CI install since the release fails (main's own CI run for #32's merge commit is red with the wrapped ImportError on both matrix legs) while local envs with a cached 1.x keep passing.

Repro: uv pip install 'mcp[cli]==2.0.0'from mcp.server.fastmcp import FastMCP raises ModuleNotFoundError. With >=1.0,<2 the resolver picks 1.29.0 and the import works.

Cap until a deliberate mcp 2.0 migration.

🤖 Generated with Claude Code

mcp 2.0.0 (released today) drops the mcp.server.fastmcp module the
adapter imports, so every fresh CI install now fails with the wrapped
'MCP support requires the mcp package' ImportError while local envs
with a cached 1.x keep passing. Cap to <2 until a deliberate 2.0
migration.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Architecture Drift Report

Algorithm: PKG | Entities: 125 | Components: 10

Drift from Baseline

Metric Baseline Current Delta
Components 10 10 +0
Similarity 1.00
BalancedArchitectureScore 0.63 0.63 ⚪ +0.00
PrincipleAlignmentScore 0.87 0.87 ⚪ +0.00
RCI 0.57 0.57 ⚪ +0.00
TurboMQ 2.62 2.62 ⚪ +0.00
BasicMQ 0.26 0.26 ⚪ +0.00
IntraConnectivity 0.02 0.02 ⚪ +0.00
InterConnectivity 0.04 0.04 ⚪ +0.00
TwoWayPairRatio 0.00 0.00 ⚪ +0.00
DependencyHealth 0.98 0.98 ⚪ +0.00
ComponentBalance 0.54 0.54 ⚪ +0.00
HubBalance 0.56 0.56 ⚪ +0.00
BoundaryClarity 0.94 0.94 ⚪ +0.00
DependencyDistribution 0.68 0.68 ⚪ +0.00
SmellDiscipline 0.94 0.94 ⚪ +0.00

Changes

  • No structural changes detected

Components

Component Entities Responsibility
Algorithms 39 Entities in algorithms
Tools 22 Entities in tools
Parsers 21 Entities in parsers
Exporters 14 Entities in exporters
Serialization 8 Entities in serialization
Source 7 Entities in source
Ci 5 Entities in ci
Cache 4 Entities in cache
Budget 3 Entities in budget
Incremental 2 Entities in incremental

Architecture Diagram

graph LR
    Algorithms["Algorithms"]
    Budget["Budget"]
    Cache["Cache"]
    Ci["Ci"]
    Exporters["Exporters"]
    Incremental["Incremental"]
    Parsers["Parsers"]
    Serialization["Serialization"]
    Source["Source"]
    Tools["Tools"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Source --> Cache
    Source --> Parsers
    Tools --> Algorithms
    Tools --> Exporters
    Tools --> Source
Loading

Smells (1)

  • Concern Overload: Tools
    • 💡 Split the overloaded component into smaller, focused units. Consider extracting sub-packages or introducing an interface layer.

Generated by arcade-agent

@github-actions

Copy link
Copy Markdown
Contributor

🤖 Architecture Analysis Summary

Powered by arcade-agent — automatic architectural self-analysis


📈 Metric Evolution

Baseline commit: 206cc4d

Legend: 🟢 better · 🔴 worse · 🟡 low impact · ⚪ no change

Metric Baseline Current Change
BalancedArchitectureScore 0.6229 0.6283 🟢 ↑ (+0.0054)
📦 Components 9 10 🟡 ↑ (+1.0000)
🧩 Entities 120 125 🟡 ↑ (+5.0000)
🔗 Edges 120 127 🟡 ↑ (+7.0000)
🏷️ Classes 22 22 → (no change)
ƒ Functions 292 297 🟡 ↑ (+5.0000)
🔧 Methods 34 34 → (no change)
RCI 0.5833 0.5669 🔴 ↓ (-0.0164)
TurboMQ 2.2539 2.6172 🟢 ↑ (+0.3633)
BasicMQ 0.2504 0.2617 🟢 ↑ (+0.0113)
IntraConnectivity 0.0138 0.0202 🟡 ↑ (+0.0064)
InterConnectivity 0.0315 0.0392 🔴 ↑ (+0.0077)
TwoWayPairRatio 0.0000 0.0000 → (no change)
DependencyHealth 0.9827 0.9784 🔴 ↓ (-0.0043)
ComponentBalance 0.5315 0.5368 🟢 ↑ (+0.0053)
HubBalance 0.5000 0.5556 🟢 ↑ (+0.0556)
BoundaryClarity 0.9444 0.9444 → (no change)
DependencyDistribution 0.6263 0.6750 🟢 ↑ (+0.0487)
SmellDiscipline 0.9333 0.9400 🟢 ↑ (+0.0067)
PrincipleAlignmentScore 0.8555 0.8659 🟢 ↑ (+0.0104)

🏛️ Current Architecture

Metric Value
📦 Components 10
🧩 Entities 125
🔗 Edges 127
🏷️ Classes 22
ƒ Functions 297
🔧 Methods 34
Balanced Score 🟡 0.6283 (Fair)
Principle Alignment 0.8659
RCI 0.5669
TurboMQ 2.6172
BasicMQ 0.2617
IntraConnectivity 0.0202
InterConnectivity 0.0392
TwoWayPairRatio 0.0000
DependencyHealth 0.9784
ComponentBalance 0.5368
HubBalance 0.5556
BoundaryClarity 0.9444
DependencyDistribution 0.6750
SmellDiscipline 0.9400

🧭 Principle Signals

Signal Value
AcyclicDependencies 1.0000
LayeringHealth 0.9838
ResponsibilityFocus 0.9400
InterfaceSegregation 1.0000
ComponentBalance 0.5368
HubBalance 0.5556
BoundaryClarity 0.9444
DependencyDistribution 0.6750
SmellDiscipline 0.9400

🎯 Score Drivers

Biggest risks

  • ComponentBalance: gap=0.4632 (signal=0.5368)
  • HubBalance: gap=0.4444 (signal=0.5556)
  • DependencyDistribution: gap=0.3250 (signal=0.6750)

Strongest areas

  • AcyclicDependencies: gap=0.0000 (signal=1.0000)
  • InterfaceSegregation: gap=0.0000 (signal=1.0000)
  • LayeringHealth: gap=0.0162 (signal=0.9838)

🕸️ High-Level Design

graph TD
    Algorithms["Algorithms\n39 entities\n5 classes / 3 methods"]
    Budget["Budget\n3 entities\n0 classes / 0 methods"]
    Cache["Cache\n4 entities\n0 classes / 0 methods"]
    Ci["Ci\n5 entities\n0 classes / 0 methods"]
    Exporters["Exporters\n14 entities\n1 classes / 0 methods"]
    Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
    Parsers["Parsers\n21 entities\n11 classes / 27 methods"]
    Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
    Source["Source\n7 entities\n1 classes / 1 methods"]
    Tools["Tools\n22 entities\n3 classes / 1 methods"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Source --> Cache
    Source --> Parsers
    Tools --> Algorithms
    Tools --> Exporters
    Tools --> Source
Loading
🏗️ Components breakdown
Component Entities Classes Methods
Algorithms 39 5 3
Tools 22 3 1
Parsers 21 11 27
Exporters 14 1 0
Serialization 8 0 0
Source 7 1 1
Ci 5 0 0
Cache 4 0 0
Budget 3 0 0
Incremental 2 1 2

🚨 Architectural Smells

Severity Type Affected Components
🟡 medium Concern Overload Tools

📈 Evolution vs Baseline

Baseline commit: 206cc4d

Architecture-to-Architecture (A2A) Comparison

Metric Value
A2A Similarity 0.8754
Matched Components 9
Components Added 1
Components Removed 0
Component matching details

Matched:

Baseline Current Similarity
Algorithms Algorithms 1.0000
Budget Budget 1.0000
Cache Cache 1.0000
Ci Ci 1.0000
Exporters Exporters 1.0000
Incremental Incremental 1.0000
Serialization Serialization 1.0000
Parsers Parsers 0.9545
Tools Tools 0.8000

New components: Source

High-level component statistics
Status Baseline Current Similarity Entities Classes Methods
matched Algorithms Algorithms 1.0000 39 → 39 (0) 5 → 5 (0) 3 → 3 (0)
matched Budget Budget 1.0000 3 → 3 (0) 0 → 0 (0) 0 → 0 (0)
matched Cache Cache 1.0000 4 → 4 (0) 0 → 0 (0) 0 → 0 (0)
matched Ci Ci 1.0000 5 → 5 (0) 0 → 0 (0) 0 → 0 (0)
matched Exporters Exporters 1.0000 14 → 14 (0) 1 → 1 (0) 0 → 0 (0)
matched Incremental Incremental 1.0000 2 → 2 (0) 1 → 1 (0) 2 → 2 (0)
matched Parsers Parsers 0.9545 22 → 21 (-1) 11 → 11 (0) 27 → 27 (0)
matched Serialization Serialization 1.0000 8 → 8 (0) 0 → 0 (0) 0 → 0 (0)
matched Tools Tools 0.8000 23 → 22 (-1) 4 → 3 (-1) 2 → 1 (-1)
added - Source - 0 → 7 0 → 1 0 → 1
Before/After Mermaid diagrams

Baseline

graph TD
    Algorithms["Algorithms\n39 entities\n5 classes / 3 methods"]
    Budget["Budget\n3 entities\n0 classes / 0 methods"]
    Cache["Cache\n4 entities\n0 classes / 0 methods"]
    Ci["Ci\n5 entities\n0 classes / 0 methods"]
    Exporters["Exporters\n14 entities\n1 classes / 0 methods"]
    Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
    Parsers["Parsers\n22 entities\n11 classes / 27 methods"]
    Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
    Tools["Tools\n23 entities\n4 classes / 2 methods"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Tools --> Algorithms
    Tools --> Cache
    Tools --> Exporters
    Tools --> Parsers
Loading

Current

graph TD
    Algorithms["Algorithms\n39 entities\n5 classes / 3 methods"]
    Budget["Budget\n3 entities\n0 classes / 0 methods"]
    Cache["Cache\n4 entities\n0 classes / 0 methods"]
    Ci["Ci\n5 entities\n0 classes / 0 methods"]
    Exporters["Exporters\n14 entities\n1 classes / 0 methods"]
    Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
    Parsers["Parsers\n21 entities\n11 classes / 27 methods"]
    Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
    Source["Source\n7 entities\n1 classes / 1 methods"]
    Tools["Tools\n22 entities\n3 classes / 1 methods"]
    Cache --> Serialization
    Ci --> Algorithms
    Ci --> Exporters
    Ci --> Serialization
    Ci --> Tools
    Serialization --> Algorithms
    Serialization --> Parsers
    Source --> Cache
    Source --> Parsers
    Tools --> Algorithms
    Tools --> Exporters
    Tools --> Source
Loading
Component dependency delta
Status Source Target
added Source Cache
added Source Parsers
added Tools Source
removed Tools Cache
removed Tools Parsers

💡 CI/CD Insights

  • Quality Score: 🟡 Fair (BalancedArchitectureScore=0.6283)
  • Principle Alignment: 0.8659 (higher means cleaner layering, focus, and boundaries)
  • Top Risk Driver: ComponentBalance (signal=0.5368)
  • Trend: ➡️ Stable architectural quality
  • Architecture Stability: 🟡 Moderate (A2A=0.8754)
  • Smells: ⚠️ 1 smell(s) — review suggested

📄 View HTML reports and artifacts


This comment is auto-generated by the self-dogfooding CI job. It updates on every push to this PR.

@lemduc
lemduc merged commit 35846bb into main Jul 30, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant