Token导航 LogoToken导航TokenDH.com
Gossis MCP logo
运维云端未说明官方级别未说明来源级核验

Gossis MCP

MCP Server

一个用于分析SQL Server Integration Services (SSIS) DTSX文件的全面工具,提供包结构、数据流组件、控制流任务、日志配置、性能指标和最佳实践验证的详细分析。

工具数

64

提示词数

0

GitHub Stars

2

资源数

0
GoClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MCPRUNNER

提供方

MCPRUNNER

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

SSIS DTSX分析仪MCP服务器

这是一个用Go编写的全面的模型上下文协议(MCP)服务器,它提供了80多种用于分析SSIS(SQL server Integration Services)DTSX文件的高级工具。它提供了对包结构、数据流组件(10种源类型、10种转换类型、6种目标类型)、控制流任务、日志配置、性能指标和最佳实践验证的详细见解。

与大多数MCP服务器不同,它能够逐步使用工具,其中一个工具的内容是宝贵工具的输出。按顺序强制执行这些步骤,不会让法学硕士随心所欲。这有助于控制最终结果中所需的数据,或将其他问题所需的资料分阶段提交给LLM。

关于

该项目目前正在积极开发中,旨在成为SSIS包分析的首选解决方案,为开发人员和DBA提供有效优化和维护SSIS解决方案所需的工具。随着项目的发展,预计会有频繁的更新和新功能。预计工具名称将进行重构和可能的更改。

备注

当前代码主要在Windows 11上进行测试。一旦代码开始成熟,预计将进行额外的Linux测试。这意味着路径处理和文件系统操作可能需要在非Windows平台上进行进一步验证。

文档

实施状态

原始功能请求中所有推荐的缺失功能都已成功实现并显著扩展,将此服务器从基本的DTSX解析器转换为全面的SSIS分析平台。服务器现在包括:

  • 批处理:使用聚合结果和性能指标对多个DTSX文件进行并行分析
  • 工作流支持:为复杂的分析场景执行多步骤工作流
  • 多种输出格式:支持所有工具的文本、JSON、CSV、HTML和Markdown输出格式
  • 性能优化工具:缓冲区大小优化、并行处理分析和内存使用情况分析
  • 10个高/中优先级功能:数据流分析、事件处理程序、参数、依赖关系、配置、性能指标
  • 5低优先级功能:安全分析、包比较、代码质量指标、文本文件集成
  • 统一分析接口:通过基于类型的调度简化源和目的地分析
  • 扩展组件覆盖范围:10种源类型、10种转换类型和6种目标类型的分析工具
  • 模板支撑:HTML和Markdown报告模板,可定制输出
  • 插件支持:创建和管理插件的说明
  • 🔄 1剩余功能:SSIS目录集成(与SSISDB的数据库连接,用于部署的包分析)

该服务器已经从支持基本的包解析发展到提供企业级SSIS开发和维护功能,并配备了80多种专门的分析工具。

特性

  • 包装分析:解析DTSX文件并提取全面的包信息
  • 批处理:使用聚合结果和性能指标并行分析多个DTSX文件
  • 统一分析接口:流线型 analyze_sourceanalyze_destination 工具为所有支持的组件类型提供了基于类型的分析,降低了API的复杂性,同时保持了完整的功能
  • 事件处理程序分析:分析事件处理程序(OnError、OnWarning、OnPreExecute等)及其任务、变量和优先级约束
  • 优先级约束分析:提取并分析具有表达式分辨率的优先级约束
  • 连接管理:使用表达式解析提取和分析连接管理器详细信息
  • 变量提取:列出所有具有表达式解析的包和任务变量
  • 参数提取:提取项目和包参数及其属性、数据类型和默认值
  • 包依赖关系映射:分析多个DTSX文件中包、共享连接和变量之间的关系
  • 配置分析:使用类型、筛选器和属性映射分析包配置(XML、SQL Server、环境变量配置)
  • 绩效指标分析:分析数据流性能设置(缓冲区大小、引擎线程等),以确定瓶颈和优化机会
  • 证券分析:检测潜在的安全问题(硬编码凭据、敏感数据泄露)
  • 包装比较:比较两个DTSX文件并突出显示差异
  • 代码质量度量:计算可维护性指标(复杂性、重复性等)
  • 读取文本文件集成:从SSIS包引用的文本文件中读取配置或数据
  • 脚本代码分析:从脚本任务和脚本组件中提取C#/VB.NET代码
  • 脚本任务分析:脚本任务的全面分析,包括变量、入口点和配置
  • 日志记录配置:日志提供者、事件和目的地的详细分析
  • 最佳实践验证:检查SSIS包以了解最佳做法和潜在问题
  • 硬编码值检测:识别连接字符串、消息和表达式中的嵌入文字
  • 交互式查询:询问有关DTSX文件的具体问题并获取相关信息
  • 文件结构验证:验证DTSX文件结构和完整性
  • 多种输出格式:支持文本、JSON、CSV、HTML和Markdown输出格式
  • HTTP流媒体支持:可选HTTP API,带有用于实时输出的流式响应
  • 插件系统:支持自定义分析规则和社区插件的可扩展架构

