Token导航 LogoToken导航TokenDH.com
Sdlc MCP Server logo
开发工具未说明官方级别未说明来源级核验

Sdlc MCP Server

MCP Server

一个集成了Maven项目分析、JIRA问题跟踪和Confluence文档管理的软件开发生命周期管理工具,提供AI辅助开发和统一的工作流程管理。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
代码分析JavaClaude文档处理Claude

安装说明

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

作者 / 组织

kashar

提供方

kashar

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

SDLC工具MCP服务器

用于软件开发生命周期管理的综合模型上下文协议(MCP)服务器,为Maven项目分析、JIRA问题跟踪和Confluence文档提供集成工具。

概述

此MCP服务器为Claude Code等AI助手提供了专门的工具来管理整个软件开发生命周期,通过统一的界面集成Maven构建自动化、JIRA项目管理和Confluence知识管理。

主要特点

Maven集成

  • Maven项目分析 -多模块项目结构的深入分析
  • 依赖管理 -分析和理解依赖树
  • 代码质量检查 -静态分析和质量指标
  • 安全命令执行 -使用适当的保护措施运行Maven命令
  • 自动化文档生成 -生成JavaDoc分析、README、API文档和变更日志
  • 实施指南 -基于代码库模式的建议方法

JIRA集成

  • 问题搜索 -使用JQL(JIRA查询语言)搜索JIRA问题
  • 问题详细信息 -获取有关具体问题的全面信息
  • 问题创建 -使用自定义字段创建新问题
  • 问题更新 -以编程方式更新现有问题

汇流集成

  • 页面搜索 -使用CQL(汇流查询语言)搜索汇流页面
  • 页面内容 -检索和阅读页面内容
  • 页面创建 -创建新的文档页面
  • 知识管理 -组织和管理文件

高级功能

  • MCP资源 -缓存和重用昂贵的分析结果
  • MCP提示 -预定义的SDLC工作流提示,用于指导开发
  • 多工具集成 -无缝结合Maven、JIRA和Confluence操作

SDLC角色集成

与中定义的SDLC角色无缝协作 .github/mcp/personas/:

  • 分析师 -需求分析和代码库理解
  • 建筑师 -解决方案设计和技术决策
  • 开发者 -干净的代码实现
  • 测试员 -全面的测试策略
  • 审稿人 -代码质量审查
  • 记录者 -技术文件

快速开始

先决条件

  • Java 17或更高版本
  • Maven 3.6+
  • Claude Code CLI(用于MCP客户端)
  • 带有API令牌的JIRA和/或Confluence帐户(可选,用于JIRA/Confluence功能)

构建

cd sdlc-tools-mcp-server
mvn clean package

这将创建一个可执行JAR: target/sdlc-tools-mcp-server-2.0.0-SNAPSHOT-jar-with-dependencies.jar

配置

JIRA和汇流配置

为了避免在每次JIRA和Confluence工具调用时传递凭据,您可以使用以下任一方法配置一次:

  1. 环境变量 (出于安全考虑建议):
   export JIRA_URL=https://your-domain.atlassian.net
   export JIRA_EMAIL=your-email@example.com
   export JIRA_API_TOKEN=your-jira-api-token

   export CONFLUENCE_URL=https://your-domain.atlassian.net/wiki
   export CONFLUENCE_EMAIL=your-email@example.com
   export CONFLUENCE_API_TOKEN=your-confluence-api-token
  1. 配置文件:

创建 application.properties 在以下位置之一:

- 服务器运行的当前目录 - ~/.sdlc-tools/application.properties

   # JIRA Configuration
   jira.url=https://your-domain.atlassian.net
   jira.email=your-email@example.com
   jira.api.token=your-jira-api-token

   # Confluence Configuration
   confluence.url=https://your-domain.atlassian.net/wiki
   confluence.email=your-email@example.com
   confluence.api.token=your-confluence-api-token

复制 application.properties.example 开始:

   cp application.properties.example application.properties
   # Edit application.properties with your credentials
  1. 生成API令牌:

- 访问 大西洋API代币 - 点击“创建API令牌” - 给它一个标签并复制令牌 - 如果JIRA和Confluence位于同一实例上,则可以对它们使用相同的令牌

配置优先 (从高到低):

  1. 工具参数(允许每次调用覆盖)
  2. 环境变量
  3. application.properties 在当前目录中
  4. application.properties~/.sdlc-tools/

