37 lines
1.2 KiB
Markdown
37 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
|
|
memory_type: experience
|
|
project_id: ebb54e31-5afe-4f9b-a291-4e3b03ca3b21
|
|
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
|
status: active
|
|
revision: 1
|
|
request_id: codex-20260807-production-mcp-json-serialization
|
|
created_at: '2026-08-07T03:18:32.413455+00:00'
|
|
updated_at: '2026-08-07T03:18:32.413455+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 应在真实网络协议上做生产态验收。 |