插件系统

SSIS DTSX分析器包括一个全面的插件系统,允许扩展和定制:

特性

  • 自定义分析规则:为特定SSIS模式创建和安装自定义分析规则
  • 社区插件库:访问社区贡献的插件市场
  • 插件管理:安装、卸载、启用/禁用和更新插件
  • 安全特性:插件签名验证和沙盒执行
  • 插件开发:易于使用的模板和API,用于创建新插件

插件管理工具

服务器提供了几个管理插件的工具:

  • list_plugins:列出所有已注册的插件(内置和已安装)
  • install_plugin:从社区市场安装插件
  • uninstall_plugin:卸载插件
  • enable_plugin:启用或禁用插件
  • search_plugins:在市场上搜索插件
  • update_plugin:将插件更新到最新版本
  • create_custom_rule:创建自定义分析规则
  • execute_custom_rule:对DTSX文件执行自定义分析规则

配置

插件系统设置可以在配置文件中配置:

{
  "plugins": {
    "plugin_dir": "./plugins",
    "enabled_plugins": ["ssis-core-analysis"],
    "community_registry": "https://registry.gossismcp.com",
    "auto_update": true,
    "security": {
      "allow_network_access": false,
      "allowed_domains": [],
      "signature_required": true,
      "trusted_publishers": ["gossisMCP"]
    }
  }
}

插件开发

插件是实现插件接口的Go模块,被编译为共享库(Linux/macOS上的.so文件,Windows上的.dll)。以下是如何创建自定义插件:

  1. 创建一个新的Go模块:
mkdir my-ssis-plugin
cd my-ssis-plugin
go mod init my-ssis-plugin
  1. 实现插件接口:
package main

import (
    "context"
    "github.com/mark3labs/mcp-go/mcp"
)

// MyPlugin implements the plugin interface
type MyPlugin struct{}

// Metadata returns plugin metadata
func (p *MyPlugin) Metadata() map[string]interface{} {
    return map[string]interface{}{
        "id": "my-custom-plugin",
        "name": "My Custom SSIS Plugin",
        "version": "1.0.0",
        "description": "Custom analysis for specific SSIS patterns",
        "author": "Your Name",
        "category": "Analysis",
        "tags": []string{"custom", "analysis"},
    }
}

// Tools returns the tools provided by this plugin
func (p *MyPlugin) Tools() []map[string]interface{} {
    return []map[string]interface{}{
        {
            "name": "my_custom_analysis",
            "description": "Perform custom analysis on DTSX files",
            "parameters": []map[string]interface{}{
                {
                    "name": "file_path",
                    "type": "string",
                    "description": "Path to the DTSX file",
                    "required": true,
                },
            },
        },
    }
}

