Skip to content

Conversation

@alexander-alderman-webb
Copy link
Contributor

Description

The following error is returned from result.json() without the change:

{'jsonrpc': '2.0', 'id': 'req-async-prompt', 'error': {'code': 0, 'message': 'Error rendering prompt async_prompt.'}}

I haven't investigated this in much depth, but Cursor fetched me this from the upgrade guide 😄

https://github.com/jlowin/fastmcp/blob/main/docs/development/upgrade-guide.mdx#prompts-use-message-class

Issues

Reminders

@alexander-alderman-webb alexander-alderman-webb requested a review from a team as a code owner February 2, 2026 13:15
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Span Streaming

  • feat(span-streaming): Add spans to telemetry pipeline, add span name and attributes (3) by sentrivana in #5399
  • feat(span-streaming): Add span batcher (2) by sentrivana in #5398
  • feat(span-streaming): Add experimental trace_lifecycle switch (1) by sentrivana in #5397

Bug Fixes 🐛

Span Streaming

  • fix(span-streaming): Always preserialize attributes by sentrivana in #5407
  • fix(span-streaming): Warn about thread usage if any batcher is active by sentrivana in #5408

Other

  • fix(arq): handle settings_cls passed as keyword argument by nc9 in #5393
  • fix(dramatiq): cleanup isolated scope and transaction when message is skipped by frankie567 in #5346
  • fix(google-genai): deactivate google genai when langchain is used by shellmayr in #5389

Internal Changes 🔧

Fastmcp

  • test(fastmcp): Wrap prompt in Message by alexander-alderman-webb in #5411
  • test(fastmcp): Use AsyncClient for SSE by alexander-alderman-webb in #5400
  • test(fastmcp): Use TestClient for Streamable HTTP by alexander-alderman-webb in #5384
  • test(fastmcp): Simulate stdio transport with memory streams by alexander-alderman-webb in #5333

Mcp

  • test(mcp): Use AsyncClient for SSE by alexander-alderman-webb in #5396
  • test(mcp): Use TestClient for Streamable HTTP by alexander-alderman-webb in #5383
  • test(mcp): Remove unused stdio helpers by alexander-alderman-webb in #5409
  • test(mcp): Simulate stdio transport with memory streams by alexander-alderman-webb in #5329

Other

  • ci: migration to the new codecov action by MathurAditya724 in #5392

🤖 This preview updates automatically when you update the PR.

@alexander-alderman-webb alexander-alderman-webb changed the title test(fastmcp): Wrap prompt in Message test(fastmcp): Wrap prompt in Message Feb 2, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Codecov Results 📊

118 passed | Total: 118 | Pass Rate: 100% | Execution Time: 18.05s

All tests are passing successfully.

✅ Patch coverage is 100.00%. Project has 13162 uncovered lines.

