Skip to content

Commit 3167a0d

Browse files
chore(mcp-service): upgrade fastmcp from 2.10.6 to 2.13.0.2 (apache#36014)
1 parent 909bd87 commit 3167a0d

File tree

4 files changed

+60
-12
lines changed

4 files changed

+60
-12
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ solr = ["sqlalchemy-solr >= 0.2.0"]
140140
elasticsearch = ["elasticsearch-dbapi>=0.2.9, <0.3.0"]
141141
exasol = ["sqlalchemy-exasol >= 2.4.0, <3.0"]
142142
excel = ["xlrd>=1.2.0, <1.3"]
143-
fastmcp = ["fastmcp>=2.10.6"]
143+
fastmcp = ["fastmcp>=2.13.0.2"]
144144
firebird = ["sqlalchemy-firebird>=0.7.0, <0.8"]
145145
firebolt = ["firebolt-sqlalchemy>=1.0.0, <2"]
146146
gevent = ["gevent>=23.9.1"]

requirements/base.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ cachelib==0.13.0
4242
# via
4343
# flask-caching
4444
# flask-session
45-
cachetools==5.5.2
45+
cachetools==6.2.1
4646
# via google-auth
4747
cattrs==25.1.1
4848
# via requests-cache
@@ -154,12 +154,13 @@ geographiclib==2.0
154154
# via geopy
155155
geopy==2.4.1
156156
# via apache-superset (pyproject.toml)
157-
google-auth==2.40.3
157+
google-auth==2.43.0
158158
# via shillelagh
159159
greenlet==3.1.1
160160
# via
161161
# apache-superset (pyproject.toml)
162162
# shillelagh
163+
# sqlalchemy
163164
gunicorn==23.0.0
164165
# via apache-superset (pyproject.toml)
165166
h11==0.16.0
@@ -404,7 +405,7 @@ trio==0.30.0
404405
# trio-websocket
405406
trio-websocket==0.12.2
406407
# via selenium
407-
typing-extensions==4.14.0
408+
typing-extensions==4.15.0
408409
# via
409410
# apache-superset (pyproject.toml)
410411
# alembic

requirements/development.txt

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,16 @@ backoff==2.2.1
5858
# via
5959
# -c requirements/base-constraint.txt
6060
# apache-superset
61+
backports-tarfile==1.2.0
62+
# via jaraco-context
6163
bcrypt==4.3.0
6264
# via
6365
# -c requirements/base-constraint.txt
6466
# paramiko
67+
beartype==0.22.5
68+
# via
69+
# py-key-value-aio
70+
# py-key-value-shared
6571
billiard==4.2.1
6672
# via
6773
# -c requirements/base-constraint.txt
@@ -83,10 +89,11 @@ cachelib==0.13.0
8389
# -c requirements/base-constraint.txt
8490
# flask-caching
8591
# flask-session
86-
cachetools==5.5.2
92+
cachetools==6.2.1
8793
# via
8894
# -c requirements/base-constraint.txt
8995
# google-auth
96+
# py-key-value-aio
9097
cattrs==25.1.1
9198
# via
9299
# -c requirements/base-constraint.txt
@@ -167,7 +174,9 @@ cryptography==44.0.3
167174
# apache-superset
168175
# authlib
169176
# paramiko
177+
# pyjwt
170178
# pyopenssl
179+
# secretstorage
171180
cycler==0.12.1
172181
# via matplotlib
173182
cyclopts==3.24.0
@@ -188,6 +197,8 @@ deprecation==2.1.0
188197
# apache-superset
189198
dill==0.4.0
190199
# via pylint
200+
diskcache==5.6.3
201+
# via py-key-value-aio
191202
distlib==0.3.8
192203
# via virtualenv
193204
dnspython==2.7.0
@@ -217,7 +228,7 @@ et-xmlfile==2.0.0
217228
# openpyxl
218229
exceptiongroup==1.3.0
219230
# via fastmcp
220-
fastmcp==2.10.6
231+
fastmcp==2.13.0.2
221232
# via apache-superset
222233
filelock==3.12.2
223234
# via virtualenv
@@ -319,7 +330,7 @@ google-api-core==2.23.0
319330
# google-cloud-core
320331
# pandas-gbq
321332
# sqlalchemy-bigquery
322-
google-auth==2.40.3
333+
google-auth==2.43.0
323334
# via
324335
# -c requirements/base-constraint.txt
325336
# google-api-core
@@ -357,6 +368,7 @@ greenlet==3.1.1
357368
# apache-superset
358369
# gevent
359370
# shillelagh
371+
# sqlalchemy
360372
grpcio==1.71.0
361373
# via
362374
# apache-superset
@@ -406,6 +418,8 @@ idna==3.10
406418
# requests
407419
# trio
408420
# url-normalize
421+
importlib-metadata==8.7.0
422+
# via keyring
409423
importlib-resources==6.5.2
410424
# via prophet
411425
iniconfig==2.0.0
@@ -421,6 +435,16 @@ itsdangerous==2.2.0
421435
# -c requirements/base-constraint.txt
422436
# flask
423437
# flask-wtf
438+
jaraco-classes==3.4.0
439+
# via keyring
440+
jaraco-context==6.0.1
441+
# via keyring
442+
jaraco-functools==4.3.0
443+
# via keyring
444+
jeepney==0.9.0
445+
# via
446+
# keyring
447+
# secretstorage
424448
jinja2==3.1.6
425449
# via
426450
# -c requirements/base-constraint.txt
@@ -439,12 +463,16 @@ jsonschema==4.23.0
439463
# openapi-schema-validator
440464
# openapi-spec-validator
441465
jsonschema-path==0.3.4
442-
# via openapi-spec-validator
466+
# via
467+
# fastmcp
468+
# openapi-spec-validator
443469
jsonschema-specifications==2025.4.1
444470
# via
445471
# -c requirements/base-constraint.txt
446472
# jsonschema
447473
# openapi-schema-validator
474+
keyring==25.6.0
475+
# via py-key-value-aio
448476
kiwisolver==1.4.7
449477
# via matplotlib
450478
kombu==5.5.3
@@ -496,12 +524,16 @@ matplotlib==3.9.0
496524
# via prophet
497525
mccabe==0.7.0
498526
# via pylint
499-
mcp==1.14.1
527+
mcp==1.20.0
500528
# via fastmcp
501529
mdurl==0.1.2
502530
# via
503531
# -c requirements/base-constraint.txt
504532
# markdown-it-py
533+
more-itertools==10.8.0
534+
# via
535+
# jaraco-classes
536+
# jaraco-functools
505537
msgpack==1.0.8
506538
# via
507539
# -c requirements/base-constraint.txt
@@ -598,6 +630,8 @@ parsedatetime==2.6
598630
# apache-superset
599631
pathable==0.4.3
600632
# via jsonschema-path
633+
pathvalidate==3.3.1
634+
# via py-key-value-aio
601635
pgsanity==0.2.9
602636
# via
603637
# -c requirements/base-constraint.txt
@@ -612,6 +646,7 @@ pip==25.1.1
612646
platformdirs==4.3.8
613647
# via
614648
# -c requirements/base-constraint.txt
649+
# fastmcp
615650
# pylint
616651
# requests-cache
617652
# virtualenv
@@ -654,6 +689,10 @@ psutil==6.1.0
654689
# via apache-superset
655690
psycopg2-binary==2.9.6
656691
# via apache-superset
692+
py-key-value-aio==0.2.8
693+
# via fastmcp
694+
py-key-value-shared==0.2.8
695+
# via py-key-value-aio
657696
pyarrow==16.1.0
658697
# via
659698
# -c requirements/base-constraint.txt
@@ -709,6 +748,7 @@ pyjwt==2.10.1
709748
# apache-superset
710749
# flask-appbuilder
711750
# flask-jwt-extended
751+
# mcp
712752
pylint==3.3.7
713753
# via apache-superset
714754
pynacl==1.5.0
@@ -844,6 +884,8 @@ rsa==4.9.1
844884
# google-auth
845885
ruff==0.8.0
846886
# via apache-superset
887+
secretstorage==3.4.0
888+
# via keyring
847889
selenium==4.32.0
848890
# via
849891
# -c requirements/base-constraint.txt
@@ -941,7 +983,7 @@ trio-websocket==0.12.2
941983
# via
942984
# -c requirements/base-constraint.txt
943985
# selenium
944-
typing-extensions==4.14.0
986+
typing-extensions==4.15.0
945987
# via
946988
# -c requirements/base-constraint.txt
947989
# alembic
@@ -950,6 +992,7 @@ typing-extensions==4.14.0
950992
# cattrs
951993
# exceptiongroup
952994
# limits
995+
# py-key-value-shared
953996
# pydantic
954997
# pydantic-core
955998
# pyopenssl
@@ -1004,6 +1047,8 @@ websocket-client==1.8.0
10041047
# via
10051048
# -c requirements/base-constraint.txt
10061049
# selenium
1050+
websockets==15.0.1
1051+
# via fastmcp
10071052
werkzeug==3.1.3
10081053
# via
10091054
# -c requirements/base-constraint.txt
@@ -1039,6 +1084,8 @@ xlsxwriter==3.0.9
10391084
# -c requirements/base-constraint.txt
10401085
# apache-superset
10411086
# pandas
1087+
zipp==3.23.0
1088+
# via importlib-metadata
10421089
zope-event==5.0
10431090
# via gevent
10441091
zope-interface==5.4.0

tests/unit_tests/mcp_service/sql_lab/tool/test_execute_sql.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ async def test_execute_sql_invalid_limit(self, mcp_server):
482482
}
483483

484484
async with Client(mcp_server) as client:
485-
with pytest.raises(ToolError, match="minimum of 1"):
485+
with pytest.raises(ToolError, match="greater than or equal to 1"):
486486
await client.call_tool("execute_sql", {"request": request})
487487

488488
# Test limit too high
@@ -493,5 +493,5 @@ async def test_execute_sql_invalid_limit(self, mcp_server):
493493
}
494494

495495
async with Client(mcp_server) as client:
496-
with pytest.raises(ToolError, match="maximum of 10000"):
496+
with pytest.raises(ToolError, match="less than or equal to 10000"):
497497
await client.call_tool("execute_sql", {"request": request})

0 commit comments

Comments
 (0)