AI支持票务系统开发工具

基于Model Context Protocol (MCP)和osTicket的AI支持票务系统开发学习环境,提供从基础到高级的实践实验室。

  • by AkashAi7
  • PHP
  • 本地部署
  • 更新于
在 GitHub 查看 AkashAi7/MCP-OS-Ticket-Lab

使用说明

MCP osTicket实验室

通过构建人工智能支持票系统学习模型上下文协议(MCP)

此存储库为以下对象提供了一个完整的实践学习环境 模型上下文协议(MCP) 开发使用 奥斯蒂奇 作为现实世界的应用程序。您将学习从头开始构建MCP服务器,将其与AI助手集成,并创建生产就绪的工具。



🚀 一键快速启动

只需两个简单步骤,即可通过MCP集成在本地运行osTicket:

第一步:安装osTicket

.\install-local.cmd

这将:

  • 启动Docker容器(osTicket、MySQL、phpMyAdmin)
  • 自动安装和配置osTicket
  • 创建管理员帐户: ostadmin / ChangeMe123!

步骤2:准备MCP集成

.\prepare-mcp-local.cmd

这将:

  • 验证osTicket安装
  • 安装Python MCP依赖项
  • 测试MCP服务器
  • 使用VS代码注册

就是这样! 🎉 您现在拥有:

  • ✅ osTicket正在运行http://localhost:8080
  • ✅ 工作人员小组http://localhost:8080/scp
  • ✅ PhpMyAdmin和http://localhost:8081
  • ✅ MCP服务器已准备好进行VS代码复制

📚 学习实验室

两个全面的实验室轨道,包括练习、挑战和解决方案:

实验室 持续时间 级别 焦点
实验1:MCP基础 4-6小时 初级→ 高级 MCP概念、工具、资源、测试
实验2:osTicket MCP开发 6-8小时 中级→ 高级 现实世界MCP服务器,Docker集成

快速参考:


🎯 你将学到什么

实验1:MCP基础

  • ✅ 构建您的第一个MCP服务器(Hello World)
  • ✅ 使用JSON模式验证定义工具
  • ✅ 创建资源和提示
  • ✅ 与VS代码副本集成
  • ✅ 处理外部API(Weather API示例)
  • ✅ 实施错误处理和测试
  • ✅ 构建生产就绪的MCP解决方案

实验2:osTicket MCP开发

  • ✅ 使用Docker在本地设置osTicket
  • ✅ 了解osTicket架构和API
  • ✅ 为osTicket构建PHP辅助脚本
  • ✅ 创建用于票证操作的MCP服务器
  • ✅ 端到端测试MCP集成
  • ✅ 使用自定义工具和功能进行扩展

📋 先决条件

组件 版本 检查命令
Docker 桌面版 最新消息 docker --version
python 3.10+ python --version
VS Code 最新消息 code --version
Git 任何 git --version

Python包:

pip install mcp>=1.0.0 httpx>=0.27.0

查看完整要求: 需求指南


🏗️ 仓库结构

MCP-OS-Ticket-Lab/
├── README.md                          # This file
├── install-local.cmd                  # One-click osTicket setup
├── prepare-mcp-local.cmd              # One-click MCP preparation
├── DOCKER_SETUP.md                    # Detailed Docker setup guide
│
├── labs/                              # 📚 Learning Labs
│   ├── README.md                      # Lab index & learning path
│   ├── 01_MCP_FUNDAMENTALS_LAB.md     # Lab 1: MCP basics to advanced
│   ├── 02_OSTICKET_MCP_LAB.md         # Lab 2: osTicket MCP development
│   └── MCP_CHEAT_SHEET.md             # Quick reference guide
│
├── mcp-server/                        # 🔧 MCP Server Implementation
│   ├── server.py                      # Main MCP server
│   ├── test.py                        # MCP validation tests
│   └── requirements.txt               # Python dependencies
│
├── mcp_*.php                          # PHP helper scripts for osTicket
├── docker-compose.yml                 # Docker orchestration
├── Dockerfile                         # osTicket container image
└── [osTicket core files]              # osTicket application files

🎓 学习路径

┌─────────────────────────────────────────────────────────────┐
│  START HERE: One-Click Setup                                │
│  .\install-local.cmd                                        │
│  .\prepare-mcp-local.cmd                                    │
└────────────────┬────────────────────────────────────────────┘
                 │
        ┌────────▼────────┐
        │   Choose Path   │
        └────┬──────┬─────┘
             │      │
    ┌────────▼──┐  │
    │  Lab 1    │  │  Beginner? Start with MCP Fundamentals
    │  MCP      │  │  Learn concepts, build simple servers
    │  Basics   │  │
    └────────┬──┘  │
             │     │
             │  ┌──▼──────┐
             │  │  Lab 2  │  Intermediate? Jump to osTicket
             │  │ osTicket│  Build real-world MCP server
             │  │   MCP   │
             │  └────┬────┘
             │       │
        ┌────▼───────▼─────┐
        │  MCP Expert! 🎉   │
        │  Build your own   │
        │  MCP projects     │
        └───────────────────┘

