MCP-BOS: 可扩展的MCP服务器框架
MCP-BOS: 模块化、可扩展的Model Context Protocol服务器框架
使用基于约定的自动模块发现机制,为Claude Desktop打造的灵活MCP服务器框架。通过简洁的模块接口和声明式配置,轻松扩展AI应用功能,无需修改核心代码。支持FastMCP标准,包含完整工具、资源和提示模板注册能力。
特性
- 🧩 模块化设计:功能以自包含模块组织,便于扩展
- 🔍 自动发现:约定优于配置的模块加载方式
- ⚙️ 声明式配置:通过config.json灵活配置模块和参数
- 🔌 即插即用:新功能只需添加符合接口的模块目录
- 🔒 安全稳定:分层架构确保核心系统稳定可靠
- 📝 详细日志:完善的日志系统便于调试与监控
- 🖥️ Claude Desktop集成:与Claude深度集成,提供AI增强体验
技术栈
Python
FastMCP
Model Context Protocol
Claude Desktop
JSON
模块化设计
微内核架构
架构思想
MCP-BOS框架采用了现代化的模块化架构设计,主要设计理念包括:
模块化设计
整个框架以模块为中心,每个功能都被封装在独立的模块中,使功能扩展变得简单直观。模块之间相互独立,但又通过标准接口相互协作,形成一个完整的服务生态。
自动发现机制
框架能够自动发现modules
目录下的模块,无需手动注册每个模块。这种"约定优于配置"的方式大幅降低了扩展成本。
声明式配置
通过config.json
文件进行全局和模块级别的配置,使框架具有很高的灵活性,可以根据不同需求启用或禁用特定模块。
分层架构
框架分为核心层和模块层,核心层负责框架基础功能,模块层负责具体业务功能,这种分层设计使框架更加健壮和可维护。
目录结构说明
核心组件说明
- main.py: 框架入口点,负责初始化和启动服务器
- core/: 核心组件目录
- module_interface.py: 定义所有模块必须实现的接口
- module_registry.py: 管理已注册的模块
- module_loader.py: 自动发现和加载模块
- config_manager.py: 加载和管理配置
- server.py: 与FastMCP集成,提供服务器功能
- modules/: 功能模块目录,每个子目录是一个独立模块
- utils/: 通用工具函数
配置文件结构
config.json
文件是框架的核心配置,分为全局配置和模块配置两部分:
- global: 全局配置部分
- server_name: 服务器名称
- debug: 是否启用调试模式
- log_level: 日志级别
- transport: 传输协议,通常为"stdio"
- dependencies: 依赖包列表
- modules: 模块配置部分,每个模块有自己的配置节
- enabled: 是否启用该模块
- 其他模块特定的配置参数
使用方法
安装
- 克隆仓库:
- 安装依赖:
配置
编辑config.json
文件来配置服务器和模块:
- 设置服务器名称、日志级别等全局参数
- 启用或禁用模块
- 配置模块特定参数
运行
有以下几种方式运行服务器:
- 直接运行:
- 使用uv运行:
- 与Claude Desktop集成:
- 开发调试模式:
添加新模块
- 在
modules
目录下创建一个新的模块目录:
- 创建必要的文件:
- 实现模块接口:
- 导出模块类:
- 在配置文件中启用模块:
- 重启服务器,新模块将被自动发现和加载
常见问题
模块未加载
- 检查模块目录结构是否正确
- 确认
__init__.py
文件是否导出了模块类 - 检查配置文件中模块是否启用
- 查看日志输出,了解详细错误信息
编码问题
如果在Windows环境下遇到中文编码问题,确保设置了正确的环境变量:
服务器连接问题
- 确认Claude Desktop已正确配置
- 检查依赖是否正确安装
- 查看Claude Desktop日志文件
贡献指南
欢迎提交贡献,请遵循以下步骤:
- Fork项目
- 创建功能分支
- 提交更改
- 创建Pull Request
作者
- kinbos 严富坤 - 个人网站
- 邮箱: fookinbos@gmail.com
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A modular, extensible Model Context Protocol server framework designed for Claude Desktop that uses convention-based automatic module discovery to easily extend AI application functionality without modifying core code.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.Last updated -1Python
- AsecurityFlicenseAqualityA starter template for building Model Context Protocol servers that can be integrated with Cursor or Claude Desktop, allowing developers to create custom tools and extensions for AI assistants.Last updated -169TypeScript
- -securityFlicense-qualityA Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.Last updated -462Python
- -securityFlicense-qualityA demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.Last updated -Python