一体式模型上下文协议: Qdrant、Google套件(Gmail、日历、...)、Jira、GitLab、CLI、...
814 查看 · 2026-07-07 更新
简介
一体式模型上下文协议:
Qdrant、Google套件(Gmail、日历、...)、Jira、GitLab、CLI、...
简介
一体式模型上下文协议:
Qdrant、Google套件(Gmail、日历、...)、Jira、GitLab、CLI、...
项目已迁移
该项目已被拆分并迁移到单独的仓库中。
- Google Kit:用于 Gmail、Google 日历、Google Chat 的工具
- RAG Kit:用于 RAG 和记忆的工具
- Dev Kit:用于开发者的工具,包括 Jira、Confluence、GitLab、GitHub 等
- Fetch Kit:用于抓取和爬取的工具
- Research Kit:用于研究、学术、推理等的工具
MyMCP 服务器
一个强大的模型上下文协议(MCP)服务器实现,集成了 GitLab、Jira、Confluence、YouTube 等服务。该服务器提供了由 AI 驱动的搜索功能及各种开发工作流实用工具。
社区
对于社区支持、讨论和更新,请访问我们的论坛 community.aiocean.io。
先决条件
- Go 1.23.2 或更高版本
- 您想要使用的各项服务所需的 API 密钥和令牌
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 MyMCP 服务器(将引导您完成交互式 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 配置:
{ "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 云聊天机器人。可以请任何大型语言模型为您创建这些。
启用工具
环境变量中有一个隐藏变量 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(字符串) (必填): 事件结束时间,格式为 RFC3339attendees(字符串): 用逗号分隔的参会者电子邮件地址列表
calendar_list_events
列出 Google 日历中的即将发生的事件
参数:
time_min(字符串): 搜索开始时间,格式为 RFC3339(默认:现在)time_max(字符串): 搜索结束时间,格式为 RFC3339(默认:从现在起一周后)max_results(数字): 返回的最大事件数量(默认:10)
calendar_update_event
更新 Google 日历中的现有事件
参数:
event_id(字符串) (必填): 要更新的事件 IDsummary(字符串): 事件的新标题description(字符串): 事件的新描述start_time(字符串): 事件的新开始时间,格式为 RFC3339end_time(字符串): 事件的新结束时间,格式为 RFC3339attendees(字符串): 用逗号分隔的新参会者电子邮件地址列表
calendar_respond_to_event
回应 Google 日历中的事件邀请
参数:
event_id(字符串) (必填): 要回应的事件 IDresponse(字符串) (必填): 您的回应(接受、拒绝或待定)
confluence_search
搜索 Confluence
参数:
query(字符串) (必填): Atlassian Confluence 查询语言 (CQL)
confluence_get_page
获取 Confluence 页面内容
参数:
page_id(字符串) (必填): Confluence 页面 ID
confluence_create_page
创建新的 Confluence 页面
参数:
space_key(字符串) (必填): 将要创建页面的空间键title(字符串) (必填): 页面标题content(字符串) (必填): 页面内容,存储格式为 XHTMLparent_id(字符串): 父页面 ID(可选)
confluence_update_page
更新现有的 Confluence 页面
参数:
page_id(字符串) (必填): 要更新的页面 IDtitle(字符串): 页面的新标题(可选)content(字符串): 页面的新内容,存储格式为 XHTMLversion_number(字符串): 用于乐观锁的版本号(可选)
deepseek_reasoning
使用 Deepseek 的 AI 能力进行多步骤问题解决、关键分析和战略决策支持的高级推理引擎
参数:
question(字符串) (必填): 需要深度分析和推理的结构化查询或问题陈述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 搜索进行网络搜索。这是更新实时信息的最佳工具
参数:
question(字符串) (必需): 要询问的问题。应该是一个问题context(字符串) (必需): 问题的上下文/目的,有助于 Gemini 更好地理解问题
gitlab_list_projects
列出 GitLab 项目
参数:
group_id(字符串) (必需): gitlab 组 IDsearch(字符串): 可以提供多个术语,用转义空格分隔,可以是 + 或 %20,并且将一起进行 AND 操作。例如:one+two 将匹配子字符串 one 和 two(顺序不限)。
gitlab_get_project
获取 GitLab 项目详情
参数:
project_path(字符串) (必需): 项目/仓库路径
gitlab_list_mrs
列出合并请求
参数:
project_path(字符串) (必需): 项目/仓库路径state(字符串) (默认: all): MR 状态 (opened/closed/merged)
gitlab_get_mr_details
获取合并请求详情
参数:
project_path(字符串) (必需): 项目/仓库路径mr_iid(字符串) (必需): 合并请求 IID
gitlab_create_MR_note
在合并请求上创建备注
参数:
project_path(字符串) (必需): 项目/仓库路径mr_iid(字符串) (必需): 合并请求 IIDcomment(字符串) (必需): 备注文本
gitlab_get_file_content
从 GitLab 仓库获取文件内容
参数:
project_path(字符串) (必需): 项目/仓库路径file_path(字符串) (必需): 仓库中的文件路径ref(字符串) (必需): 分支名、标签或提交 SHA
gitlab_list_pipelines
列出 GitLab 项目的流水线
参数:
project_path(字符串) (必需): 项目/仓库路径status(字符串) (默认: all): 流水线状态 (running/pending/success/failed/canceled/skipped/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(字符串) (必填): 合并请求标题description(字符串): 合并请求描述
gmail_search
使用 Gmail 的搜索语法在 Gmail 中搜索邮件
参数:
query(字符串) (必填): Gmail 搜索查询。遵循 Gmail 的搜索语法
gmail_move_to_spam
通过邮件 ID 将特定邮件移动到垃圾邮件文件夹
参数:
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 问题。返回创建的问题的键、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(字符串) (必需): 来自可用转换列表的转换 IDcomment(字符串): 随转换添加的可选评论
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(字符串) (必需): 搜索查询,应为关键词
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(字符串): 执行目录路径 (默认: 用户主目录)。会进行验证以防止未经授权访问系统位置
web_search
使用 Brave Search API 搜索网络
参数:
query(字符串) (必需): 要搜索的查询 (最多 400 个字符,50 个词)count(数字) (默认: 5): 结果数量 (1-20,默认 5)country(字符串) (默认: ALL): 国家代码
sequentialthinking
`一个用于通过思考动态和反思性解决问题的详细工具。 该工具通过一种可以适应和演化的灵活思维过程来帮助分析问题。 每个想法都可以基于、质疑或修改先前的见解,随着理解的加深。
何时使用此工具:
- 将复杂问题分解为步骤
- 规划和设计,留有修改余地
- 可能需要修正方向的分析
- 初始时可能不完全清楚范围的问题
- 需要多步骤解决方案的问题
- 需要在多个步骤中保持上下文的任务
- 需要过滤掉无关信息的情况
主要特点:
- 您可以在进展过程中调整 total_thoughts 的增减
- 您可以质疑或修改先前的想法
- 即使达到了看似终点的地方,您也可以添加更多的想法
- 您可以表达不确定性并探索替代方法
- 不是每个想法都需要线性构建 - 您可以分支或回溯
- 生成解决方案假设
- 基于思维链步骤验证假设
- 重复此过程直到满意
- 提供正确答案
参数说明:
- thought: 您当前的思考步骤,可以包括:
- 常规分析步骤
- 修改先前的想法
- 对先前决定的质疑
- 关于需要更多分析的领悟
- 方法的改变
- 假设生成
- 假设验证
- next_thought_needed: 如果即使在看似终点的地方也需要更多思考,则为 True
- thought_number: 当前序列中的编号 (如果需要,可以超过初始总数)
- total_thoughts: 当前估计所需的想法数量 (可以根据需要上调或下调)
- is_revision: 一个布尔值,表示此想法是否修改了先前的思考
- revises_thought: 如果 is_revision 为 true,则正在重新考虑哪个想法编号
- branch_from_thought: 如果是分支,则分支点是哪个想法编号
- branch_id: 当前分支的标识符(如果有)
- needs_more_thoughts: 如果到达终点但意识到还需要更多想法
你应该:
- 从一个初步的估计开始,但要准备好进行调整
- 不要犹豫去质疑或修改之前的思考
- 如果需要,即使在“最后”也可以添加更多的想法
- 当存在不确定性时表达出来
- 标记出修正了先前思维或开辟新路径的想法
- 忽略与当前步骤无关的信息
- 在适当的时候生成解决方案假设
- 根据思维链步骤验证假设
- 重复这个过程直到对解决方案满意
- 最终输出一个理想的正确答案
- 只有当真正完成且达到满意的答案时才将 next_thought_needed 设置为 false
参数:
thought(字符串)(必需):您当前的思考步骤nextThoughtNeeded(布尔值)(必需):是否需要另一个思考步骤thoughtNumber(数字)(必需):当前思考编号totalThoughts(数字)(必需):预计总共需要的思考次数isRevision(布尔值):这是否修正了以前的思考revisesThought(数字):正在重新考虑哪一个思考branchFromThought(数字):分支点思考编号branchId(字符串):分支标识符needsMoreThoughts(布尔值):如果需要更多的思考
tool_manager
管理MCP工具 - 启用或禁用工具
参数:
action(字符串)(必需):执行的操作:列表、启用、禁用tool_name(字符串):要启用/禁用的工具名称
tool_use_plan
创建使用已激活工具解决请求的计划
参数:
request(字符串)(必需):需要规划的请求context(字符串)(必需):与请求相关的上下文
youtube_transcript
获取YouTube视频字幕
参数:
video_id(字符串)(必需):YouTube视频ID
youtube_update_video
在YouTube上更新视频标题和描述
参数:
video_id(字符串)(必需):要更新的视频IDtitle(字符串)(必需):视频的新标题description(字符串)(必需):视频的新描述keywords(字符串)(必需):以逗号分隔的视频关键词列表category(字符串)(必需):视频的类别ID。更多信息请参见 https://developers.google.com/youtube/v3/docs/videoCategories/list。
youtube_get_video_details
获取特定视频的详细信息(标题、描述等)
参数:
video_id(字符串)(必需):视频ID
youtube_list_videos
列出由用户管理的YouTube视频
参数:
channel_id(字符串)(必需):要列出视频的频道IDmax_results(数字)(必需):返回的最大视频数量