具有 AI 搜索、RAG 和多服务集成 (GitLab/Jira/Confluence) 的一体化 MCP 服务器,用于 AI 增强的开发工作流(程序包)
一、 MyMCP 服务器介绍
文末提供源码和程序包
一个强大的模型上下文协议 (MCP) 服务器实现,集成了 GitLab、Jira、Confluence、YouTube 等。此服务器提供 AI 驱动的搜索功能和用于开发工作流的各种实用工具。
二、先决条件
Go 1.23.2 或更高版本
您要使用的服务的各种 API 密钥和令牌
安装
通过 Smithery 安装
要通过 Smithery 自动安装 MyMCP Server for Claude Desktop(将指导您完成交互式 CLI 设置):
npx -y @smithery/cli install @nguyenvanduocit/all-in-one-model-context-protocol --client claude
注意:Smithery 将以交互方式提示您输入所需的配置值并自动处理环境设置
通过 Go 安装
安装服务器:
go install github.com/nguyenvanduocit/all-in-one-model-context-protocol@latest
需要手动设置 - 使用您的配置创建 .env 文件:
ENABLE_TOOLS=
QDRANT_HOST=
ATLASSIAN_HOST=
ATLASSIAN_EMAIL=
GITLAB_HOST=
GITLAB_TOKEN=
BRAVE_API_KEY=
ATLASSIAN_TOKEN=
GOOGLE_AI_API_KEY=
PROXY_URL=
OPENAI_API_KEY=
DEEPSEEK_API_KEY=
QDRANT_PORT=
GOOGLE_TOKEN_FILE=
GOOGLE_CREDENTIALS_FILE=
QDRANT_API_KEY=
配置你的 claude's config:
{
"mcpServers": {
"my_mcp_server": {
"command": "all-in-one-model-context-protocol",
"args": ["-env", "/path/to/.env"],
}
}
}
秘密
GOOGLE_TOKEN_FILE 用于 Google AI,如 Gemini、Google 搜索、Google 日历等。
GOOGLE_CREDENTIALS_FILE 是 Google Chat 等高级功能的服务帐户。您需要在 Google Cloud Console 中创建项目并创建服务帐户。然后还需要为其创建 Google Cloud bot Chat。请任何LLM模型为您创建这些。
启用工具
环境变量中有一个隐藏变量 ENABLE_TOOLS 。它是一个逗号分隔的工具组列表,用于启用。如果未设置,则将启用所有工具。将其留空以启用所有工具。
以下是工具组的列表:
gemini : Gemini 驱动的搜索
fetch :获取工具
confluence :Confluence 工具
youtube : YouTube 工具
jira : Jira 工具
gitlab : GitLab 工具
script : 脚本工具
rag : RAG 工具
deepseek : Deepseek AI 工具
可用工具
calendar_create_event
在 Google 日历中创建新活动
参数:
summary (字符串)(必需):事件的标题
description (字符串):事件描述
start_time (字符串)(必填):RFC3339格式的活动开始时间(例如,2023-12-25T09:00:00Z)
end_time (String) (必需):RFC3339 格式的事件结束时间
attendees (字符串):以逗号分隔的与会者电子邮件地址列表
calendar_list_events
在 Google 日历中列出即将发生的活动
参数:
time_min (字符串):以 RFC3339 格式进行搜索的开始时间(默认值:now)
time_max (字符串):以 RFC3339 格式进行搜索的结束时间(默认值:从现在起 1 周)
max_results (Number):要返回的最大事件数(默认值:10)
calendar_update_event
在 Google 日历中更新现有活动
参数:
event_id (String) (必填):要更新的事件的 ID
summary (字符串):事件的新标题
description (字符串):事件的新描述
start_time (字符串):RFC3339 格式的事件的新开始时间
end_time (字符串):RFC3339格式的事件的新结束时间
attendees (字符串):以逗号分隔的新与会者电子邮件地址列表
calendar_respond_to_event
在 Google 日历中回复活动邀请
参数:
event_id (String) (必需):要响应的事件的 ID
response (字符串)(必填):您的响应(已接受、已拒绝或暂定)
confluence_search
搜索 Confluence
参数:
query (字符串)(必需):Atlassian Confluence 查询语言 (CQL)
confluence_get_page
获取 Confluence 页面内容
参数:
page_id (字符串) (必需):Confluence 页面 ID
confluence_create_page
创建新的 Confluence 页面
参数:
space_key (String) (必需):将在其中创建页面的空间的键
title (字符串)(必需):页面标题
content (字符串)(必需):存储格式 (XHTML) 的页面内容
parent_id (字符串):父页面的 ID(可选)
confluence_update_page
更新现有的 Confluence 页面
参数:
page_id (字符串)(必需):要更新的页面的 ID
title (字符串):页面的新标题(可选)
content (字符串):存储格式 (XHTML) 的页面的新内容
version_number (字符串):乐观锁定的版本号(可选)
deepseek_reasoning
使用 Deepseek 的 AI 功能的高级推理引擎,用于多步骤问题解决、批判性分析和战略决策支持
参数:
question (String)(必需):需要深入分析和推理的结构化查询或问题陈述
context (字符串)(必需):定义 MCP 生态系统中查询的作上下文和目的
knowledge (字符串):提供相关的聊天历史记录、知识库条目和结构化数据上下文,用于 MCP 感知推理
get_web_content
从给定的 HTTP/HTTPS URL 获取内容。此工具允许您从网页、API 或任何可访问的 HTTP 端点检索文本内容。以文本形式返回原始内容。
参数:
url (字符串)(必需):要从中获取内容的完整 HTTP/HTTPS URL(例如,https://example.com)
gchat_list_spaces
列出所有可用的 Google Chat 聊天室/聊天室
gchat_send_message
向 Google Chat 聊天室或私信发送消息
参数:
space_name (字符串)(必填):要将消息发送到的空间的名称
message (字符串) (必填):要发送的文本消息
ai_web_search
使用 Google AI 搜索搜索 Web。更新实时信息的最佳工具
参数:
question (字符串)(必需):要询问的问题。应该是一个问题
context (字符串)(必填):问题的上下文/目的,帮助 Gemini 更好地理解问题
gitlab_list_projects
列出 GitLab 项目
参数:
group_id (字符串)(必需):gitlab 群组 ID
search (字符串):可以提供多个术语,用转义空格 + 或 %20 分隔,并将一起进行 AND 运算。示例:one+two 将匹配子字符串 one 和 two(以任意顺序)。
gitlab_get_project
获取 GitLab 项目详细信息
参数:
project_path (字符串)(必需):项目/存储库路径
gitlab_list_mrs
列出合并请求
参数:
project_path (字符串)(必需):项目/存储库路径
state (字符串)(默认值:all):MR 状态(打开/关闭/合并)
gitlab_get_mr_details
获取合并请求详细信息
参数:
project_path (字符串)(必需):项目/存储库路径
mr_iid (字符串) (必填):合并请求 IID
gitlab_create_MR_note
在合并请求上创建注释
参数:
project_path (字符串)(必需):项目/存储库路径
mr_iid (字符串) (必填):合并请求 IID
comment (字符串) (必填):注释文本
gitlab_get_file_content
从 GitLab 仓库获取文件内容
参数:
project_path (字符串)(必需):项目/存储库路径
file_path (字符串)(必需):存储库中文件的路径
ref (字符串)(必需):分支名称、标签或提交 SHA
gitlab_list_pipelines
列出 GitLab 项目的管道
参数:
project_path (字符串)(必需):项目/存储库路径
status (字符串)(默认值:all):管道状态(正在运行/待定/成功/失败/已取消/已跳过/全部)
gitlab_list_commits
列出日期范围内 GitLab 项目中的提交
参数:
project_path (字符串)(必需):项目/存储库路径
since (字符串)(必需):开始日期 (YYYY-MM-DD)
until (字符串):结束日期 (YYYY-MM-DD)。如果未提供,则默认为当前日期
ref (字符串)(必需):分支名称、标签或提交 SHA
gitlab_get_commit_details
获取提交的详细信息
参数:
project_path (字符串)(必需):项目/存储库路径
commit_sha (字符串)(必需):提交 SHA
gitlab_list_user_events
列出日期范围内的 GitLab 用户事件
参数:
username (字符串)(必填):极狐GitLab 用户名
since (字符串)(必需):开始日期 (YYYY-MM-DD)
until (字符串):结束日期 (YYYY-MM-DD)。如果未提供,则默认为当前日期
gitlab_list_group_users
列出 GitLab 群组中的所有用户
参数:
group_id (字符串)(必填):极狐GitLab 群组 ID
gitlab_create_mr
创建新的合并请求
参数:
project_path (字符串)(必需):项目/存储库路径
source_branch (字符串)(必需):源分支名称
target_branch (字符串)(必需):目标分支名称
title (String) (必填):合并请求标题
description (字符串):合并请求描述
gmail_search
使用 Gmail 的搜索语法在 Gmail 中搜索电子邮件
参数:
query (字符串)(必需):Gmail 搜索查询。遵循 Gmail 的搜索语法
gmail_move_to_spam
按邮件 ID 将特定电子邮件移动到 Gmail 中的垃圾邮件文件夹
参数:
message_ids (字符串)(必需):要移至垃圾邮件的邮件 ID 的逗号分隔列表
gmail_create_filter
创建具有指定条件和作的 Gmail 过滤器
参数:
from (字符串):过滤来自此发件人的电子邮件
to (字符串):筛选发送给此收件人的电子邮件
subject (字符串):过滤具有此主题的电子邮件
query (字符串):其他搜索查询条件
add_label (布尔值):为匹配的邮件添加标签
label_name (字符串):要添加的标签的名称(如果 add_label 为 true,则需要)
mark_important (布尔值):将匹配的邮件标记为重要
mark_read (布尔值):将匹配的邮件标记为已读
archive (布尔值):存档匹配的邮件
gmail_list_filters
列出帐户中的所有 Gmail 过滤器
gmail_list_labels
列出帐户中的所有 Gmail 标签
gmail_delete_filter
按 ID 删除 Gmail 过滤器
参数:
filter_id (字符串)(必需):要删除的筛选器的 ID
gmail_delete_label
按 ID 删除 Gmail 标签
参数:
label_id (字符串)(必需):要删除的标签的 ID
jira_get_issue
检索有关特定 Jira 问题的详细信息,包括其状态、受理人、描述、子任务和可用过渡
参数:
issue_key (字符串)(必需):Jira 问题的唯一标识符(例如,KP-2、PROJ-123)
jira_search_issue
使用 JQL(Jira 查询语言)搜索 Jira 问题。返回关键详细信息,如摘要、状态、受理人和匹配问题的优先级
参数:
jql (字符串)(必需):JQL 查询字符串(例如,'project = KP AND status = “In Progress”')
jira_list_sprints
列出特定 Jira 看板的所有活动和未来冲刺,包括冲刺 ID、名称、状态和日期
参数:
board_id (字符串)(必需):Jira 看板的数字 ID(可在看板 URL 中找到)
jira_create_issue
创建具有指定详细信息的新 Jira 问题。返回已创建 Issue 的 key、ID 和 URL
参数:
project_key (字符串)(必填):将在其中创建议题的项目标识符(例如,KP、PROJ)
summary (字符串)(必需):问题的简要标题或标题
description (字符串) (必需):问题的详细说明
issue_type (字符串)(必需):要创建的问题类型(常见类型:Bug、Task、Story、Epic)
jira_update_issue
修改现有 Jira 问题的详细信息。支持部分更新 - 仅更改指定的字段
参数:
issue_key (字符串)(必需):要更新的议题的唯一标识符(例如,KP-2)
summary (字符串):问题的新标题(可选)
description (字符串):问题的新描述 (可选)
jira_list_statuses
检索特定 Jira 项目的所有可用问题状态 ID 及其名称
参数:
project_key (字符串)(必填):项目标识符(例如 KP、PROJ)
jira_transition_issue
使用有效的过渡 ID 通过其工作流程过渡议题。从 jira_get_issue 获取可用的过渡
参数:
issue_key (字符串)(必需):要过渡的议题(例如 KP-123)
transition_id (字符串)(必需):可用转移列表中的转移 ID
comment (字符串):使用过渡添加的可选注释
RAG_memory_index_content
将内容索引到内存中,可以插入或更新
参数:
collection (字符串)(必需):内存集合名称
filePath (字符串)(必需):内容文件路径
payload (字符串)(必需):纯文本负载
RAG_memory_index_file
将本地文件索引到内存中
参数:
collection (字符串)(必需):内存集合名称
filePath (字符串)(必需):要编制索引的本地文件的路径
RAG_memory_create_collection
在内存中创建新的矢量集合
参数:
collection (字符串)(必需):内存集合名称
RAG_memory_delete_collection
删除内存中的向量集合
参数:
collection (字符串)(必需):内存集合名称
RAG_memory_list_collections
列出内存中的所有向量集合
RAG_memory_search
根据查询在集合中搜索内存
参数:
collection (字符串)(必需):内存集合名称
query (String) (必填):搜索查询,应为关键字
RAG_memory_delete_index_by_filepath
通过 filePath 删除向量索引
参数:
collection (字符串)(必需):内存集合名称
filePath (字符串) (必填):要删除的本地文件的路径
execute_comand_line_script
在用户系统上安全地执行命令行脚本,但有安全限制。具有沙盒执行、超时保护和输出捕获功能。支持具有自动环境检测功能的跨平台脚本。
参数:
content (字符串) (必需):
interpreter (字符串)(默认值:/bin/sh):解释器二进制文件的路径(例如 /bin/sh、/bin/bash、/usr/bin/python cmd.exe)。根据允许列表进行安全验证
working_dir (String):执行目录路径(默认:用户 home)。经过验证,可防止对系统位置的未经授权的访问
web_search
使用 Brave Search API 搜索 Web
参数:
query (字符串)(必需):要搜索的查询(最多 400 个字符,50 个单词)
count (数字)(默认值:5):结果数(1-20,默认值 5)
country (字符串)(默认值:ALL):国家/地区代码
顺序思维
“一个通过思想动态和反思性地解决问题的详细工具。该工具通过灵活的思维过程帮助分析问题,该过程可以适应和发展。随着理解的加深,每个想法都可以建立、质疑或修改以前的见解。
何时使用此工具:
将复杂问题分解为步骤
规划和设计,有修改空间
可能需要更正路线的分析
最初可能不清楚完整范围的问题
需要多步骤解决方案的问题
需要在多个步骤中维护上下文的任务
需要筛选出不相关信息的情况
主要特点:
您可以随着进度向上或向下调整total_thoughts
您可以质疑或修改之前的想法
即使在似乎到达终点之后,您也可以添加更多想法
您可以表达不确定性并探索替代方法
并非每个想法都需要线性构建 - 您可以分支或回溯
生成解决方案假设
根据 Chain of Thought 步骤验证假设
重复该过程,直到满意为止
提供正确答案
参数说明:
thought:您当前的思考步骤,可以包括:
常规分析步骤
对先前想法的修订
关于先前决定的问题
关于需要更多分析的意识
方法的改变
假设验证生成
假设验证
next_thought_needed:如果你需要更多的思考,那就好了,即使看起来已经到了最后
thought_number:序列中的当前数字(如果需要,可以超过初始总数)
total_thoughts:当前所需想法的估计值(可以上/下调整)
is_revision:一个布尔值,表示这个想法是否修正了之前的想法
revises_thought:如果 is_revision 是真的,那么正在重新考虑哪个 thought number
branch_from_thought:如果是分支,哪个 thought number 是分支点
branch_id:当前分支的标识符(如果有)
needs_more_thoughts:如果到达终点但需要更多思考
您应该:
从初步估计所需想法开始,但要准备好进行调整
随意质疑或修改之前的想法
如果需要,不要犹豫添加更多想法,即使是在 “end”
表示存在不确定性
标记修改先前想法或分支到新路径的想法
忽略与当前步骤无关的信息
在适当时生成解决方案假设
根据 Chain of Thought 步骤验证假设
重复该过程,直到对解决方案满意为止
提供一个理想的正确答案作为最终输出
仅当真正完成并得到满意的答案时,才将 next_thought_needed 设置为 false”
参数:
thought (字符串) (必填):您当前的思考步骤
nextThoughtNeeded (布尔值)(必需):是否需要另一个思考步骤
thoughtNumber (数字) (必填):当前思维数
totalThoughts (数量)(必填):估计所需的总思考次数
isRevision (布尔):这是否修正了以前的思维
revisesThought (数字):正在重新考虑哪个想法
branchFromThought (数字):分支点思想数
branchId (字符串):分支标识符
needsMoreThoughts (布尔值):如果需要更多思考
tool_manager
管理 MCP 工具 - 启用或禁用工具
参数:
action (字符串)(必需):要执行的作:列出、启用、禁用
tool_name (字符串):要启用/禁用的工具名称
tool_use_plan
创建计划以使用活动工具解决请求
参数:
request (字符串) (必需):需要规划
context (String) (必需):与请求相关的上下文
文件下载地址:https://pan.quark.cn/s/fc7ce31bfe60
本文信息均来源于作者GitHub作者地址

浙公网安备 33010602011771号