server.json配置完全手册:MCP Registry核心配置文件解析

【免费下载链接】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 【免费下载链接】registry 项目地址: https://gitcode.com/GitHub_Trending/registry43/registry

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