使用说明
Jira MCP服务器
该项目提供了一个FastMCP服务器,用于与Jira API交互。它公开了用于管理Jira项目、问题和用户的各种工具。
可用工具
服务器公开了以下工具:
通用工具
get_projects:从Jira检索所有项目。get_priorities:返回所有可用问题优先级的列表。get_labels:检索Jira中可用的所有标签。get_issue_statuses:检索Jira实例中定义的所有问题状态。get_current_user:检索有关当前经过身份验证的Jira用户的信息。
项目工具
get_project_users:获取与给定Jira项目关联的所有用户。get_project_issues:从Jira获取给定项目的所有问题。get_project_issue_types:检索特定Jira项目可用的所有问题类型。
问题工具
add_issue_labels:向Jira问题添加一个或多个标签。assign_issue:将Jira问题分配给用户。change_issue_description:更改Jira问题的描述。change_issue_environment:更改Jira问题的环境字段。change_issue_labels:用一组新标签替换Jira问题的所有标签。change_issue_parent:更改Jira问题的父级。change_issue_priority:更改Jira问题的优先级。change_issue_reporter:更换Jira问题的记者。change_issue_title:更改Jira问题的摘要/标题。comment_issue:为Jira问题添加评论。create_issue:创建新的Jira问题。delete_issue:删除Jira问题。delete_issues_link:删除两个问题之间的链接。get_available_transitions:检索给定Jira问题的所有可用转换。get_issue:获取特定问题的详细信息。get_issue_creation_metadata:检索特定项目和问题类型的问题创建元数据。get_issue_link_types:返回所有可用问题链接类型的列表。link_issues:将两个问题联系起来。remove_issue_labels:从Jira问题中删除一个或多个标签。transition_issue:将Jira问题转换为新状态。update_issue_duedate:更新Jira问题的到期日期。
码头工人
该项目包括 Dockerfile 在容器中构建和运行MCP服务器。
Dockerfile详解
这 Dockerfile 分多个阶段构建,以优化构建过程并创建一个小而高效的最终图像。
- 基本图像:它以
ghcr.io/astral-sh/uv:python3.13-alpine,附带的轻量级Python映像uv预安装。 - 再进行:然后复制
uv.lock和pyproject.toml使用以下命令文件和安装依赖项uv sync。这利用了Docker的层缓存,因此只有在这些文件发生更改时才会重新安装依赖项。 - 复制源代码:然后将应用程序源代码的其余部分复制到映像中。
- 安装项目:项目本身已安装。
- 集
PATH:ThePATH更新环境变量以包括虚拟环境的bin目录,所以fastmcp可执行文件可以直接运行。 - 入口点:The
ENTRYPOINT设置为使用以下命令运行MCP服务器fastmcp run jira_mcp_server/server.py.
构建Docker镜像
要构建Docker镜像,请从项目的根目录运行以下命令:
docker build -t jira-mcp-server .
运行Docker容器
要运行Docker容器,您需要提供必要的环境变量。您可以通过创建 .env 项目根目录中的文件,内容如下:
JIRA_BASE_URL=https://your-jira-instance.atlassian.net/rest/api/3/
JIRA_USER=your-jira-username
JIRA_API_KEY=your-jira-api-key
REQUESTS_TIMEOUT=30
# Logging configuration
# LOG_LEVEL can be DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# LOG_FILE is the name of the log file. If provided, logs will be written to /app/logs/<LOG_FILE> inside the container.
# If not provided, logs will be sent to stderr.
# LOG_FILE=jira_mcp_server.log
然后,您可以使用默认值运行mcp服务器 stdio 使用以下命令进行传输:
docker run --rm -i --env-file path/to/.env jira-mcp-server
要启用文件日志记录并将日志持久化到容器外部,您需要:
- 未注释和设置
LOG_FILE在你的.env文件(例如。,LOG_FILE=jira_mcp_server.log). - 将本地卷装载到
/app/logs容器内的目录。
例如,将日志存储在名为的本地文件夹中 my_local_logs_folder:
docker run --rm -i --env-file path/to/.env -v my_local_logs_folder:/app/logs jira-mcp-server