// ExecuteTool executes a tool
func (p *MyPlugin) ExecuteTool(ctx context.Context, name string, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
    switch name {
    case "my_custom_analysis":
        filePath := request.GetString("file_path", "")
        // Perform your custom analysis here
        result := map[string]interface{}{
            "analysis": "Custom analysis result",
            "file": filePath,
        }
        return &mcp.CallToolResult{
            Content: []mcp.Content{
                {
                    Type: "text",
                    Text: fmt.Sprintf("Analysis result: %+v", result),
                },
            },
        }, nil
    }
    return nil, fmt.Errorf("unknown tool: %s", name)
}

// Export the plugin
var Plugin MyPlugin

func main() {
    // Plugin entry point
}
  1. 构建插件:
go build -buildmode=plugin -o my-plugin.so .
  1. 安装插件:

使用 install_plugin 工具或手动将.so/.dll文件放置在插件目录中。

测试策略

  • go test ./... 在发布或更新插件之前;这将执行核心插件系统测试以及验证工具元数据、执行和默认严重性处理的示例插件覆盖率。
  • 保持插件代码的模块化,这样你就可以用可测试的函数来支持MCP工具入口点,而无需加载Go plugin 包裹。
  • 对于市场或端到端场景,添加集成测试,一旦模拟注册表可用(在路线图中跟踪),就可以通过插件管理处理程序对安装/启用流程进行测试。

先决条件

  • 转到1.19或更高版本
  • 访问SSIS DTSX文件

安装

  1. 克隆或下载此存储库
  2. 导航到项目目录
  3. 安装依赖项:
go mod tidy
  1. 构建服务器:
go build -o ssis-analyzer.exe .
  1. 运行服务器:

标准MCP模式(默认):

./ssis-analyzer.exe

HTTP流模式:

./ssis-analyzer.exe -http

您还可以指定包目录:

./ssis-analyzer.exe -http -pkg-dir /path/to/ssis/packages

或设置 GOSSIS_PKG_DIRECTORY 环境变量:

export GOSSIS_PKG_DIRECTORY=/path/to/ssis/packages
./ssis-analyzer.exe -http

用法

此MCP服务器旨在与MCP兼容的客户端(如Claude Desktop或支持MCP的其他AI助手)一起使用。

命令行选项

  • -http:以HTTP流模式运行(默认端口8086)
  • -port:HTTP服务器端口(默认值:8086)
  • -pkg-dir:SSIS包的根目录(也可以通过以下方式设置 GOSSIS_PKG_DIRECTORY 环境变量,默认为当前工作目录)
  • -config:配置文件的路径(JSON或YAML格式)

配置文件

服务器支持JSON或YAML格式的配置文件,以实现更高级的配置管理。配置文件允许您设置服务器设置、包目录和日志记录选项。

JSON配置示例(config.json):

{
  "server": {
    "http_mode": false,
    "port": "8086"
  },
  "packages": {
    "directory": "path/to/ssis/packages",
    "exclude_file": ".gossisignore"
  },
  "logging": {
    "level": "info",
    "format": "text"
  }
}

创建一个 .gossisignore 与配置的文件位于同一目录中 packages.directory 跳过文件夹(例如 bin/obj/)在以下工具使用的目录扫描期间 list_packagesbatch_analyze每行使用一个图案;以开头的行 # 被视为评论。

YAML配置示例(config.yaml):

server:
  http_mode: false
  port: "8086"
packages:
  directory: "path/to/ssis/packages"
  exclude_file: ".gossisignore"
logging:
  level: "info"
  format: "text"

相同 .gossisignore 使用YAML配置时,文件会受到尊重。

配置选项:

  • server.http_mode:是否在HTTP流模式下运行(布尔值)
  • server.port:HTTP服务器端口(字符串)
  • packages.directory:SSIS包的根目录(字符串)
  • packages.exclude_file:指向的可选路径 .gossisignore-用于在扫描过程中排除子路径的样式文件(字符串,相对于 packages.directory 如果不是绝对的)
  • logging.level:日志级别-“调试”、“信息”、“警告”、“错误”(字符串)
  • logging.format:日志格式-“文本”或“json”(字符串)

环境变量:

您可以使用环境变量覆盖配置值:

  • GOSSIS_HTTP_PORT:覆盖服务器端口
  • GOSSIS_PKG_DIRECTORY:覆盖包目录
  • GOSSIS_LOG_LEVEL:覆盖日志级别(“调试”、“信息”、“警告”、“错误”)
  • GOSSIS_LOG_FORMAT:覆盖日志格式(“text”、“json”)

