多功能工具服务器

一个符合MCP协议的多功能服务器,提供图像处理、数据编码、AI推理和内容自动化等五种实用工具,适用于计算机科学竞赛提交。

  • by kedar2812
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kedar2812/mcp-server-project

使用说明

MCP实用工具服务器

A. 模型上下文协议(MCP) 兼容服务器,为图像处理、数据编码、人工智能推理和内容自动化提供5种高效工具。专为竞争性计算机科学提交而设计。

项目概述

该项目实现了一个生产就绪的MCP服务器,该服务器通过标准化的协议接口公开了强大的工具。每种工具都使用尖端技术解决了现实世界的问题,同时保持了免费层兼容和安全发布。

此服务器的功能

  • 数字隐写术:隐藏和提取图像中的秘密消息,而不进行可见更改
  • ASCII艺术生成:将图像转换为美丽的ASCII艺术表现形式
  • 二维码创建:生成可扫描的二维码,颜色可定制
  • AI驱动的批评:分析想法以识别缺陷、风险和更好的替代方案
  • 内容归档:下载YouTube视频/音频用于教育目的

技术栈

组件 技术 目的
协议 MCP(模型上下文协议) 标准化工具接口
语言 Python 3.10+ 核心实现
图像处理 枕头 图像处理和转换
隐写术 隐写 基于LSB的消息隐藏
QR码 qrcode[pil] QR码生成
AI/LLM OpenAI API(GPT-3.5/GT-4) 智能评论生成
视频下载 yt-dlp YouTube内容提取
配置 python dotenv 安全的环境管理

工具文档

重要: 这些工具可通过以下方式访问 MCP协议,而不是直接导入Python。
AI代理提供文本和文件路径;服务器处理所有执行。

1.数字隐写器(编码)

MCP工具名称: steganography_encode

目的:使用LSB隐写术将秘密文本消息隐藏在图像中。

输入:仅文本和文件路径

  • image_path (string):源图像的路径
  • secret_text (string):要隐藏的消息

输出:编码图像保存到 media/encoded_images/

MCP工具调用:

{"tool": "steganography_encode", "arguments": {"image_path": "photo.png", "secret_text": "Secret message"}}

用例:安全消息传递、水印、数据隐藏


2.数字隐写器(解码)

MCP工具名称: steganography_decode

目的:从隐写编码图像中提取隐藏消息。

输入:仅文件路径

  • image_path (string):编码图像的路径

输出:原始隐藏短信

MCP工具调用:

{"tool": "steganography_decode", "arguments": {"image_path": "media/encoded_images/encoded_photo.png"}}

3.ASCII艺术家

MCP工具名称: ascii_art

目的:使用像素亮度映射将图像转换为ASCII艺术。

输入:文件路径和可选宽度

  • image_path (string):图像文件的路径
  • width (整数,可选):字符宽度(1-300,默认值:100)

输出:ASCII文本保存到 media/ascii_outputs/

MCP工具调用:

{"tool": "ascii_art", "arguments": {"image_path": "portrait.jpg", "width": 120}}

字符映射表: .:-=+*#%@ (从最暗到最亮)


4.二维码伪造者

MCP工具名称: qr_generator

目的:从文本或URL生成可扫描的二维码。

输入:文本/URL和可选颜色

  • data (string):要编码的文本或URL
  • fill_color (字符串,可选):前景颜色(默认:“黑色”)
  • back_color (字符串,可选):背景颜色(默认:“白色”)

输出:二维码图像保存到 media/qr_codes/

MCP工具调用:

{"tool": "qr_generator", "arguments": {"data": "https://github.com", "fill_color": "blue"}}

容量:最多2953个字符


5.AI魔鬼代言人

MCP工具名称: devils_advocate

目的:使用人工智能批判性地分析想法,揭示缺陷并提出改进建议。

输入:仅文本描述

  • idea (string):批评的概念或建议

输出:结构化分析包括:

  1. 逻辑缺陷:推理错误、无效假设
  2. 伦理风险:道德问题、公平问题
  3. 法律问题:合规、责任、知识产权问题
  4. 可扩展性问题:技术/操作限制
  5. 更安全的替代品:更好的方法

MCP工具调用:

{"tool": "devils_advocate", "arguments": {"idea": "Social network with one post per day"}}