🔧 MCP服务器功能

附带的MCP服务器为osTicket提供了以下工具:

工具 说明
create_ticket 创建新的支持票
get_ticket 按编号检索门票详细信息
reply_to_ticket 添加回复或内部注释
create_user 创建新的osTicket用户
get_osticket_status 检查系统状态

在VS代码副本中测试它:

@mcp create a ticket from john@example.com about password reset
@mcp get details of ticket 123456
@mcp reply to ticket 123456 saying we've resolved the issue

🐳 Docker快速参考

# Start osTicket
docker compose up -d

# Stop osTicket
docker compose down

# View logs
docker logs osTicket-osticket

# Restart containers
docker compose restart

# Access container shell
docker compose exec osticket bash

🆘 故障排除

问题 解决方案
端口8080已在使用中 停止其他服务或编辑 docker-compose.yml
Docker无法启动 启用WSL2/H-V-,重新启动Docker桌面
MySQL连接被拒绝 启动后等待30秒
在VS代码 重新加载窗口中找不到MCP服务器: Ctrl+Shift+P → “重新加载窗口”

请参阅详细的故障排除: DOCKER_SETUP.md


📖 其他资源

  • osTicket文档: https://docs.osticket.com
  • MCP规范: https://modelcontextprotocol.io
  • Python MCP SDK: https://github.com/modelcontextprotocol/python-sdk
  • Docker文档: https://docs.docker.com

🤝 贡献

这是一个学习库。请随意:

  • 添加新的实验练习
  • 改进现有材料
  • 修复错误或拼写错误
  • 共享您的MCP服务器扩展

📜 许可证

  • osTicket核心:GPL许可证(请参阅 LICENSE.txt)
  • 实验材料:MIT许可证
  • MCP服务器实现:MIT许可证

🙏 致谢

  • osTicket团队 -对于优秀的开源帮助台系统
  • Anthropic -对于模型上下文协议规范
  • GitHub Copilot -MCP集成能力

准备好开始了吗? 跑 .\install-local.cmd 开始您的MCP之旅! 🚀

需求

  • 运行Microsoft®IIS或Apache的HTTP服务器
  • PHP版本8.2-8.4(建议使用8.4)
  • PHP的mysqli扩展
  • MySQL数据库5.5版(或更高版本)

建议

  • ctype、fileinfo、gd、gettext、iconv、imap、intl、json、mbstring、, PHP的Zend OPcache、phar、xml、xml-dom和zip扩展
  • APCu模块已启用并配置为PHP

部署

osTicket现在支持最前沿的安装。最简单的方法 安装软件并跟踪更新是克隆公共存储库。 在您的web服务器上创建一个文件夹(使用任何有意义的方法 然后克隆存储库(文件夹必须为空!):

git clone https://github.com/osTicket/osTicket

并将代码部署到服务器www根文件夹中的某个位置 例子

cd osTicket
php manage.php deploy --setup /var/www/htdocs/osticket/

然后,如有必要,您可以配置服务器以提供该文件夹,以及 访问页面并像往常一样安装osTicket。继续,甚至删除 完成后,将setup/文件夹移出部署位置。然后, 稍后,您可以获取更新并部署它们(从您所在的文件夹 将git仓库克隆到)

git pull
php manage.php deploy -v /var/www/htdocs/osticket/

升级

osTicket支持从1.6-rc1和更高版本升级。与任何 升级后,强烈建议备份附件文件、数据库和 在开始升级之前,使用osTicket代码库。请查看我们的 升级 指南 或 升级.txt文件 获取升级说明。

帮助

访问 文档 或 论坛如果你需要专业帮助 管理您的osTicket安装, 商业支持 可用。

贡献

创建自己的项目分支并使用 git流 以创建新功能。曾经 该功能已发布在您的fork中,请发送一个pull请求以开始 将新功能集成到osTicket的对话。

本地化

osTicket的接口现在完全可以翻译了。语言包 可在 下载页面如果你 在那里看不到你的语言,请加入 人群 项目和请求添加您的语言。达到100%的语言 翻译后的内容将在 osTicket下载页面。

该软件也可以在我们的 JIPT现场. 一旦你有了Crowdin帐户,登录并在浏览器中翻译软件!

在新代码中本地化字符串需要使用 少数规则.

许可证

osTicket根据GPL2许可证发布。请参阅随附的LICENSE.txt 通用公共许可证的血腥细节文件。

osTicket由几个神奇的开源项目支持,包括: