模型上下文协议服务器

Brest MCP Server 是一个基于模型上下文协议(MCP)的服务器实现,提供MCP交互的基础设施,内置调试和监控功能。

  • by Nijal-AI
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 bse-dev/brest-mcp-server

使用说明

布雷斯特MCP服务器

布雷斯特地区强大的模型上下文协议(MCP)服务器实现,为基于MCP的交互提供基础设施,并具有内置调试和监控功能。

目录

描述

布雷斯特MCP服务器 是布雷斯特地区模型上下文协议(MCP)的服务器实现。它为管理基于MCP的交互提供了一个强大的基础设施,并包括一个用于调试和监控的MCP检查器。

该项目的目标是促进MCP服务的部署和管理,重点是简单性和可靠性。

特性

  • 🚀 MCP协议实现:完全符合模型上下文协议标准
  • 🔍 内置检查器:使用集成的web界面调试和监控您的MCP服务器
  • 🤖 AI代理集成:支持A2A协议和代理间通信
  • 🐍 基于Python:使用Python 3.12+构建,用于现代开发实践
  • 📦 UV包装管理:快速可靠的依赖关系管理
  • 🔧 开发工具:包括客户端工具和调试实用程序

先决条件

在安装Brest MCP服务器之前,请确保您已经:

  • Python 3.12.3 或更高
  • Node.js (供MCP检查员使用)
  • Git (用于克隆存储库)
  • 紫外线 软件包管理器(安装说明如下)

技术

  • 语言:Python 3.12.3或兼容
  • 依赖管理:紫外线
  • 检查员:通过Node.js的MCP检查器(npx)
  • 环境:由管理的虚拟环境 uv
  • 协议:模型上下文协议(MCP)和A2A(代理到代理)

安装

要在本地安装和配置Brest MCP服务器,请执行以下步骤:

  1. 安装 uv (如果尚未安装):

    • 在Linux/macOS上:
      curl -LsSf https://astral.sh/uv/install.sh | sh
      
    • 在Windows上:
      powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
      
  2. 克隆存储库:

    git clone https://github.com/Nijal-AI/Brest-mcp-server.git
    cd Brest-mcp-server
    
  3. 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  4. 安装依赖项:

    uv sync
    

用法

运行服务器

要在本地运行服务器,请按以下步骤操作:

  1. 确保虚拟环境已激活:

    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. 使用MCP检查器启动服务器:

    npx @modelcontextprotocol/inspector uv run brest-mcp
    
  3. 在浏览器中访问MCP检查器:

    • 代理: http://localhost:3000
    • Web界面: http://localhost:5173

输出示例:

Starting MCP inspector...
Proxy server listening on port 3000
🔍 MCP Inspector is up and running at http://localhost:5173 🚀

使用客户端

如果您想使用Brest MCP服务器与AI代理通信,可以使用 tools 目录:

uv run python tools/client.py src/server.py

AI代理集成

您还可以使用A2A协议上的Brest MCP Server与AI代理聊天。

  1. 设置代理:

    echo "MCP_TRANSPORT=stdio" > src/.env
    
  2. 运行代理:

    uv run agent
    
  3. 使用A2A示例演示 (可选):

    # Setup
    git clone https://github.com/google-a2a/a2a-samples.git
    echo "GOOGLE_API_KEY=your_api_key_here" > a2a-samples/demo/ui/.env
    
    # Run
    cd a2a-samples/demo/ui
    uv run main.py
    

    然后导航到 http://localhost:12000,转到“代理”并将您的布雷斯特专家代理连接到 localhost:10030。如果需要,您可以添加其他代理,然后转到主页并创建新的对话,与您的代理进行讨论。

发展

对于希望贡献或开发高级功能的开发人员,请执行以下附加步骤:

  1. 确保已设置虚拟环境并安装了依赖项:

    uv venv
    uv sync
    
  2. 使用MCP检查器调试和监视服务器:

    npx @modelcontextprotocol/inspector uv run brest-mcp
    
  3. 请参阅 pyproject.toml 文件 有关依赖关系和配置的详细信息。

故障排除

常见问题

虚拟环境激活失败

  • 确保 uv 已正确安装并位于您的PATH中
  • 尝试重新创建虚拟环境: uv venv --force

MCP检查器未启动

  • 确保已安装Node.js: node --version
  • 清除npm缓存: npm cache clean --force
  • 尝试全局安装检查器: npm install -g @modelcontextprotocol/inspector

A2A样本连接错误

  • 验证您的Google API密钥在 .env 文件
  • 检查布雷斯特专家代理是否正在运行 localhost:10030
  • 确保所有必需的端口都可用,并且没有被防火墙阻止

依赖项安装失败

  • 更新 uv 到最新版本: uv self update
  • 清除缓存: uv cache clean
  • 尝试使用详细输出进行安装: uv sync -v

获取帮助

如果您遇到此处未涵盖的问题:

  1. 检查 问题 GitHub上的部分
  2. 查阅MCP协议文档
  3. 创建一个包含详细错误消息和环境详细信息的新问题

贡献

欢迎投稿!要提出更改:

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/your-feature-name
  3. 进行更改 并确保测试通过
  4. 遵循编码标准 在项目中定义
  5. 提交拉取请求 清楚地描述您的更改

请参阅 贡献.md 文件以获取详细指南。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。