java -jar target/sdlc-tools-mcp-server-*-jar-with-dependencies.jar

服务器使用JSON-RPC 2.0协议通过标准输入/输出进行通信。

与Claude Code的集成

配置MCP服务器

添加到您的Claude Code MCP设置中(~/.config/claude-code/mcp-settings.json):

{
  "mcpServers": {
    "sdlc-tools": {
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/sdlc-tools-mcp-server-jar-with-dependencies.jar"
      ]
    }
  }
}

使用Claude代码

  1. 启动克劳德代码 MCP服务器将自动连接
  1. 使用MCP工具 在您的提示中:
   # Maven tools
   @mcp sdlc-tools analyze-maven-project /path/to/your/maven/project

   # JIRA tools
   @mcp sdlc-tools jira-search-issues --jql "project = MYPROJ AND status = Open"

   # Confluence tools
   @mcp sdlc-tools confluence-search-pages --cql "space = DEV AND type = page"
  1. 与人物角色结合 对于结构化开发:
   @mcp sdlc-tools analyze-maven-project /path/to/project

   Now act as the Analyst persona from .github/mcp/personas/01-analyst.md
   and create a detailed analysis report for implementing feature X.

可用工具

分析maven项目

分析Maven项目结构、模块、依赖关系和配置。

参数:

  • path (必填):Maven项目根目录的绝对路径

例子:

{
  "name": "analyze-maven-project",
  "arguments": {
    "path": "/Users/dev/my-maven-project"
  }
}

退货:

  • 项目元数据(groupId、artifactId、版本)
  • 模块结构和层次结构
  • 依赖关系和插件
  • 源结构

分析依赖关系

深度依赖分析,包括传递依赖和冲突。

参数:

  • path (必填):Maven项目或模块的路径
  • module (可选):要分析的特定模块

例子:

{
  "name": "analyze-dependencies",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "module": "core-module"
  }
}

运行maven命令

安全地执行允许的Maven命令。

参数:

  • path (必填):Maven项目的路径
  • command (必填):Maven命令(例如“clean test”)
  • module (可选):要构建的特定模块

允许的命令:

  • clean, compile, test, package, verify, install
  • dependency:tree, dependency:analyze
  • jacoco:report, pmd:pmd, pmd:cpd

例子:

{
  "name": "run-maven-command",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "command": "clean test",
    "module": "core-module"
  }
}

代码质量检查

运行静态分析和代码质量检查。

参数:

  • path (必填):Maven项目或模块的路径

例子:

{
  "name": "code-quality-check",
  "arguments": {
    "path": "/Users/dev/my-maven-project"
  }
}

生成文档

根据代码分析和Git历史生成全面的技术文档。

参数:

  • path (必填):Maven项目或模块的路径
  • type (必填):文件类型- javadoc-analysis, readme, api-docs, changelog,或 all
  • packageFilter (可选):API文档的包过滤器(例如。, com.example.api)
  • maxCommits (可选):更改日志的最大提交数(默认值:100)
  • outputFile (可选):是否将输出写入文件(默认值:false)

文档类型:

  1. javadoc分析 -分析JavaDoc的覆盖率,并为缺失的文档提供建议
  2. 自述文件 -基于Maven项目分析生成全面的README.md
  3. api文档 -为所有公共类和方法创建Markdown格式的API文档
  4. 更新日志 -按照Keep a CHANGELOG格式从Git提交历史生成CHANGELOG.md
  5. 全部 -生成所有文档类型

示例-JavaDoc分析:

{
  "name": "generate-documentation",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "type": "javadoc-analysis"
  }
}

示例-生成README:

{
  "name": "generate-documentation",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "type": "readme",
    "outputFile": true
  }
}

示例-生成API文档:

{
  "name": "generate-documentation",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "type": "api-docs",
    "packageFilter": "com.example.api",
    "outputFile": true
  }
}

示例-生成变更日志:

{
  "name": "generate-documentation",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "type": "changelog",
    "maxCommits": 50,
    "outputFile": true
  }
}

示例-生成全部:

{
  "name": "generate-documentation",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "type": "all",
    "outputFile": true
  }
}

建议实施

提出基于代码库分析的实现方法。

参数:

  • path (必填):Maven项目的路径
  • feature (必填):功能或错误修复说明
  • analysisReport (可选):分析报告的路径

