首页/代码执行/isolated-pymcp

isolated-pymcp

查看源码
2025-5-12
Words 1919Read Time 5 min
Score:85

提供一个安全的隔离环境,结合MCP和LSP协议,用于Python开发和大语言模型集成。

isolated-pymcp

作者: Aidan Pace邮箱: apace@defrecord.com日期: 2025-04-22
一个安全的隔离环境,用于结合模型上下文协议(MCP)和语言服务器协议(LSP)探索 Python 开发。

概述

本项目创建了一个隔离的容器环境,结合了 MCP 和 LSP 的能力,用于 Python 开发。通过利用这两种协议的互补优势,我们使 LLM(大语言模型)能够访问强大的代码智能功能,同时保持严格的安全边界。
项目包括全面的算法分析能力、Claude Code 集成以及 Python 环境中使用 MCP 和 LSP 的教育材料。主要功能包括:
  • 带复杂度分析的高级算法实现
  • 用于 GitHub 问题解决的自定义 Claude 命令
  • 结构化的项目开发里程碑
  • Claude Code 培训的教育课程材料
  • 标准化的分支命名和编码规范

架构

安全模型

项目实现了最小权限架构原则:
  • 容器与主机系统隔离
  • 容器内以非 root 用户执行
  • 限制端口暴露(仅绑定到本地主机)
  • 通过 GitHub Secrets 管理密钥
  • 对容器的资源限制(内存、CPU)
  • 输入验证和清理
  • 组件之间的明确安全域边界
详见 SECURITY.md 以获取全面的安全指南和最佳实践。

核心组件

  • Pydantic Run-Python:通过 MCP 执行 Python 代码
  • MultilspyLSP:将 LSP 能力桥接到 MCP
  • Python LSP Server:提供代码智能(补全、分析、诊断)
  • Client Interfaces:多种访问方法,使用相同的安全模型

集成点

组件
协议
功能
Run-Python
MCP
代码执行和输出捕获
MultilspyLSP
MCP+LSP
代码智能桥接
Python LSP
LSP
静态分析和补全
Claude Code
-
AI 辅助分析和探索

快速开始

  1. 初始设置:
  1. 设置密钥管理:
  1. 构建并运行容器:
  1. 测试环境:

命令参考

运行 makegmake help 以获取完整命令列表。
主要命令:
  • make build - 构建 Docker/Podman 镜像
  • make run - 启动容器并挂载卷
  • make test - 验证 MCP 服务器连接性
  • make analyze ALGO=fibonacci - 通过 MCP 分析算法
  • make claude-analyze ALGO=fibonacci - 使用 Claude 分析代码
  • make tangle - 从 org 源生成配置文件
  • make detangle - 将修改后的配置文件更新回 org 源
  • make install-mcp - 使用 UV 安装 MCP CLI
  • make pytest - 运行所有 Python 测试
  • make lint - 运行所有 linter(isort、black、mypy、flake8)

自定义 Claude 命令

项目包含以下自定义 Claude 命令:
  • /fix-github-issue - 分析和修复 GitHub 仓库中的问题
  • /create-pr - 创建标准化格式的拉取请求
  • /analyze-algorithm - 对算法实现进行详细分析

直接使用 MCP Run Python

您可以使用 Deno 直接与 MCP Run Python 服务器交互。调用 Python 代码的正确 JSON-RPC 格式如下:
示例用法:
访问本仓库中的算法:
提交更改前,请始终运行:
  1. gmake help - 验证所有目标均已记录
  1. gmake lint - 确保代码通过风格检查
  1. gmake test - 验证功能正常
项目使用 org-mode 进行文学编程。配置文件通过 env-setup.org 的 tangle 过程生成。如果直接修改生成的文件,请使用 detangle 将更改传播回 org 源。

脚本

scripts/ 目录中包含实用脚本,包括设置工具、MCP 管理和分析工具。使用 ls -la scripts/ 查看所有可用脚本。

开发流程

项目采用 org-mode 的文学编程方法。关键开发文件:
  • env-setup.org - 包含 Emacs、VSCode 和 Claude Code 的配置
  • SETUP.org - 包含一般设置说明和文档
  • Makefile - 提供常见开发任务的自动化
  • CLAUDE.md - 包含 Claude Code 在本仓库中工作的指南
修改时:
  1. 对于配置:编辑 org 文件并运行 make tangle
  1. 对于实现:遵循标准 Git 工作流程和常规提交
  1. 对于测试:将算法添加到 algorithms/ 目录并使用 make analyze

分支和问题管理

项目维护标准化的分支命名规范:
  • 始终从 GitHub 问题创建分支
  • 遵循格式:<type>/<issue-number>-<short-description>
  • 类型应匹配常规提交(feat、fix、docs 等)

项目里程碑

项目围绕以下关键里程碑组织:
  1. 安全增强 - 加强容器隔离和访问控制
  1. 性能优化 - 提高算法分析速度和资源效率
  1. 可用性和开发者体验 - 增强工具和文档
  1. 集成和扩展性 - 添加对更多协议和平台的支持
  1. 文档和社区 - 创建教育材料和指南

项目目标

  1. 展示 MCP 和 LSP 的安全集成
  1. 提供隔离 AI 代码分析的参考架构
  1. 支持 Python 算法实现的探索
  1. 在维护安全的同时支持多种客户端接口
  1. 创建 Claude Code 和 MCP 使用的教育资源
  1. 构建一个友好的算法分析平台

教育资源

项目包含学习 Claude Code 和 MCP 的教育材料:
  • docs/courses/claude-code-course.org - 为期两天的 Claude Code 综合课程
  • docs/courses/examples/ - Claude Code 和 MCP 集成的示例代码
  • docs/courses/exercises/ - 学习 Claude Code 的实践练习
课程涵盖:
  • API 设置和配置
  • AWS Bedrock 集成
  • 自定义 Claude 命令
  • 使用 Claude 进行代码审查
  • 多语言支持
  • MCP 服务器开发和集成

参考资料

  • Microsoft MultilspyLSP - 用于创建语言服务器客户端的 Python 库,支持本项目的 LSP 集成。

许可证

MIT 许可证
上一篇
go-mcp-postgres
下一篇
mysql-mcp-server