项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 AWS Bedrock 上的 DeepSeek 模型,为 LLM 客户端提供项目规划、代码生成和代码审查等功能。作为一个 MCP 服务器,它旨在以标准化的方式向 LLM 应用提供上下文服务,支持工具的注册和执行,以及 Prompt 模板的渲染。

主要功能点

  • 项目规划 (generate_plan): 根据用户提供的项目需求,生成详细的项目计划,支持多种输出格式(如 markdown, json, text)。
  • 代码生成 (generate_code): 根据用户指定的编程语言和任务描述,生成高质量的代码,并可选择添加注释。
  • 代码审查 (review_code): 对用户提供的代码进行审查,并根据关注点(如 bugs, 性能, 安全, 风格, 架构)提供反馈。
  • 代码解释 (explain_code): 详细解释给定代码的功能和实现逻辑,支持不同的详细程度(basic, intermediate, advanced)。
  • 代码重构 (refactor_code): 根据用户指定的目标(如 可读性, 性能, 模块化, 安全性, 可维护性)重构代码,并提供重构后的代码和修改说明。

安装步骤

  1. 环境准备: 确保已安装 Python 3.6 或更高版本。建议使用虚拟环境 (venv) 管理项目依赖。
  2. 安装依赖: 在 'deepseek-planner' 目录下,虽然仓库没有提供 'requirements.txt' 文件,但根据代码内容,你需要安装以下 Python 包:
    pip install mcp boto3 botocore python-dotenv
  3. 配置 AWS 凭证: 本服务器需要访问 AWS Bedrock 服务,因此需要配置 AWS 访问密钥和密钥。你可以通过以下几种方式配置 AWS 凭证:
    • 环境变量: 设置 'AWS_ACCESS_KEY_ID' 和 'AWS_SECRET_ACCESS_KEY' 环境变量。
    • AWS 配置文件: 如果你的 AWS CLI 已配置,服务器会自动读取默认配置文件中的凭证。
    • IAM 角色: 如果服务器运行在 EC2 或其他 AWS 服务上,可以配置 IAM 角色授予访问 Bedrock 的权限。 注意: 请务必妥善保管你的 AWS 凭证,避免泄露。

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能连接到本服务器。以下是一个 JSON 格式的配置示例,你可以将其添加到你的 MCP 客户端配置中:

{
  "serverName": "deepseek-planner",  // 服务器名称,与 FastMCP 实例化的名称一致
  "command": "python",           // 启动服务器的命令,这里使用 python 解释器
  "args": [                       // 命令参数
    "deepseek-planner/src/server.py" // 服务器脚本的路径
  ],
  "transport": "stdio"           // 使用 stdio 作为传输协议,与 server.py 中的 mcp.run(transport='stdio') 对应
}

参数注释:

  • 'serverName': 服务器的名称,必须与 'deepseek-planner/src/server.py' 中 'FastMCP("deepseek-planner")' 实例化的名称一致。客户端通过此名称识别服务器。
  • 'command': 启动服务器的可执行命令。这里假设你使用 'python' 解释器运行服务器脚本。请确保 'python' 命令在 MCP 客户端的运行环境中可访问。
  • 'args': 传递给启动命令的参数列表。这里指定了服务器脚本 'deepseek-planner/src/server.py' 的路径。请根据你的实际文件路径进行调整。
  • 'transport': 指定 MCP 服务器使用的传输协议。这里设置为 'stdio',表示使用标准输入输出流进行通信。这需要与 'deepseek-planner/src/server.py' 中 'mcp.run(transport='stdio')' 的配置保持一致。

基本使用方法

  1. 启动 MCP 服务器: 在配置好 AWS 凭证和安装依赖后,可以通过 MCP 客户端配置中指定的命令和参数启动 'deepseek-planner/src/server.py' 脚本。
  2. 配置 MCP 客户端: 在你的 MCP 客户端中,配置上述 JSON 格式的服务器配置信息。确保客户端能够正确连接到启动的 MCP 服务器。
  3. 调用工具: 客户端连接成功后,你可以通过 MCP 协议调用服务器提供的工具,例如 'generate_plan', 'generate_code', 'review_code' 等。具体的工具调用方法请参考 MCP 客户端的文档。
  4. 查看结果: 工具执行后,服务器会将结果通过 JSON-RPC 响应返回给 MCP 客户端。你可以在客户端界面或日志中查看工具的执行结果。

注意:

  • 本服务器依赖于 AWS Bedrock 服务和 DeepSeek 模型,请确保你的 AWS 账户已开通 Bedrock 服务,并且有 DeepSeek 模型的访问权限。
  • 首次运行可能需要一些时间加载模型和建立连接,请耐心等待。
  • 环境变量 'MAX_TOKENS' 可以用来控制 DeepSeek 模型生成内容的最大 tokens 数量。

信息

分类

AI与计算