配置文件用法:

./ssis-analyzer.exe -config config.json
./ssis-analyzer.exe -config config.yaml

命令行标志优先于配置文件设置和环境变量。

包目录功能

服务器支持使用以下任一方式为SSIS包指定根目录 -pkg-dir 命令行标志或 GOSSIS_PKG_DIRECTORY 环境变量。设置后,将根据此目录解析工具请求中的相对文件路径。

如果既没有提供标志也没有提供环境变量,则服务器默认使用当前工作目录作为包目录。

示例:

# Using command line flag
./ssis-analyzer.exe -http -pkg-dir C:\SSIS\Packages

# Using environment variable
export GOSSIS_PKG_DIRECTORY=C:\SSIS\Packages
./ssis-analyzer.exe -http

# Using both (command line takes precedence)
export GOSSIS_PKG_DIRECTORY=C:\SSIS\Packages
./ssis-analyzer.exe -http -pkg-dir C:\Other\Packages

# Using default (current working directory)
./ssis-analyzer.exe -http

设置包目录后,您可以使用相对路径引用DTSX文件:

{
  "tool_name": "parse_dtsx",
  "args": {
    "file_path": "MyPackage.dtsx" // Resolves to C:\SSIS\Packages\MyPackage.dtsx
  }
}

如果没有设置包目录,则必须使用绝对路径。

配置

要将此服务器与Claude Desktop一起使用,请将以下内容添加到您的 .vscode/mcp.json:

{
  "servers": {
    "ssis-analyzer-http": {
      "type": "http",
      "url": "http://localhost:8086/mcp"
    },
    "ssis-analyzer": {
      "type": "stdio",
      "command": "ssis-analyzer.exe"
    }
  }
}

此配置提供HTTP和stdio传输选项。HTTP传输使用官方的MCP Streamable HTTP协议,以实现完全的MCP兼容性。

可用工具

  1. parse_dtsx

- 说明:解析SSIS DTSX文件并返回其结构摘要 - 参数: - file_path (字符串,必填):要解析的DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 提取任务

- 描述:从DTSX文件中提取并列出所有任务,包括任务属性中的解析表达式 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 提取连接

- 描述:从DTSX文件中提取并列出所有连接管理器,包括连接字符串中的解析表达式 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 提取优先级约束

- 描述:从DTSX文件中提取并列出所有优先级约束,包括解析表达式 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 提取变量

- 描述:从DTSX文件中提取并列出所有变量,包括解析表达式 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 提取参数

- 描述:从DTSX文件中提取并列出所有参数,包括数据类型、默认值和属性 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 提取脚本代码

- 说明:从DTSX文件中的脚本任务中提取脚本代码 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. validate_best_实践

- 说明:检查SSIS包以了解最佳实践和潜在问题 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. ask_关于dtsx

- 说明:询问有关SSIS DTSX文件的问题并获取相关信息 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径) - question (string,必填):关于DTSX文件的问题

  1. 分析消息问题

- 描述:分析DTSX文件中的消息队列任务,包括发送/接收操作和消息内容 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_script_task

- 描述:分析DTSX文件中的脚本任务,包括脚本代码、变量和任务配置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 检测硬编码值

- 描述:检测DTSX文件中的硬编码值,例如连接字符串、消息或表达式中的嵌入式文字 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析日志配置

- 描述:分析DTSX文件中的详细日志配置,包括日志提供程序、事件和目标 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. list_packages

- 描述:递归列出包目录中找到的所有DTSX包

  • 参数:无(使用配置的包目录)
  • 备注:创建 .gossisignore 包目录中的文件以跳过路径(例如 bin/obj/);空白行和 # 评论被忽略。
  1. 批次分析

