Skip to main content
Glama

Call DK MCP

Call DK MCP服务器 - 为AI辅助开发提供用户call dk功能

项目概述

Call DK MCP 是一个基于 Model Context Protocol (MCP) 的服务器,专为AI辅助开发场景设计。它提供了一个图形用户界面,允许用户进行交互式call dk。

许可证: MIT License

Related MCP server: Gemini Gen MCP

核心功能

🎯 主要特性

  • 交互式call dk系统: 通过GUI界面收集用户的call dk

  • 🚀 提示词优化功能: 集成Google Gemini AI,智能优化用户输入的提示词

  • 现代化UI: 基于PySide6构建,支持暗色主题

  • 跨平台兼容: 支持Windows、macOS和Linux

  • MCP协议集成: 完全兼容Model Context Protocol标准

🛠️ 技术实现

架构设计

call-dk-mcp/
├── server.py          # MCP服务器主文件
├── calldk_ui.py       # GUI用户界面实现
├── test_server.py     # 测试文件
└── images/           # 界面资源文件

MCP配置

在Claude Desktop或其他MCP客户端中添加以下配置:

{
  "mcpServers": {
    "call-dk-mcp": {
      "command": "python",
      "args": [
        "G:\\docker\\McpApi\\call-dk-mcp\\server.py"
      ],
      "cwd": "G:\\docker\\McpApi\\call-dk-mcp"
    }
  }
}

注意: 请将路径 G:\\docker\\McpApi\\call-dk-mcp 替换为你的实际项目路径。

核心组件

  1. MCP服务器 (server.py)

    • 基于FastMCP框架构建

    • 提供call_dk工具接口

    • 无需参数,直接调用

    • 管理GUI进程的启动和结果收集

  2. GUI界面 (calldk_ui.py)

    • 使用PySide6构建现代化界面

    • 支持Windows暗色标题栏

    • 提供用户call dk输入功能

    • 支持图片上传功能

  3. 配置管理

    • 保存用户界面设置

    • 项目特定的配置存储

技术栈

依赖项

  • Python: >=3.11

  • fastmcp: >=2.0.0 (MCP协议实现)

  • pyside6: >=6.8.2.1 (GUI框架)

  • pillow: >=10.0.0 (图片处理)

  • google-genai: >=1.25.0 (Google Gemini AI API)

  • python-dotenv: >=1.1.1 (环境变量管理)

开发工具

  • pip: Python包管理器

  • pytest: 测试框架

  • Git: 版本控制

使用说明

环境要求

  • Python >= 3.11

  • 支持的操作系统:Windows、macOS、Linux

快速开始

1. 克隆项目

git clone <repository-url>
cd call-dk-mcp

2. 创建虚拟环境

python -m venv venv
venv\Scripts\activate  # Windows
# 或
source venv/bin/activate  # Linux/Mac

3. 安装依赖

pip install -r requirements.txt

4. 配置环境变量

# 复制环境变量模板
copy .env.example .env  # Windows
# 或
cp .env.example .env    # Linux/Mac

# 编辑.env文件,配置你的Google Gemini API密钥

5. 运行项目

# 作为MCP服务器运行
python server.py

# 或直接运行GUI界面测试
python calldk_ui.py

MCP工具使用

服务器提供一个主要工具:

call_dk() -> List[Union[str, Image]]

返回值:

  • 文本内容:用户call dk内容

  • 图片内容:用户上传的图片

项目结构

call-dk-mcp/
├── images/                  # 界面资源
│   ├── attribution.txt
│   └── feedback.png
├── venv/                   # 虚拟环境
├── README.md               # 项目文档
├── calldk_ui.py            # GUI界面实现
├── server.py               # MCP服务器
├── test_server.py          # 测试文件
├── prompt_optimizer.py     # 提示词优化模块
├── .env                    # 环境配置文件
└── 参考文件/               # 参考实现文件

开发特性

代码质量

  • 类型注解: 完整的Python类型提示

  • 错误处理: 健壮的异常处理机制

  • 进程管理: 安全的子进程启动和清理

  • 跨平台支持: Windows特定优化和通用兼容性

