乙内酰亚胺
pydantic-mcp 是一个用于检查Pydantic模型和Python类型合约的MCP服务器。它是为需要确定性验证、序列化、模式生成、模型解释和迁移帮助的LLM工作流而构建的。
特性
- 发现Pydantic
BaseModel跨配置包的类。 - 从导入路径、短模型名称、Python类型表达式或内联模型片段中解析目标。
- 使用验证任意有效载荷
TypeAdapter或模型行为。 - 以Python或JSON模式序列化已验证的数据。
- 生成验证和序列化JSON模式。
- 解释字段、默认值、别名、装饰器、约束和嵌套模型。
- 生成有效和无效的示例有效载荷。
- 从示例JSON有效载荷推断候选Pydantic模型。
- 比较严格/非严格和Python与JSON验证行为。
- 分析常见的Pydantic v1到v2迁移问题。
- 使用解析部分JSON
pydantic_core.from_json. - 公开MCP工具、资源、提示以及HTTP健康/就绪路由。
工具
list_modelsinspect_typeexplain_modelvalidate_dataserialize_datagenerate_json_schemacreate_example_payloadgenerate_model_from_jsoncompare_validation_modesmigrate_v1_to_v2parse_partial_json
资源
pydantic://server/capabilitiespydantic://project/settingspydantic://project/import-rootspydantic://project/errors/recentpydantic://project/models/changedpydantic://models/indexpydantic://models/{qualified_name}pydantic://schemas/{qualified_name}?mode=validation|serializationpydantic://examples/{qualified_name}pydantic://migration/rulespydantic://reference/overview
提示
explain modelgenerate api contract docsdebug validation errordesign a model from example jsonreview schema compatibilitymigrate to pydantic v2
跑
安装依赖项:
uv sync溢出stdio:
uv run python mcp_server.py --transport stdio通过HTTP运行:
uv run python mcp_server.py --transport http --host 127.0.0.1 --port 8000健康终点:
GET /healthzGET /readyz
配置
重要环境变量:
PYDANTIC_MCP_ALLOWED_IMPORT_ROOTSPYDANTIC_MCP_DEFAULT_SCAN_PACKAGESPYDANTIC_MCP_IMPORT_TIMEOUT_SECONDSPYDANTIC_MCP_ERROR_HISTORY_LIMITPYDANTIC_MCP_TRANSPORTPYDANTIC_MCP_HOSTPYDANTIC_MCP_PORT
例子:
PYDANTIC_MCP_ALLOWED_IMPORT_ROOTS=your_app.models \
PYDANTIC_MCP_DEFAULT_SCAN_PACKAGES=your_app.models \
uv run python mcp_server.py --transport stdio这些值必须指向运行时环境中的可导入应用程序包。对于本地烟雾测试,存储库在以下位置提供了一个可安装的示例包 pydantic_mcp_sample_app,但生产部署应该指向您自己的应用程序模块。
测试
just test