例子:

{
  "name": "suggest-implementation",
  "arguments": {
    "path": "/Users/dev/my-maven-project",
    "feature": "Add user authentication with JWT tokens"
  }
}

SDLC工作流示例

以下是如何将MCP服务器与SDLC角色一起使用,以实现完整的功能实现:

第一步:分析

@mcp maven-sdlc analyze-maven-project /path/to/project

Act as the Analyst persona (.github/mcp/personas/01-analyst.md)
and analyze the impact of adding user authentication to the project.

第二步:建筑设计

Based on the analysis above, act as the Architect persona
(.github/mcp/personas/02-architect.md) and create a design document
for implementing JWT-based authentication.

步骤3:实施

@mcp maven-sdlc suggest-implementation --feature "JWT authentication"

Act as the Developer persona (.github/mcp/personas/03-developer.md)
and implement the authentication service following the design.

步骤4:测试

@mcp maven-sdlc run-maven-command --command "test"

Act as the Tester persona (.github/mcp/personas/04-tester.md)
and create comprehensive tests for the authentication feature.

步骤5:代码审查

Act as the Reviewer persona (.github/mcp/personas/05-reviewer.md)
and review the authentication implementation for quality, security,
and best practices.

第6步:文件

@mcp maven-sdlc generate-documentation --type "api-guide"

Act as the Documentor persona (.github/mcp/personas/06-documentor.md)
and create user documentation for the authentication API.

JIRA工具

jira搜索问题

使用JQL(JIRA查询语言)搜索JIRA问题。

