server.json配置完全手册:MCP Registry核心配置文件解析
server.json是Model Context Protocol (MCP)注册表的核心配置文件,它为开发者提供了一种标准化的方式来描述MCP服务器,支持发布、发现、安装和配置的全生命周期管理。这份完整的配置手册将帮助你深入理解server.json的每个字段和最佳实践。✨## 🎯 什么是server.json配置文件server.json是MCP生态系统中定义服务器元数据的标准化J
server.json配置完全手册:MCP Registry核心配置文件解析
【免费下载链接】registry 项目地址: https://gitcode.com/GitHub_Trending/registry43/registry
server.json是Model Context Protocol (MCP)注册表的核心配置文件,它为开发者提供了一种标准化的方式来描述MCP服务器,支持发布、发现、安装和配置的全生命周期管理。这份完整的配置手册将帮助你深入理解server.json的每个字段和最佳实践。✨
🎯 什么是server.json配置文件
server.json是MCP生态系统中定义服务器元数据的标准化JSON格式文件。它包含了服务器名称、版本、描述、包信息、传输配置等关键信息,是MCP注册表与客户端之间通信的基础。
核心功能包括:
- 服务器发现:帮助MCP客户端找到可用的服务器
- 包管理:定义如何下载和运行服务器包
- 配置管理:提供运行时的参数和环境变量配置
- 元数据扩展:支持自定义元数据存储
📋 基础配置字段详解
必需字段
每个server.json文件必须包含以下三个核心字段:
{
"name": "io.github.yourname/weather-server",
"description": "提供天气数据的MCP服务器",
"version": "1.0.0"
}
- name:采用反向DNS命名约定,必须包含一个斜杠分隔命名空间和服务器名称
- description:清晰描述服务器功能的简短说明
- version:遵循语义版本控制的版本号
可选元数据字段
{
"title": "Weather API Server",
"websiteUrl": "https://yourdomain.com/weather-server",
"repository": {
"url": "https://github.com/yourname/weather-server",
"source": "github",
"id": "repository-unique-id"
}
}
📦 包配置:支持多种包管理器
MCP支持多种包管理器,包括NPM、PyPI、NuGet、OCI容器和MCPB格式:
NPM包配置示例
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "@yourname/weather-server",
"version": "1.0.0",
"transport": {
"type": "stdio"
}
}
]
Python包配置示例
"packages": [
{
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"identifier": "weather-server",
"version": "1.0.0",
"runtimeHint": "uvx",
"transport": {
"type": "stdio"
}
}
]
🚀 传输协议配置
MCP支持三种传输协议,满足不同场景需求:
标准IO传输 (stdio)
"transport": {
"type": "stdio"
}
HTTP流式传输
"transport": {
"type": "streamable-http",
"url": "https://yourserver.com/mcp"
}
Server-Sent Events传输
"transport": {
"type": "sse",
"url": "https://yourserver.com/sse"
}
⚙️ 运行时参数配置
命令行参数配置
"packageArguments": [
{
"type": "named",
"name": "--port",
"description": "服务器监听端口",
"default": "3000"
},
{
"type": "positional",
"valueHint": "config_file",
"description": "配置文件路径"
}
]
环境变量配置
"environmentVariables": [
{
"name": "API_KEY",
"description": "API访问密钥",
"isRequired": true,
"isSecret": true
},
{
"name": "LOG_LEVEL",
"description": "日志级别",
"default": "info"
}
]
🔧 高级配置功能
自定义元数据扩展
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"tool": "ci-publisher",
"version": "1.2.3",
"build_info": {
"commit": "abc123def456",
"timestamp": "2024-01-15T10:30:00Z"
}
}
}
多包配置支持
"packages": [
{
"registryType": "npm",
"identifier": "@yourname/server-npm",
"version": "1.0.0",
"transport": {"type": "stdio"}
},
{
"registryType": "oci",
"identifier": "docker.io/yourname/server:1.0.0",
"transport": {"type": "stdio"}
}
]
🛡️ 安全最佳实践
1. 包完整性验证
"fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce"
2. 敏感信息保护
"environmentVariables": [
{
"name": "DATABASE_PASSWORD",
"isSecret": true,
"isRequired": true
}
]
3. 传输安全
确保所有远程传输使用HTTPS协议,避免中间人攻击。
📊 验证和测试
JSON Schema验证
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json"
}
使用官方JSON Schema进行验证,确保配置文件的正确性和完整性。
🎉 总结
server.json作为MCP生态系统的核心配置文件,提供了强大而灵活的服务器描述能力。通过合理配置各个字段,你可以:
- ✅ 支持多种包管理器和传输协议
- ✅ 提供丰富的运行时配置选项
- ✅ 确保安全性和完整性验证
- ✅ 扩展自定义元数据需求
- ✅ 实现跨平台的服务器部署
掌握server.json的配置技巧,将帮助你更好地在MCP生态系统中发布和管理服务器,为用户提供稳定可靠的服务体验。🚀
记得在实际部署前,使用官方验证工具检查配置文件的完整性和正确性,确保服务器能够顺利运行!
【免费下载链接】registry 项目地址: https://gitcode.com/GitHub_Trending/registry43/registry
更多推荐
所有评论(0)