Files
MemRelay/projects/ebb54e31-5afe-4f9b-a291-4e3b03ca3b21/生产态 MCP JSON 序列化约束.md
T

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