模型上下文协议服务器

MCP服务器是一个生产就绪的模型上下文协议服务器,用于VSCode和Claude的集成,提供全面的工具支持、性能监控和诊断功能。

  • by alpermdr
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 alpermdr/vscode_mcp_python

使用说明

MCP服务器-模型上下文协议服务器

用于VSCode和Claude集成的生产就绪MCP(模型上下文协议)服务器,具有全面的工具支持、性能监控和诊断功能。

版本

当前版本: 1.0.0
发布日期: 2026年1月13日
状态: 发展

特性

⚡ 技术优化

  • 减少代币开销: MCP服务器允许Claude只查询它需要的特定数据,而不是将大型数据集粘贴到聊天中。这导致 更快的响应 和 降低成本/代币使用.
  • 异步执行: 通过利用Python的异步功能,服务器可以同时处理多个数据请求,而不会冻结交互。
  • 自定义工具映射: 你可以封装复杂的Python库(如 pandas, beautifulsoup,或 os)克劳德可以立即调用的简单工具。

🌟 项目附加值

  • 弥合差距: 它将Claude从“聊天机器人”转变为“开发人员代理”,可以实际查看和修改您的本地代码或数据库。
  • 工作流自动化: 只需与Claude交谈,您就可以自动化重复性任务,如日志分析、本地文件重组或数据库查询。
  • 私有数据上下文: 由于服务器在本地运行,您可以向Claude提供私人文档或内部公司数据的上下文,而无需将这些文件上传到云端。

核心能力

  • 10专业流程 -完成文件操作、代码分析和VSCode集成
  • LRU缓存 -智能请求缓存,性能提高2-3倍
  • 类型安全 -100%类型提示(符合PEP 484)
  • 企业架构 -SOLID原则、设计模式、专业结构
  • 综合录井 -将结构化日志记录到stderr进行调试
  • 错误处理 -生产级错误处理,特殊例外情况除外

安装

先决条件

  • Python 3.8或更高版本
  • VSCode(可选,用于VSCode集成功能)
  • Windows、Linux或macOS

设置

  1. 克隆或下载此存储库

  2. 确保所有文件都在同一目录中:

    • mcp_server.py -主服务器
    • tools.py -工具实施
    • vscode_detector.py -VSCode集成
    • diagnostics.py -健康检查
    • performance_monitor.py -绩效跟踪
    • languages.json -语言配置
  3. 配置您的人工智能桌面(用于claude)以使用此服务器(请参阅配置部分)

快速开始

# Test server compilation
python -m py_compile mcp_server.py

# Run diagnostics
python diagnostics.py

# Start server (usually called by Claude)
python mcp_server.py

配置

添加到您的Claude Desktop配置文件中:

视窗

%APPDATA%\Claude\claude_desktop_config.json

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

配置示例

{
  "mcpServers": {
    "vscode-mcp": {
      "command": "python",
      "args": ["C:\\path\\to\\mcp_server.py"]
    }
  }
}

使用示例

读取文件

User: "Read the contents of mcp_server.py"
Claude: Uses read_file tool
Result: File contents displayed

代码分析

User: "Analyze the code in tools.py"
Claude: Uses analyze_code tool
Result: Functions, classes, and imports listed with line numbers

编写代码

User: "Write a Python calculator"
Claude: Uses write_code_to_project tool
System: Permission prompt appears
User: Approves
Result: calculator.py created with detailed feedback

修改代码

User: "In calculator.py, add error handling to the divide function"
Claude: Uses change_code tool
System: Permission prompt appears
User: Approves
Result: Function updated with before/after preview

项目概述

User: "Show me the project structure"
Claude: Uses get_project_structure tool
Result: Files organized by programming language

建筑

主要组成部分

MCP服务器类

  • 实现MCP 2024-11-05的协议处理程序
  • JSON-RPC 2.0通信
  • 异步/等待模式
  • 请求/响应管理

工具注册表类

  • 工具登记和管理
  • 输入模式验证
  • 工具调用

RequestCache类

  • LRU缓存机制
  • 可配置缓存大小
  • 自动驱逐

LanguageConfig类

  • 语言配置管理
  • 代码分析的模式匹配
  • 文件扩展名处理

设计模式

  • 注册模式 -工具管理
  • 缓存模式 -请求缓存
  • 数据类模式 -类型安全元数据
  • 依赖注入 -配置管理
  • 策略模式 -工具执行

演出

优化功能

  • LRU缓存用于安全工具请求
  • 异步/等待非阻塞操作
  • 高效的文件系统扫描
  • 智能VSCode进程检测
  • 最小内存占用

性能指标

度量 值
启动时间 <1秒
工具执行 10-100ms(缓存:<1ms)
内存使用量 ~50MB
缓存命中率 70-90%

诊断

健康检查

运行全面诊断:

# Full diagnostic suite
python diagnostics.py

# Quick check
python diagnostics.py --mode quick

# Health status (JSON)
python diagnostics.py --mode health

诊断测试

  • Python版本兼容性
  • 所需文件存在
  • 文件权限
  • 配置有效性
  • 模块导入
  • 语法检查
  • 磁盘空间
  • 内存使用
  • VSCode状态
  • 网络连接

发展

代码质量标准

  • PEP 8 -风格指南合规性
  • PEP 257 -Docstring约定
  • PEP 484 -类型注释
  • 谷歌风格 -文档字符串格式

测试

# Syntax check all files
python -m py_compile *.py

# Run diagnostics
python diagnostics.py

# Test tool imports
python -c "import tools; import mcp_server"

故障排除

常见问题

服务器无法启动

  • 检查Python版本: python --version (必须为3.8+)
  • 运行诊断程序: python diagnostics.py
  • 检查语法: python -m py_compile mcp_server.py

工具不工作

  • 验证文件权限
  • 检查languages.json是否为有效的json
  • 运行导入测试: python -c "import tools"

VSCode检测失败

  • 确保VSCode正在运行
  • 检查进程权限(Windows)
  • 验证工作区目录是否可访问

权限错误

  • 以管理员身份运行(如果需要)
  • 检查文件/目录权限
  • 验证配置中的路径

代码贡献指南

  1. 遵循PEP 8风格指南
  2. 为所有函数添加类型提示
  3. 编写全面的文档字符串
  4. 包括错误处理
  5. 为新功能添加测试
  6. 更新README以获取新工具

添加新工具

  1. 在中执行工具功能 tools.py
  2. 在中添加工具定义 mcp_server.py 工具定义
  3. 在中注册工具 main() 函数
  4. 更新README文档
  5. 必要时添加诊断检查

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

文档

  • 代码文档字符串中的完整API引用
  • 本README中的使用示例
  • 故障诊断工具

获取帮助

  1. 运行诊断程序: python diagnostics.py
  2. 检查stderr输出中的日志
  3. 仔细查看错误消息
  4. 验证配置文件

学分

作者 指挥官 版本: 1.0.0
许可证: 麻省理工学院
状态: 发展