用户体验

  • 响应式界面: 流畅的用户交互体验

  • 暗色主题: 现代化的视觉设计

  • 实时反馈: 命令执行状态的实时显示

  • 配置持久化: 用户设置的自动保存

工作流程

  1. AI代理调用: AI助手通过MCP协议调用call_dk工具

  2. GUI启动: 系统启动图形界面,标题为"call dk"

  3. 用户交互: 用户输入call dk内容,可选择上传图片

  4. 结果返回: 系统收集用户call dk和图片,返回给AI代理

  5. 流程完成: AI代理基于call dk继续后续操作

贡献指南

欢迎贡献代码!请遵循以下步骤:

  1. Fork 项目

  2. 创建功能分支 (git checkout -b feature/AmazingFeature)

  3. 提交变更 (git commit -m 'Add some AmazingFeature')

  4. 推送分支 (git push origin feature/AmazingFeature)

  5. 创建Pull Request

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

联系方式

  • 项目: Call DK MCP

  • 许可证: MIT License


🚀 提示词优化功能

功能概述

集成了基于Google Gemini 2.5 Flash模型的智能提示词优化功能,能够将用户输入的简单提示词优化为更清晰、具体、有效的提示词。

配置步骤

  1. 获取Google Gemini API密钥

  2. 配置环境变量

    • 编辑项目根目录下的 .env 文件

    • GEMINI_API_KEY=your_api_key_here 中的 your_api_key_here 替换为你的实际API密钥

    # Google Gemini API配置
    GEMINI_API_KEY=AIzaSyC_your_actual_api_key_here
    GEMINI_MODEL=gemini-2.5-flash
    GEMINI_TEMPERATURE=0.2
    GEMINI_MAX_TOKENS=1000
  3. 安装依赖

    # 激活虚拟环境
    venv\Scripts\activate  # Windows
    
    # 安装提示词优化相关依赖
    pip install google-genai python-dotenv

使用方法

  1. 启动GUI界面

    python calldk_ui.py
  2. 使用提示词优化

    • 在文本输入框中输入原始提示词

    • 点击 "🚀 提示词优化 (Ctrl+Q)" 按钮或按快捷键 Ctrl+Q

    • 等待AI处理完成(按钮会显示"🧠 优化中...")

    • 优化后的提示词会自动替换输入框中的内容

    • 如需撤销优化,按 Ctrl+Z 恢复原始内容

优化示例

原始提示词:

写一个关于AI的文章

优化后的提示词:

请撰写一篇关于人工智能技术发展现状与未来趋势的深度分析文章。文章应包含:
1. AI技术的历史发展脉络
2. 当前主流AI技术及其应用领域
3. AI对社会经济的影响分析
4. 未来AI发展的机遇与挑战
5. 对AI伦理和监管的思考
文章字数控制在2000-3000字,语言专业但易懂,适合技术爱好者阅读。

功能特点

  • 智能优化: 基于Google Gemini 2.5 Flash模型的AI思考能力

  • 保持原意: 优化过程中保持用户原始意图不变

  • 增强细节: 自动添加必要的细节和具体要求

  • 多领域适用: 适用于各种领域和场景的提示词优化

  • 快捷键支持: Ctrl+Q 快速优化,Ctrl+Z 撤销操作

  • 无干扰体验: 优化完成后无弹窗提示,保持流畅操作

  • 撤销功能: 支持一键撤销优化,恢复原始输入内容

故障排除

问题:提示词优化按钮显示为灰色不可用

  • 检查 .env 文件中的API密钥是否正确配置

  • 确认已安装 google-genai 依赖包

  • 验证网络连接是否正常

问题:优化失败提示API错误

  • 检查API密钥是否有效且有足够的配额

  • 确认API密钥有访问Gemini模型的权限

  • 检查网络连接和防火墙设置


功能特性

图片上传功能

功能概述

为call dk系统增加图片上传功能,允许用户在call dk中包含图像内容,提升AI助手对用户需求的理解能力。

实现思路

1. 用户界面增强

  • 在call dk文本框旁边添加"添加图片"按钮

  • 支持点击按钮选择本地图片文件(支持常见格式:PNG、JPG、JPEG、GIF等)

  • 添加"清除所有图片"按钮,允许用户移除已选择的图片

  • 在界面中显示已选择图片的缩略图预览

  • 支持单个图片删除功能