需求:OpenAI API密钥(在中配置 .env)


安装说明

先决条件

  • Python 3.10或更高版本
  • pip(Python包管理器)
  • OpenAI API密钥(用于Devil‘s Advocate工具)

安装

  1. 克隆仓库:
git clone https://github.com/yourusername/mcp-server-project.git
cd mcp-server-project
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
# Copy the example file
cp .env.example .env

# Edit .env and add your OpenAI API key
# OPENAI_API_KEY=sk-proj-...
  1. 运行演示:
python client.py

环境变量设置

获取OpenAI API密钥

  1. 首选 OpenAI平台
  2. 注册或登录
  3. 引导到 API密钥
  4. 点击 创建新密钥
  5. 复制密钥(以开头 sk-proj-...)

添加 .env

创建 .env 项目根目录中的文件:

# OpenAI API Key for Devil's Advocate tool
OPENAI_API_KEY=sk-proj-your_actual_key_here

安全说明:

  • 永远不要承诺 .env Git(已在 .gitignore)
  • 请勿公开共享您的API密钥
  • 如果意外暴露,请旋转按键

故障弱化

如果API密钥丢失或无效,Devil’s Advocate工具将:

  • 返回用户友好的错误消息
  • 不会使服务器崩溃
  • 不在日志中公开API密钥

所有其他工具独立工作,不需要API密钥。


演示与测试

运行客户端

这 client.py 脚本按顺序演示了所有5个工具:

python client.py

预期产量:

╔═══════════════════════════════════════════════════════════════╗
║         MCP UTILITY SERVER - COMPREHENSIVE DEMO               ║
╚═══════════════════════════════════════════════════════════════╝

TOOL 1 & 2: DIGITAL STEGANOGRAPHER
✓ Test image created
✓ Message successfully encoded
✓ Message successfully decoded
✓ Verification: Message matches original!

TOOL 3: ASCII ARTIST
✓ ASCII art saved to media/ascii_outputs/ascii_test_image.txt

TOOL 4: QR CODE FORGER
✓ QR Code saved: media/qr_codes/qr_https___github_com_mcp_utilit.png
ℹ Scan this QR code with your phone camera to test!

TOOL 5: AI DEVIL'S ADVOCATE
✓ Critique generated successfully!
[Detailed AI analysis appears here]

DEMO COMPLETE
✓ All tools executed successfully!
Ready for competition submission!

运行MCP服务器

要作为实际的MCP服务器运行:

python server.py

服务器将监听stdio并响应MCP协议请求。


项目结构

mcp-server-project/
│
├── server.py                  # Main MCP server entry point
├── client.py                  # Demo/testing client
├── Pictures/                  # Demo screenshots
└── README.md                  # This file

团队成员

姓名 电子邮件
凯达尔·古拉夫 kgurav678@gmail.com
苏穆特和瓦尔 sumitaswar23@gmail.com

法律和道德说明

内容存档器(YouTube下载器)

此工具用于 仅供教育和个人使用用户必须:

  • 遵守 YouTube的服务条款
  • 尊重版权法和知识产权
  • 获得商业使用的必要许可
  • 在合理使用准则范围内使用下载的内容

开发人员不对误用此工具负责。

隐写术

隐写术可用于:

  • 为自己的图像添加水印
  • 教育示范
  • 安全的个人通信

请勿用于:

  • 隐藏非法内容
  • 绕过安全系统
  • 未经授权的数据泄露

负责任和合乎道德地使用。


竞赛须知

该项目旨在进行竞争性评估,重点如下:

  • 5种独特的高实用工具 -每个都解决了现实世界的问题
  • 免费版兼容 -无需付费服务(可选OpenAI除外)
  • 生产就绪代码 -清理、注释、错误处理
  • 符合MCP标准 -遵循协议规范
  • 演示友好 -步行5分钟 client.py
  • GitHub就绪 -没有秘密,正当 .gitignore
  • 全面文档 -此README+内联评论

致谢

  • 隐写术 -LSB隐写术实现
  • 枕头 -Python图像库
  • 二维码 -二维码生成
  • 开放人工智能 -基于GPT的评论生成
  • yt-dlp -YouTube下载功能
  • MCP团队 -模型上下文协议规范