参数:

  • jiraUrl (可选):JIRA实例URL(例如,“https://your-domain.atlassian.net“)。如果未提供,则使用配置值。
  • email (可选):用于身份验证的用户电子邮件。如果未提供,则使用配置值。
  • apiToken (可选):JIRA API令牌。如果未提供,则使用配置值。
  • jql (必填):JQL查询字符串
  • maxResults (可选):最大结果数(默认值:50)

配置示例:

{
  "name": "jira-search-issues",
  "arguments": {
    "jql": "project = PROJ AND status = Open",
    "maxResults": 25
  }
}

内联凭据示例:

{
  "name": "jira-search-issues",
  "arguments": {
    "jiraUrl": "https://your-domain.atlassian.net",
    "email": "user@example.com",
    "apiToken": "your-api-token",
    "jql": "project = PROJ AND status = Open",
    "maxResults": 25
  }
}

吉拉得到问题

获取有关特定JIRA问题的详细信息。

参数:

  • jiraUrl (可选):JIRA实例URL。如果未提供,则使用配置的值。
  • email (可选):用于身份验证的用户电子邮件。如果未提供,则使用配置值。
  • apiToken (可选):JIRA API令牌。如果未提供,则使用配置值。
  • issueKey (必填):发布密钥(例如“PROJ-123”)

配置示例:

{
  "name": "jira-get-issue",
  "arguments": {
    "issueKey": "PROJ-123"
  }
}

吉拉制造问题

在指定项目中创建新的JIRA问题。

参数:

  • jiraUrl (可选):JIRA实例URL。如果未提供,则使用配置的值。
  • email (可选):用于身份验证的用户电子邮件。如果未提供,则使用配置值。
  • apiToken (可选):JIRA API令牌。如果未提供,则使用配置值。
  • projectKey (必填):项目密钥(例如“PROJ”)
  • issueType (必填):问题类型(例如,“Bug”、“任务”、“故事”)
  • summary (必填):问题摘要/标题
  • description (可选):详细说明

配置示例:

{
  "name": "jira-create-issue",
  "arguments": {
    "projectKey": "PROJ",
    "issueType": "Bug",
    "summary": "Fix login page error",
    "description": "Users are unable to login when using special characters"
  }
}

汇流工具

汇流搜索页面

使用CQL(汇流查询语言)搜索汇流页面。

参数:

  • confluenceUrl (可选):汇流实例URL(例如,“https://your-domain.atlassian.net/wiki“)。如果未提供,则使用配置值。
  • email (可选):用于身份验证的用户电子邮件。如果未提供,则使用配置值。
  • apiToken (可选):Confluence API令牌。如果未提供,则使用配置值。
  • cql (必填):CQL查询字符串
  • limit (可选):最大结果数(默认值:25)

配置示例:

{
  "name": "confluence-search-pages",
  "arguments": {
    "cql": "space = DEV AND type = page",
    "limit": 10
  }
}

汇流获取页面

获取有关特定Confluence页面的详细信息。

参数:

  • confluenceUrl (可选):Confluence实例URL。如果未提供,则使用配置的值。
  • email (可选):用于身份验证的用户电子邮件。如果未提供,则使用配置值。
  • apiToken (可选):Confluence API令牌。如果未提供,则使用配置值。
  • pageId (必填):页面ID
  • expand (可选):要展开的字段(默认值:“body.storage,version”)

配置示例:

{
  "name": "confluence-get-page",
  "arguments": {
    "pageId": "123456789"
  }
}

汇流创建页面

在指定空间中创建新的Confluence页面。

参数:

  • confluenceUrl (可选):Confluence实例URL。如果未提供,则使用配置的值。
  • email (可选):用于身份验证的用户电子邮件。如果未提供,则使用配置值。
  • apiToken (可选):Confluence API令牌。如果未提供,则使用配置值。
  • spaceKey (必填):空格键(例如“DEV”)
  • title (必填):页面标题
  • content (必填):Confluence存储格式(HTML)的页面内容
  • parentId (可选):父页ID

配置示例:

{
  "name": "confluence-create-page",
  "arguments": {
    "spaceKey": "DEV",
    "title": "API Documentation",
    "content": "
API Documentation

This page contains API documentation...
"
  }
}

可用资源

分析缓存

缓存Maven项目分析结果,以避免重新运行昂贵的操作。

URI模式: cache://analysis/{projectPath}

例子:

{
  "uri": "cache://analysis//Users/dev/my-maven-project"
}

退货:

  • 缓存分析数据(如果可用)
  • 缓存年龄和过期信息
  • 提示:如果不存在缓存,则运行analyze maven项目

可用提示

sdlc完整工作流程

完成SDLC工作流程,从分析到实现功能或修复错误的文档。

参数:

  • projectPath (必填):Maven项目的路径
  • task (必填):要实现的功能或要修复的错误
  • type (可选):任务类型- featurebugfix (默认值:功能)

例子:

{
  "name": "sdlc-full-workflow",
  "arguments": {
    "projectPath": "/Users/dev/my-maven-project",
    "task": "Add user authentication with JWT",
    "type": "feature"
  }
}

退货: 一个结构化的多阶段工作流程,包括:

  1. 分析(分析师Persona)
  2. 建筑(建筑师Persona)
  3. 实现(开发人员角色)
  4. 测试(测试人员Persona)
  5. 评论(评论者Persona)
  6. 文档(Documentor Persona)

发展

项目结构

sdlc-tools-mcp-server/
├── pom.xml
├── README.md
└── src/
    ├── main/java/com/example/mcp/
    │   ├── SdlcToolsMcpServer.java     # Main entry point
    │   ├── protocol/                   # MCP protocol implementation
    │   │   ├── McpServer.java
    │   │   ├── Transport.java
    │   │   └── StdioTransport.java
    │   ├── clients/                    # HTTP clients for integrations
    │   │   ├── JiraClient.java
    │   │   └── ConfluenceClient.java
    │   ├── tools/                      # Maven tools
    │   │   ├── Tool.java
    │   │   ├── AnalyzeMavenProjectTool.java
    │   │   ├── AnalyzeDependenciesTool.java
    │   │   ├── RunMavenCommandTool.java
    │   │   ├── CodeQualityCheckTool.java
    │   │   ├── GenerateDocumentationTool.java
    │   │   ├── SuggestImplementationTool.java
    │   │   ├── jira/                   # JIRA integration tools
    │   │   │   ├── SearchJiraIssuesTool.java
    │   │   │   ├── GetJiraIssueTool.java
    │   │   │   └── CreateJiraIssueTool.java
    │   │   └── confluence/             # Confluence integration tools
    │   │       ├── SearchConfluencePagesTool.java
    │   │       ├── GetConfluencePageTool.java
    │   │       └── CreateConfluencePageTool.java
    │   ├── resources/                  # MCP resources
    │   │   ├── Resource.java
    │   │   └── AnalysisCacheResource.java
    │   └── prompts/                    # MCP prompts
    │       ├── Prompt.java
    │       └── SdlcWorkflowPrompt.java
    └── test/java/                      # Unit tests

运行测试

mvn test

代码覆盖率

mvn clean verify jacoco:report
open target/site/jacoco/index.html

代码质量

# PMD analysis
mvn pmd:pmd

# Code duplication detection
mvn pmd:cpd

# View reports
open target/site/pmd.html

协议细节

服务器通过stdio实现JSON-RPC 2.0。每条消息都是一行JSON对象。

支持的方法

  • initialize -初始化服务器
  • tools/list -列出可用工具
  • tools/call -调用特定工具
  • resources/list -列出可用资源(v2.0.0+)
  • resources/read -读取特定资源(v2.0.0+)
  • prompts/list -列出可用提示(v2.0.0+)
  • prompts/get -获取带有参数的特定提示(v2.0.0+)

初始化请求

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {}
}

列出工具请求

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}