2. 图片处理流程

  • 用户选择图片后,在本地进行预处理(压缩、格式转换等)

  • 图片临时存储在内存中,不写入磁盘

  • 支持多张图片上传(可设置数量限制,如最多5张)

2.1 截图功能实现

  • 集成屏幕截图工具,支持区域截图

  • 自定义截图快捷键设置(默认可设为Ctrl+Shift+S)

  • 截图后自动添加到反馈框的图片预览区域

  • 支持截图编辑功能(如标注、裁剪等基础操作)

3. 数据传输机制

  • 用户点击"发送call dk"时,将图片转换为Base64编码

  • 通过MCP协议将图片数据与文字call dk一同传输给AI客户端

  • 返回数据结构:

    {
        "interactive_calldk": str,
        "images": [
            {
                "filename": str,
                "data": str,  # Base64编码的图片数据
                "mime_type": str  # 图片MIME类型
            }
        ]
    }

4. AI处理能力

  • AI助手接收到图片数据后,利用内置的图像识别功能分析图片内容

  • 结合文字call dk和图像内容,提供更准确的响应

  • 支持图片中的文字识别(OCR)、对象检测、场景理解等

技术实现要点

前端界面(PySide6)

  • 使用QFileDialog实现文件选择

  • 使用QLabel显示图片缩略图

  • 使用QScrollArea支持多图片展示

  • 图片压缩使用PIL/Pillow库

数据处理

  • 图片大小限制(如单张不超过5MB)

  • 自动压缩大尺寸图片以优化传输

  • 支持的图片格式验证

安全考虑

  • 内存使用优化,防止大图片导致内存溢出

用户体验优化

  • 图片预览:显示已选择图片的缩略图

  • 单个删除:支持删除单个图片

  • 错误处理:友好的错误提示信息

  • 格式支持:支持常见图片格式


工作进度记录

2025-01-27 Call DK功能实现与优化

实现内容:

  1. 项目重构 - 将所有"feedback"相关字眼替换为"call dk"

  2. 文件重命名 - feedback_ui.py重命名为calldk_ui.py

  3. 界面优化 - 简化GUI界面,去掉不必要的描述区域

  4. 图片功能 - 支持图片上传和预览功能

  5. 测试完善 - 添加pytest测试确保功能正常

技术优化:

  1. 代码清理 - 移除不必要的依赖导入

  2. 函数重命名 - 所有函数名从feedback改为calldk

  3. 配置更新 - 更新MCP配置为标准Python环境

  4. 文档完善 - 更新README.md文档

当前状态: 功能实现完成,所有测试通过,GUI界面简洁易用

2025-01-27 提示词优化功能集成

实现内容:

  1. 提示词优化模块 - 基于Google Gemini 2.5 Flash模型的智能优化功能

  2. 环境配置管理 - 使用.env文件管理API密钥和模型参数

  3. GUI界面集成 - 在calldk_ui.py中添加"提示词优化"按钮

  4. 异步处理 - 使用QThread避免UI阻塞,提供流畅的用户体验

  5. 错误处理 - 完善的错误提示和状态反馈机制

技术实现:

  1. 依赖管理 - 新增google-genai和python-dotenv依赖

  2. 模块封装 - 创建独立的prompt_optimizer.py模块

  3. 线程处理 - 实现OptimizeThread类处理API调用

  4. 配置系统 - 支持多种模型参数和优化选项配置

  5. 用户体验 - 一键优化,自动替换输入内容

功能特点:

  • 🧠 AI思考模式:利用Gemini 2.5的内置思考能力

  • 🎯 智能优化:保持原意的同时增强提示词的具体性和有效性

  • ⚡ 快速响应:异步处理确保界面流畅不卡顿

  • 🔧 灵活配置:支持温度、Token数等参数调整

  • 🛡️ 错误处理:友好的错误提示和状态反馈

当前状态: 提示词优化功能集成完成,支持一键智能优化用户输入

本项目旨在改善AI辅助开发的用户体验,通过call dk机制让开发者更好地与AI协作。

Related MCP Connectors

Related MCP Servers