AI课程MCP服务器

一个用于Python AI课程的MCP服务器演示,提供多种工具供MCP客户端如Claude Desktop和VSCode使用。

  • by arkajzerek-avanade
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 arkajzerek-avanade/python-ai-course-mcp-server

使用说明

Python人工智能课程MCP服务器

Python AI课程的MCP(模型上下文协议)服务器演示。此服务器演示了如何使用Claude Desktop和VSCode等MCP客户端可以使用的工具创建简单的MCP服务器。

需求

  • Python 3.13或更高版本

安装

此项目使用 紫外线的 用于包管理。UV是一个快速、可靠的Python包安装程序和解析器。

安装UV

如果您没有安装UV,可以按照 官方紫外线文件.

设置项目

# Clone the repository
git clone [repository-url]
cd python-ai-course-mcp-server

# Create a virtual environment and install dependencies using UV
uv venv
uv pip install -e .

用法

# Activate the virtual environment (if not already activated)
# On Windows:
.venv\Scripts\activate
# On Unix or MacOS:
source .venv/bin/activate

# Run the application
# Option 1: Using Python directly
python main.py

# Option 2: Using UV run (recommended)
uv run main.py

使用 uv run 建议使用,因为它在处理UV管理项目时提供了更精简的体验。

发展

要安装开发依赖项,请执行以下操作:

uv pip install -e ".[dev]"

MCP服务器实现

该项目使用以下工具实现了一个简单的MCP(模型上下文协议)服务器:

  1. 获取信息:返回有关MCP服务器的信息

    • 无需参数
    • 返回服务器的文本描述
  2. 获取问候:返回个性化问候语

    • 参数: name (字符串,必填)
    • 返回包含所提供姓名的问候消息
  3. get_workspace_info:返回有关工作区文件夹的信息

    • 参数: workspace_folder (字符串,必填)-工作区文件夹的路径
    • 返回工作区中文件的统计信息,包括:
      • 文件和目录总数
      • 所有文件的总大小
      • 文件类型的分布
      • 最大的文件
      • 最新文件
    • 在VS Code中,您可以使用 ${workspaceFolder} 作为参数值
  4. get_repo_info:返回Git存储库的基本信息

    • 参数: repo_path (string,必填)-Git存储库的路径
    • 返回有关存储库状态的信息,包括分支、已修改的文件和远程信息
    • 在VS Code中,您可以使用 ${workspaceFolder} 作为参数值
  5. get_diff:返回当前分支和目标分支之间的差异

    • 参数:
      • repo_path (string,必填)-Git存储库的路径
      • target_branch (字符串,可选,默认值:“main”)-要比较的目标分支
    • 返回已更改文件的列表和分支之间更改的摘要
    • 在VS Code中,您可以使用 ${workspaceFolder} 作为参数值

运作原理

服务器使用MCP SDK构建,并遵循标准MCP协议:

  1. 服务器使用输入模式定义可用工具
  2. 当客户端调用工具时,服务器处理请求并返回结果
  3. 服务器在stdio上运行,使其与Claude Desktop和VSCode等MCP客户端兼容

使用Claude Desktop进行测试

要使用Claude Desktop测试此MCP服务器,请执行以下操作:

  1. 从以下位置安装Claude Desktop claude.ai/下载
  2. 配置Claude Desktop以使用此服务器:
    • 在以下位置找到您的Claude Desktop配置文件 %AppData%\Claude\claude_desktop_config.json (在Windows上)
    • 如果文件不存在,请创建它
    • 使用中提供的示例配置 claude_desktop_config_sample.json (根据需要调整路径)
    • 保存文件并重新启动Claude Desktop
  3. Claude将在需要时自动启动服务器
  4. 请克劳德使用 get_info 或 get_greetings 工具

请Claude使用这些工具的示例:

  • “你能用get_info工具告诉我这个MCP服务器的情况吗?”
  • “请使用带有我名字‘John’的get_greetings工具。”

此存储库中提供了一个示例配置文件,如下所示 claude_desktop_config_sample.json。您可能需要调整路径以匹配您的系统。

使用VS代码进行测试

要将此MCP服务器与VS代码一起使用:

  1. 安装VS Code和VS Code的MCP扩展
  2. 通过将服务器配置添加到VS代码设置中来配置MCP扩展:
    • 打开VS代码设置(文件>首选项>设置或Ctrl+,)
    • 点击右上角的“打开设置(JSON)”图标
    • 从添加配置 vscode_settings_example.json 到您的设置文件
    • 保存设置文件并重新启动VS Code
  3. 在VS Code中打开工作区
  4. 使用MCP扩展来调用工具,特别是 get_workspace_info 可以使用的工具 ${workspaceFolder} 变量

使用示例 get_workspace_info VS代码中的工具:

  • 当您使用时,该工具将自动接收当前工作空间路径 ${workspaceFolder} 作为参数
  • 这允许您分析在VS Code中打开的任何工作区

此存储库中提供了两个示例VS Code配置文件:

  • vscode_config_sample.json:仅包含MCP服务器配置
  • vscode_settings_example.json:一个更全面的示例,显示如何将MCP服务器配置集成到VS代码设置文件中

关键配置位于 mcp.servers 设置,告诉VS Code如何启动MCP服务器并与之通信。