--- 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 应在真实网络协议上做生产态验收。