Model Context Protocol (MCP) 服务器项目推荐的文件/文件夹结构应优先考虑清晰性、模块化和可扩展性。 一个典型的结构包括用于应用程序代码、配置、模型、服务和文档的单独目录。 例如,根目录可能包含诸如 src/
(核心应用程序逻辑)、config/
(环境设置)、models/
(模型定义和权重)、routes/
(API 端点)和 tests/
(测试套件)之类的文件夹。 这种分离确保组件保持隔离,从而使项目更易于维护和扩展。 诸如 Dockerfile
、requirements.txt
和 README.md
之类的根级别文件提供了基本的设置和部署说明。
关键目录包括用于业务逻辑的 src/services
(例如,模型推理管道),用于身份验证或日志记录的 src/middleware
,以及用于数据验证类的 src/schemas
。 models/
目录可以存储模型二进制文件、特定于版本的子文件夹(例如,v1/
、v2/
)和预处理脚本。 config/
中的配置文件(例如,settings.yaml
)集中了环境变量和服务器参数。 routes/
中的 API 路由定义了诸如 /predict
或 /health
之类的端点,并将逻辑委托给服务。 测试应镜像源结构,其中 tests/unit
和 tests/integration
验证单个组件和端到端工作流程。 用于部署或数据处理的实用程序脚本可能驻留在 scripts/
中。
其他考虑因素包括用于 API 规范(例如,OpenAPI YAML 文件)和架构图的 docs/
文件夹。 使用 .env
文件来存储特定于环境的机密(例如,API 密钥),但将其从版本控制中排除。 包含 docker-compose.yml
用于使用数据库等依赖项进行本地开发。 例如,docker-compose.yml
中的模型缓存服务可以链接到 MCP 服务器。 日志文件可以存储在 logs/
中,旋转策略在应用程序代码中定义。 这种结构在实用性与灵活性之间取得了平衡,使团队能够根据特定需求进行调整,同时保持跨环境的一致性。