调用工具请求

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "analyze-maven-project",
    "arguments": {
      "path": "/path/to/project"
    }
  }
}

列表资源请求(v2.0.0+)

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "resources/list",
  "params": {}
}

读取资源请求(v2.0.0+)

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "resources/read",
  "params": {
    "uri": "cache://analysis//path/to/project"
  }
}

列表提示请求(v2.0.0+)

{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "prompts/list",
  "params": {}
}

获取提示请求(v2.0.0+)

{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "prompts/get",
  "params": {
    "name": "sdlc-full-workflow",
    "arguments": {
      "projectPath": "/path/to/project",
      "task": "Add user authentication",
      "type": "feature"
    }
  }
}

故障排除

服务器无法启动

问题: Error: Could not find or load main class

解决方案: 确保您使用的JAR包含依赖项:

java -jar maven-sdlc-mcp-server-*-jar-with-dependencies.jar

Claude Code无法连接

问题: MCP服务器没有响应

解决方案:

  1. 验证中的JAR路径 mcp-settings.json 是绝对的
  2. 检查是否安装了Java 17+: java -version
  3. 手动测试服务器: echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | java -jar server.jar

工具执行失败

问题: “工具执行失败”错误

解决方案:

  1. 验证项目路径是否存在并包含 pom.xml
  2. 检查Maven是否已安装: mvn -version
  3. 查看服务器日志以了解详细的错误消息

贡献

  1. 复刻仓库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 提交更改: git commit -m 'Add amazing feature'
  4. 推送到分支: git push origin feature/amazing-feature
  5. 打开拉取请求

开发指南

  • 遵循Java最佳实践和编码标准
  • 为所有新工具编写单元测试(目标覆盖率>80%)
  • 添加功能时更新文档
  • 使用SDLC角色来指导您的开发过程!

许可证

版权所有©2025。保留所有权利。

支持

  • 文档:参见 .github/mcp/README.md SDLC人物角色
  • 问题:在GitHub上报告问题
  • 讨论:加入讨论以获取问题和反馈

路线图

v2.0.0(已发布)

  • \[x\] MCP资源支持缓存分析结果
  • \[x\] MCP提示支持预定义的SDLC工作流程
  • \[x\] 通过更好的错误代码增强错误处理
  • \[x\] 整个服务器的全面日志记录
  • \[x\] JIRA集成(搜索、获取、创建问题)
  • \[x\] 汇流集成(搜索、获取、创建页面)
  • \[x\] 将项目重命名为SDLC工具(删除了Maven特定的命名)
  • \[x\] 多平台SDLC支持
  • \[x\] 自动生成文档 (JavaDoc分析、自述、API文档、变更日志)

v2.1.0(计划中)

  • \[\]完全PMD集成,用于代码质量检查
  • \[\]依赖冲突解决建议
  • \[\]与SonarQube集成
  • \[\]其他JIRA工具(过渡问题,添加注释)

v2.2.0(计划中)

  • \[\]大型项目的性能优化
  • \[\]WebSocket传输选项
  • \[\]其他工作流提示(调试、重构)
  • \[\]更多资源类型(项目文件、配置)

v3.0.0(未来)

  • \[\]支持Gradle项目
  • \[\]人工智能驱动的代码生成
  • \[\]与CI/CD平台集成
  • \[\]多语言支持(Kotlin、Scala)

______________________________________________________________________

内置于❤️ 更好的人工智能辅助软件开发生命周期管理

目录标签

目录标签

代码分析JavaClaude文档处理软件开发生命周期本地部署项目管理文档管理AI辅助开发

支持客户端

Claude

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP