36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
---
|
|
title: 生产态 MCP JSON 序列化约束
|
|
type: experience
|
|
permalink: main/projects/ebb54e31-5afe-4f9b-a291-4e3b03ca3b21/生产态-mcp-json-序列化约束
|
|
stable_id: 41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca
|
|
scope: project
|
|
project_id: ebb54e31-5afe-4f9b-a291-4e3b03ca3b21
|
|
memory_type: experience
|
|
status: active
|
|
revision: 1
|
|
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
|
|
created_at: '2026-09-23T15:13:34.565578+00:00'
|
|
updated_at: '2026-09-23T15:13:34.565644+00:00'
|
|
tags:
|
|
- mcp
|
|
- json
|
|
- datetime
|
|
- production
|
|
- regression
|
|
---
|
|
|
|
# 生产态 MCP JSON 序列化约束
|
|
|
|
## 问题
|
|
|
|
`memrelay://capabilities` 在 AI 整理状态含有 `datetime` 字段时,直接 `json.dumps` 会在生产环境触发 JSON 序列化错误。
|
|
|
|
## 结论
|
|
|
|
- MCP Resource 和工具输出应复用同一份能力数据。
|
|
- 输出 JSON 前统一经过 FastAPI `jsonable_encoder`,兼容 `datetime`、UUID 和 Pydantic 对象。
|
|
- 回归测试必须使用真实时间字段,并通过 Streamable HTTP MCP 同时验证 Resource 可解析且与 `capabilities_get` 一致。
|
|
|
|
## 经验
|
|
|
|
单元测试中的纯字典假数据无法覆盖此问题;能力发现、健康状态与 Resource 应在真实网络协议上做生产态验收。 |