- 描述:并行分析多个DTSX文件并提供聚合结果 - 参数: - file_paths (array,必填):要分析的DTSX文件路径数组(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - max_concurrent (数字,可选):并发分析的最大数量(默认值:4)

  1. analyze_data_flow

- 描述:分析DTSX文件中的数据流组件,包括源、转换、目标和数据路径 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_data_flow_detailed

- 描述:提供数据流组件的详细分析,包括配置、属性、输入/输出和数据映射 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析_来源

- 说明:按类型分析DTSX文件中的源组件(所有源类型的统一接口) - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径) - source_type (字符串,必填):要分析的源类型:ole_db、ado_net、odbc、flat_file、excel、access、xml、raw_file、cdc、sap_bw

  1. 分析定义

- 说明:按类型分析DTSX文件中的目标组件(所有目标类型的统一接口) - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径) - destination_type (字符串,必填):要分析的目标类型:ole_db、flat_file、sql_server、excel、raw_file

  1. 分析le_db来源

- 说明:分析DTSX文件中的OLE DB源组件,提取连接详细信息、访问模式、SQL命令和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析导出列

- 说明:分析DTSX文件中的导出列目标,提取文件数据列、文件路径列和导出设置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析数据转换

- 描述:分析DTSX文件中的数据转换,提取输入/输出映射和数据类型转换 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析do_netsource

- 说明:分析ADO。DTSX文件中的NET源代码组件,提取连接详细信息和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析数据库来源

- 说明:分析DTSX文件中的ODBC源组件,提取连接详细信息和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析平台文件源

- 描述:分析DTSX文件中的平面文件源组件,提取文件连接详细信息和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析_外部_来源

- 说明:分析DTSX文件中的Excel源组件,提取Excel文件详细信息、工作表名称和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析_访问_来源

- 描述:分析DTSX文件中的Access Source组件,提取数据库连接详细信息和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyzexml_来源

- 描述:分析DTSX文件中的XML源组件,提取XML结构细节和输出列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_raw_file_来源

- 描述:分析DTSX文件中的原始文件源组件,提取文件元数据和列结构 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析dc_来源

- 描述:分析DTSX文件中的CDC源组件,提取CDC配置和更改跟踪详细信息 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析sap_bw源

- 描述:分析DTSX文件中的SAP BW源组件,提取SAP BW集成详细信息和InfoObject映射 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析目的地

- 说明:分析DTSX文件中的OLE DB目标组件,提取目标表映射和批量加载设置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_flat_file_destination

- 描述:分析DTSX文件中的平面文件目标组件,提取文件格式设置和列映射 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_sql_server_destination

- 描述:分析DTSX文件中的SQL Server目标组件,提取批量插入配置和性能设置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析衍生列

- 描述:分析DTSX文件中的派生列组件,提取表达式和数据转换 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_lookup

- 描述:分析DTSX文件中的查找组件,提取引用表连接和缓存配置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 解析条件分割

- 说明:分析DTSX文件中的条件拆分组件,提取拆分条件和输出配置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析_排序

- 描述:分析DTSX文件中的排序转换组件,提取排序键和内存使用情况 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析_汇总

- 描述:分析DTSX文件中的聚合转换组件,提取聚合操作和按列分组 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_merge_join

- 说明:分析DTSX文件中的合并连接转换组件,提取连接类型和键列 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_union_all

- 描述:分析DTSX文件中的Union所有转换组件,提取输入/输出列映射 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析_多播

- 描述:分析DTSX文件中的多播转换组件,提取输出配置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析脚本组件

- 说明:分析DTSX文件中的脚本组件转换组件,提取脚本代码和配置 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析

- 说明:分析DTSX文件中的Excel目标组件,提取工作表配置和数据类型映射 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. analyze_raw_file_destination

- 描述:分析DTSX文件中的原始文件目标组件,提取文件元数据和写入选项 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析事件处理程序

- 描述:分析DTSX文件中的事件处理程序,包括OnError、OnWarning、OnPreExecute和其他事件类型及其相关任务、变量和优先级约束 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析包依赖关系

- 描述:分析多个DTSX文件中包、共享连接和变量之间的关系 - 参数:无(分析包目录中的所有DTSX文件)

  1. 分析配置

- 说明:分析包配置(XML、SQL Server、环境变量配置) - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析性能指标