Files with missing lines (179)
File Patch % Lines
langchain.py 3.28% ⚠️ 590 Missing
utils.py 52.52% ⚠️ 434 Missing and 80 partials
tracing_utils.py 36.15% ⚠️ 378 Missing and 30 partials
__init__.py 5.08% ⚠️ 374 Missing
scope.py 63.82% ⚠️ 297 Missing and 70 partials
starlette.py 5.34% ⚠️ 337 Missing
transport.py 23.54% ⚠️ 302 Missing and 2 partials
client.py 55.58% ⚠️ 223 Missing and 60 partials
mcp.py 4.85% ⚠️ 255 Missing
transaction_profiler.py 35.52% ⚠️ 216 Missing and 10 partials
__init__.py 3.93% ⚠️ 220 Missing
langgraph.py 5.29% ⚠️ 215 Missing
span_processor.py 0.00% ⚠️ 205 Missing
continuous_profiler.py 43.45% ⚠️ 177 Missing and 17 partials
tracing.py 69.68% ⚠️ 144 Missing and 49 partials
strawberry.py 8.54% ⚠️ 182 Missing
aws_lambda.py 16.50% ⚠️ 167 Missing
spark_driver.py 0.00% ⚠️ 166 Missing
sanic.py 9.60% ⚠️ 160 Missing
cloud_resource_context.py 0.00% ⚠️ 145 Missing
ai_client.py 0.00% ⚠️ 145 Missing
rust_tracing.py 0.00% ⚠️ 143 Missing
utils.py 81.42% ⚠️ 89 Missing and 54 partials
litestar.py 9.59% ⚠️ 132 Missing
starlite.py 8.33% ⚠️ 132 Missing
envelope.py 40.82% ⚠️ 116 Missing and 11 partials
aiohttp.py 30.72% ⚠️ 115 Missing and 2 partials
falcon.py 8.94% ⚠️ 112 Missing
flask.py 12.50% ⚠️ 112 Missing
spotlight.py 28.47% ⚠️ 103 Missing and 8 partials
asgi.py 20.71% ⚠️ 111 Missing
cohere.py 12.70% ⚠️ 110 Missing
dramatiq.py 0.00% ⚠️ 110 Missing
agent_run.py 0.00% ⚠️ 110 Missing
arq.py 9.92% ⚠️ 109 Missing
asgi.py 0.00% ⚠️ 109 Missing
hub.py 45.60% ⚠️ 105 Missing and 3 partials
pymongo.py 10.17% ⚠️ 106 Missing
beat.py 8.62% ⚠️ 106 Missing
caching.py 0.00% ⚠️ 106 Missing
utils.py 0.00% ⚠️ 103 Missing
templates.py 0.00% ⚠️ 100 Missing
asyncpg.py 11.61% ⚠️ 99 Missing
quart.py 16.10% ⚠️ 99 Missing
wsgi.py 22.66% ⚠️ 99 Missing
gcp.py 0.00% ⚠️ 98 Missing
otlp.py 0.00% ⚠️ 97 Missing
utils.py 13.39% ⚠️ 97 Missing
sessions.py 27.82% ⚠️ 96 Missing
utils.py 74.71% ⚠️ 65 Missing and 29 partials
pyramid.py 13.76% ⚠️ 94 Missing
tornado.py 14.55% ⚠️ 94 Missing
__init__.py 0.00% ⚠️ 93 Missing
openai.py 90.10% ⚠️ 51 Missing and 41 partials
models.py 5.15% ⚠️ 92 Missing
_wsgi_common.py 28.35% ⚠️ 91 Missing
bottle.py 11.65% ⚠️ 91 Missing
middleware.py 0.00% ⚠️ 90 Missing
agent_run.py 0.00% ⚠️ 90 Missing
beam.py 0.00% ⚠️ 84 Missing
loguru.py 11.58% ⚠️ 84 Missing
ray.py 0.00% ⚠️ 84 Missing
logging.py 52.94% ⚠️ 72 Missing and 11 partials
__init__.py 64.02% ⚠️ 77 Missing and 5 partials
asyncio.py 0.00% ⚠️ 80 Missing
stdlib.py 44.03% ⚠️ 75 Missing and 5 partials
invoke_agent.py 0.00% ⚠️ 79 Missing
runner.py 0.00% ⚠️ 77 Missing
session.py 15.56% ⚠️ 76 Missing
clickhouse_driver.py 17.58% ⚠️ 75 Missing
pure_eval.py 0.00% ⚠️ 73 Missing
worker.py 22.58% ⚠️ 72 Missing
ariadne.py 14.46% ⚠️ 71 Missing
gql.py 10.13% ⚠️ 71 Missing
sqlalchemy.py 10.26% ⚠️ 70 Missing
fastapi.py 15.85% ⚠️ 69 Missing
graphene.py 12.82% ⚠️ 68 Missing
transactions.py 0.00% ⚠️ 67 Missing
_queue.py 26.67% ⚠️ 66 Missing
rq.py 15.38% ⚠️ 66 Missing
huey.py 17.72% ⚠️ 65 Missing
boto3.py 14.86% ⚠️ 63 Missing
utils.py 16.00% ⚠️ 63 Missing
api.py 59.73% ⚠️ 60 Missing
chalice.py 16.18% ⚠️ 57 Missing
propagator.py 0.00% ⚠️ 57 Missing
server.py 0.00% ⚠️ 56 Missing
spark_worker.py 0.00% ⚠️ 56 Missing
monitoring.py 37.80% ⚠️ 51 Missing and 1 partials
graph_nodes.py 0.00% ⚠️ 52 Missing
gnu_backtrace.py 0.00% ⚠️ 51 Missing
_async_common.py 0.00% ⚠️ 51 Missing
socket.py 0.00% ⚠️ 50 Missing
views.py 0.00% ⚠️ 50 Missing
tools.py 0.00% ⚠️ 49 Missing
caches.py 16.95% ⚠️ 49 Missing
_batcher.py 41.25% ⚠️ 47 Missing
_asgi_common.py 16.67% ⚠️ 45 Missing
signals_handlers.py 0.00% ⚠️ 44 Missing
anthropic.py 91.70% ⚠️ 22 Missing and 21 partials
invoke_agent.py 0.00% ⚠️ 43 Missing
utils.py 22.22% ⚠️ 42 Missing and 1 partials
client.py 0.00% ⚠️ 40 Missing
_sync_common.py 22.00% ⚠️ 39 Missing
executing.py 0.00% ⚠️ 38 Missing
client.py 0.00% ⚠️ 38 Missing
serializer.py 86.02% ⚠️ 26 Missing and 11 partials
_span_batcher.py 35.71% ⚠️ 36 Missing
serverless.py 0.00% ⚠️ 36 Missing
server.py 0.00% ⚠️ 35 Missing
threading.py 74.74% ⚠️ 24 Missing and 10 partials
litellm.py 87.68% ⚠️ 17 Missing and 15 partials
sys_exit.py 0.00% ⚠️ 32 Missing
launchdarkly.py 0.00% ⚠️ 31 Missing
trytond.py 0.00% ⚠️ 30 Missing
tools.py 0.00% ⚠️ 30 Missing
integration.py 0.00% ⚠️ 30 Missing
error_tracing.py 0.00% ⚠️ 29 Missing
httpx.py 65.75% ⚠️ 25 Missing and 2 partials
huggingface_hub.py 97.22% ⚠️ 5 Missing and 22 partials
scrubber.py 76.81% ⚠️ 16 Missing and 10 partials
redis_cluster.py 26.47% ⚠️ 25 Missing
_werkzeug.py 11.11% ⚠️ 24 Missing
typer.py 0.00% ⚠️ 24 Missing
tasks.py 0.00% ⚠️ 24 Missing
_compat.py 41.03% ⚠️ 23 Missing
__init__.py 84.78% ⚠️ 14 Missing and 9 partials
statsig.py 0.00% ⚠️ 23 Missing
execute_tool.py 0.00% ⚠️ 23 Missing
queries.py 25.81% ⚠️ 23 Missing
logger.py 43.59% ⚠️ 22 Missing
decorator.py 37.14% ⚠️ 22 Missing
ai_client.py 15.38% ⚠️ 22 Missing
_log_batcher.py 0.00% ⚠️ 21 Missing
attachments.py 27.59% ⚠️ 21 Missing
unraisablehook.py 0.00% ⚠️ 21 Missing
__init__.py 8.70% ⚠️ 21 Missing
openfeature.py 0.00% ⚠️ 20 Missing
execute_tool.py 0.00% ⚠️ 20 Missing
unleash.py 0.00% ⚠️ 19 Missing
_lru_cache.py 43.33% ⚠️ 17 Missing and 1 partials
streaming.py 93.94% ⚠️ 4 Missing and 14 partials
model_request.py 0.00% ⚠️ 18 Missing
traces.py 41.38% ⚠️ 17 Missing
monitor.py 81.97% ⚠️ 11 Missing and 5 partials
utils.py 0.00% ⚠️ 16 Missing
atexit.py 56.25% ⚠️ 14 Missing and 1 partials
excepthook.py 56.25% ⚠️ 14 Missing and 1 partials
redis.py 25.00% ⚠️ 15 Missing
feature_flags.py 56.25% ⚠️ 14 Missing
_init_implementation.py 45.83% ⚠️ 13 Missing
dedupe.py 77.50% ⚠️ 9 Missing and 4 partials
__init__.py 27.78% ⚠️ 13 Missing
types.py 0.00% ⚠️ 12 Missing
redis_py_cluster_legacy.py 26.67% ⚠️ 11 Missing
_types.py 66.67% ⚠️ 10 Missing
api.py 37.50% ⚠️ 10 Missing
utils.py 41.18% ⚠️ 10 Missing
metrics.py 47.06% ⚠️ 9 Missing
__init__.py 72.41% ⚠️ 8 Missing and 1 partials
_metrics_batcher.py 65.00% ⚠️ 7 Missing
_openai_completions_api.py 91.30% ⚠️ 2 Missing and 5 partials
handoff.py 0.00% ⚠️ 7 Missing
consts.py 0.00% ⚠️ 7 Missing
rb.py 30.00% ⚠️ 7 Missing
debug.py 91.30% ⚠️ 2 Missing and 2 partials
__init__.py 20.00% ⚠️ 4 Missing
__init__.py 0.00% ⚠️ 4 Missing
__init__.py 0.00% ⚠️ 3 Missing
__init__.py 40.00% ⚠️ 3 Missing
__init__.py 0.00% ⚠️ 3 Missing
__init__.py 0.00% ⚠️ 3 Missing
__init__.py 0.00% ⚠️ 3 Missing
consts.py 99.43% ⚠️ 2 Missing
argv.py 100.00% ⚠️ 2 partials
modules.py 94.12% ⚠️ 1 Missing and 1 partials
agent_workflow.py 71.43% ⚠️ 2 Missing
consts.py 0.00% ⚠️ 1 Missing
consts.py 0.00% ⚠️ 1 Missing

Generated by Codecov Action

@alexander-alderman-webb alexander-alderman-webb marked this pull request as draft February 2, 2026 13:20
@alexander-alderman-webb alexander-alderman-webb marked this pull request as ready for review February 2, 2026 13:33
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Copy link
Contributor

@sentrivana sentrivana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙏🏻

@alexander-alderman-webb alexander-alderman-webb merged commit 3455a42 into master Feb 2, 2026
153 checks passed
@alexander-alderman-webb alexander-alderman-webb deleted the webb/fastmcp-use-message-type branch February 2, 2026 13:42
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.

3 participants