PDF-GitHub集成服务

该服务连接PDF管理系统与GitHub,实现自动化问题管理、PDF链接、AI建议生成及状态同步功能。

  • by nikolausm
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 nikolausm/github-pdf-integration-mcp-server

使用说明

GitHub PDF集成MCP服务器

此 MCP 服务器将您的 PdfManagement 系统连接到 GitHub 以实现自动化问题管理。

特性

  • 🐛 自动问题创建 PDF 处理错误
  • 🔗 PDF 链接 现有的GitHub问题
  • 💡 AI建议 als GitHub问题
  • 🔄 状态同步 在PDF系统和GitHub之间

安装

  1. 安装依赖关系:

    npm install
    
  2. 环境变量参数:

    cp .env.example .env
    

    然后 .env 编辑 :

    • GITHUB_TOKENGitHub个人访问令牌(需要) repo 范围)
    • PDF_API_KEYPDF管理系统的API密钥
    • PDF_API_BASE_URL:URL卸载PDF系统(默认值:http://hero.local:1339)
  3. 构建:

    npm run build
    

Claude桌面集成

将以下内容添加到您的 Claude 桌面配置:

{
  "mcpServers": {
    "github-pdf-integration": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/Users/michaelnikolaus/github-pdf-integration-mcp-server",
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "PDF_API_KEY": "your_pdf_api_key",
        "PDF_API_BASE_URL": "http://hero.local:1339",
        "GITHUB_OWNER": "Minicon-eG",
        "GITHUB_REPO": "PdfManagement"
      }
    }
  }
}

可用工具

create_issue_from_pdf_error

当出现 PDF 处理错误时,自动创建 GitHub 问题。

参数:

  • pdfId (string):受影响的 PDF ID
  • errorType (字符串):Fehlertyp(z.B.OCR_FAILED,PARSING_ERROR)
  • errorMessage (string): 详细的错误消息
  • severity (字符串,可选):低/中/高/临界
  • stackTrace (字符串,可选):堆栈跟踪für调试

link_pdf_to_oissue

将 PDF 链接到现有的 GitHub 问题。

参数:

  • issueNumber (编号):GitHub问题编号
  • pdfIds (string[]):PDF ID数组

创建问题来源建议

从 AI 生成的改进创建问题。

参数:

  • pdfId (字符串):PDF的ID
  • suggestionType (string) 改进的类型
  • suggestion (string) 改进建议
  • autoAssign (boolean, optional) 自动分配

sync_pdf_status_to_oissue

与相关问题同步 PDF 状态。

参数:

  • pdfId (字符串):PDF的ID
  • status (string):正在处理/已完成/失败/requires_review

PdfManagement 集成示例

// In deinem PDF Error Handler
public async Task HandlePdfError(string pdfId, Exception ex)
{
    // Lokales Error Handling...
    
    // MCP Tool aufrufen via Claude API
    await CallMcpTool("create_issue_from_pdf_error", new {
        pdfId = pdfId,
        errorType = ex.GetType().Name,
        errorMessage = ex.Message,
        severity = "high",
        stackTrace = ex.StackTrace
    });
}

肺炎球菌

# Development mode mit hot-reload
npm run dev

# Type checking
npm run build

许可证

麻省理工学院-迈克尔·尼古拉斯/Minicon eG