- 描述:分析数据流性能设置(缓冲区大小、引擎线程等),以识别瓶颈和优化机会 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 检测安全问题

- 描述:检测潜在的安全问题(硬编码凭据、敏感数据泄露) - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. compare_包

- 说明:比较两个DTSX文件并突出显示差异 - 参数: - file_path1 (string,必填):第一个DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径) - file_path2 (string,必填):第二个DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. 分析代码质量

- 描述:计算可维护性指标(复杂性、重复性等),以评估软件包质量和技术债务 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果设置了,则相对于包目录,或绝对路径)

  1. read_text_file

- 说明:从SSIS包引用的文本文件中读取配置或数据 - 参数: - file_path (字符串,必填):要读取的文本文件的路径(如果设置了,则相对于包目录,或绝对路径) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - line_numbers (布尔值,可选):在内容中包含行号(默认值:true) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. 检查合规性

- 描述:通过检测敏感数据模式,检查SSIS包是否符合GDPR、HIPAA和其他监管要求 - 参数: - compliance_standard (string,可选):要检查的合规标准(gdpr、hipaa、pci或“all”用于全面检查) - file_path (字符串,必填):DTSX文件的路径(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. compare_包

- 说明:比较两个DTSX文件并突出显示差异 - 参数: - file_path1 (string,必填):第一个DTSX文件的路径(如果已设置,则相对于包目录) - file_path2 (string,必填):第二个DTSX文件的路径(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. 创建分析规则

- 说明:创建自定义分析规则插件 - 参数: - category (字符串,必填):规则类别:安全性、性能、最佳实践、合规性 - description (字符串,必填):规则分析内容的描述 - rule_logic (string,必填):规则逻辑的Go代码(作为字符串) - rule_name (字符串,必填):分析规则的名称 - severity (字符串,可选):规则严重性:严重、高、中、低、信息(默认值:中等)

  1. 检测加密

- 描述:检测加密设置,并提供保护SSIS包中敏感数据的建议 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. 市场_状态

- 描述:获取社区市场统计数据 - 参数:无

  1. render_template

- 描述:使用JSON数据渲染html/模板并将输出写入文件 - 参数: - json_data (字符串,可选):内联JSON有效负载以应用于模板 - json_file_path (字符串,可选):包含模板数据的JSON文件的路径(如果设置了,则相对于包目录) - output_file_path (字符串,必填):渲染输出的目标路径(如果设置了,则相对于包目录) - template_file_path (string,必填):模板文件的路径(如果已设置,则相对于包目录)

  1. scan_credentials

- 说明:使用高级模式匹配执行全面的凭据扫描,以检测硬编码凭据、API密钥、令牌和敏感数据模式 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. workflow_runner

- 说明:执行工作流定义文件,并按顺序运行每个引用的MCP工具步骤 - 参数: - file_path (字符串,必填):工作流定义的路径(JSON或YAML) - format (字符串,可选):输出格式:markdown(默认)或json - output_file_path (字符串,可选):写入工作流摘要的目标路径(如果已设置,则相对于包目录)

  1. 分析_并行处理

- 描述:分析并行处理能力,并为优化SSIS包中的并发执行提供建议 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. 分析容器

- 描述:分析DTSX文件中的容器,包括序列、For循环和Foreach循环容器及其属性和嵌套的可执行文件 - 参数: - file_path (字符串,必填):DTSX文件的路径(如果已设置,则相对于包目录) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

  1. 合并

- 说明:将多个JSON文件合并为一个JSON对象 - 参数: - file_paths (array,必填):要合并的JSON文件路径数组(如果已设置,则相对于包目录) - output_file_path (字符串,可选):写入合并JSON的目标路径(如果已设置,则相对于包目录)

  1. xpath_query

- 描述:对来自文件、原始XML字符串或JSONized XML内容的XML数据执行XPath查询 - 参数: - xpath (字符串,必填):要执行的XPath表达式 - file_path (字符串,可选):要查询的XML文件的路径(如果已设置,则相对于包目录) - xml (string,可选):要查询的原始XML字符串 - json_xml (字符串,可选):JSON化的XML内容(例如,来自read_text_file输出) - format (字符串,可选):输出格式:文本、json、csv、html、markdown(默认:文本) - output_file_path (字符串,可选):写入工具结果的目标路径(如果已设置,则相对于包目录)

高级分析能力

SSIS DTSX分析器提供以下专门分析:

  • 数据流组件:详细分析数据流任务中的源、转换、目标和数据路径
  • 事件句柄:全面分析带有任务、变量和优先级约束的OnError、OnWarning、OnPreExecute处理程序
  • 参数:提取包含数据类型、默认值和属性的SSIS 2012+项目和包参数
  • 包的依赖:对共享连接和变量进行跨包分析,以了解ETL工作流关系
  • 配置:分析旧SSIS配置(XML、SQL Server、环境变量)并提出迁移建议
  • 性能指标:分析数据流性能设置,包括缓冲区大小、引擎线程和优化建议
  • 证券分析:检测硬编码凭据、敏感数据暴露和身份验证漏洞
  • 包装比较:两个DTSX文件之间任务、连接、变量、参数和配置的结构差异
  • 代码质量度量:脚本复杂性、表达式复杂性、结构度量和总体可维护性评分分析
  • 读取文本文件集成:解析和分析SSIS包引用的文本文件(.bat、.config、.sql)
  • 消息队列任务:发送/接收操作和消息内容分析
  • 日志记录配置:详细的日志提供程序、事件和目标分析
  • 脚本任务代码:从嵌入式脚本中提取完整的C#/VB.NET代码
  • 硬编码值:检测应参数化的嵌入文字
  • 最佳实践:根据SSIS开发标准进行全面验证

使用示例

分析日志记录配置

"Analyze the logging configuration in this DTSX file"
→ Returns detailed log providers, events, and destinations

检测硬编码值

"Detect any hard-coded values in this DTSX file"
→ Identifies connection strings, paths, and literals that should be parameterized

批次分析

"Analyze multiple DTSX files in parallel"
→ Returns aggregated results with success/failure counts, performance metrics, and detailed package summaries

多种输出格式

"Generate an HTML report for this DTSX analysis"
→ Returns formatted HTML output with styling and tables
"Export analysis results as CSV"
→ Returns comma-separated values for spreadsheet analysis

性能优化

"Optimize buffer sizes for this data flow"
→ Provides specific recommendations for buffer configuration
"Analyze parallel processing capabilities"
→ Identifies optimization opportunities for concurrent execution

证券分析

"Scan for hardcoded credentials in this package"
→ Advanced pattern matching for security vulnerabilities
"Check GDPR compliance"
→ Validates regulatory compliance for data protection

发展

要修改或扩展服务器,请执行以下操作:

  1. 编辑 main.go 添加新工具或修改现有工具
  2. 更新中的SSIS XML分析结构 ssis_types.go 根据需要进行更详细的分析
  3. go build -o ssis-analyzer.exe . 编译更改

备注

  • 此服务器提供SSIS包元素的全面分析,包括数据流分析、事件处理程序分析、参数提取、包依赖关系映射、配置分析、日志配置、脚本代码提取、性能指标分析、安全分析、包比较、代码质量指标、文本文件集成和专门的任务分析等高级功能
  • SSIS DTSX文件具有复杂的XML结构;解析处理名称空间前缀和各种XML模式
  • 确保MCP客户端具有对要分析的DTSX文件的读取权限
  • 支持对SQL Server、消息队列、脚本和其他专用SSIS任务的分析
  • HTTP传输使用官方的MCP Streamable HTTP协议,与MCP客户端完全兼容
  • 支持stdio和HTTP传输,以实现最大的灵活性
  • 使用 -pkg-dir 旗帜或 GOSSIS_PKG_DIRECTORY 环境变量,用于指定SSIS包的根目录,允许在工具调用中引用相对路径(如果未指定,则默认为当前工作目录)

许可证

MIT许可证

目录标签

目录标签

GoClaude云端部署SSIS分析本地部署数据流分析ETL工具性能优化安全检测

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

64

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP