小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
59
最近更新:1个月前

🚀 集成 AI 搜索、RAG 和多服务集成(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,用于增强开发工作流程

项目已迁移

该项目已被拆分并迁移到单独的仓库中。

  • Google Kit:用于 Gmail、Google Calendar、Google Chat 的工具
  • RAG Kit:用于 RAG、Memory 的工具
  • Dev Kit:用于开发者的工具,如 Jira、Confluence、GitLab、GitHub 等
  • Fetch Kit:用于抓取、爬取等的工具
  • Research Kit:用于研究、学术、推理等的工具

MyMCP 服务器

smithery 徽章
一个强大的模型上下文协议 (MCP) 服务器实现,集成了 GitLab、Jira、Confluence、YouTube 等服务。该服务器提供 AI 驱动的搜索功能和各种开发工作流工具。

教程

社区

如需社区支持、讨论和更新,请访问我们的论坛 community.aiocean.io

前提条件

  • Go 1.23.2 或更高版本
  • 您要使用的各种服务的 API 密钥和令牌

安装

通过 Smithery 安装

通过 Smithery 自动安装 MyMCP 服务器(将引导您完成交互式 CLI 设置):

bash 复制代码
npx -y @smithery/cli install @nguyenvanduocit/all-in-one-model-context-protocol --client claude

注意:Smithery 将交互式提示您所需的配置值,并自动处理环境设置

通过 Go 安装

  1. 安装服务器:
bash 复制代码
go install github.com/nguyenvanduocit/all-in-one-model-context-protocol@latest
  1. 需要手动设置 - 创建一个包含您的配置的 .env 文件:
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=
  1. 配置您的 Claude 配置文件:
json{claude_desktop_config.json} 复制代码
{
  "mcpServers": {
    "my_mcp_server": {
      "command": "all-in-one-model-context-protocol",
      "args": ["-env", "/path/to/.env"],
    }
  }
}

密钥

GOOGLE_TOKEN_FILE 用于 Google AI,如 Gemini、Google Search、Google Calendar 等。

GOOGLE_CREDENTIALS_FILE 是高级功能的服务帐户,如 Google Chat。您需要在 Google Cloud Console 中创建项目并创建服务帐户。然后还需要为它创建 Google 云聊天机器人。请让任何 LLM 模型为您创建这些。

启用工具

环境变量中有一个隐藏变量 ENABLE_TOOLS。这是一个逗号分隔的工具组列表,用于启用。如果不设置,所有工具都将启用。留空以启用所有工具。

以下是工具组列表:

  • gemini:Gemini 驱动的搜索
  • fetch:抓取工具
  • confluence:Confluence 工具
  • youtube:YouTube 工具
  • jira:Jira 工具
  • gitlab:GitLab 工具
  • script:脚本工具
  • rag:RAG 工具
  • deepseek:Deepseek AI 工具

可用工具

calendar_create_event

在 Google Calendar 中创建新事件

参数:

  • summary (字符串) (必需):事件标题
  • description (字符串):事件描述
  • start_time (字符串) (必需):事件开始时间,格式为 RFC3339(例如,2023-12-25T09:00:00Z)
  • end_time (字符串) (必需):事件结束时间,格式为 RFC3339
  • attendees (字符串):逗号分隔的参会者电子邮件地址列表

calendar_list_events

列出 Google Calendar 中即将发生的事件

参数:

  • time_min (字符串):搜索的开始时间,格式为 RFC3339(默认:现在)
  • time_max (字符串):搜索的结束时间,格式为 RFC3339(默认:从现在起一周后)
  • max_results (数字):返回的最大事件数量(默认:10)

calendar_update_event

更新 Google Calendar 中现有的事件

参数:

  • event_id (字符串) (必需):要更新的事件 ID
  • summary (字符串):事件的新标题
  • description (字符串):事件的新描述
  • start_time (字符串):事件的新开始时间,格式为 RFC3339
  • end_time (字符串):事件的新结束时间,格式为 RFC3339
  • attendees (字符串):逗号分隔的新参会者电子邮件地址列表

calendar_respond_to_event

响应 Google Calendar 中的事件邀请

参数:

  • event_id (字符串) (必需):要响应的事件 ID
  • response (字符串) (必需):您的响应(接受、拒绝或暂定)

搜索 Confluence

参数:

  • query (字符串) (必需):Atlassian Confluence 查询语言 (CQL)

confluence_get_page

获取 Confluence 页面内容

参数:

  • page_id (字符串) (必需):Confluence 页面 ID

confluence_create_page

创建新的 Confluence 页面

参数:

  • space_key (字符串) (必需):页面将被创建的空间的键
  • title (字符串) (必需):页面标题
  • content (字符串) (必需):页面内容,存储格式 (XHTML)
  • parent_id (字符串):父页面的 ID(可选)

confluence_update_page

更新现有的 Confluence 页面

参数:

  • page_id (字符串) (必需):要更新的页面 ID
  • title (字符串):页面的新标题(可选)
  • content (字符串):页面的新内容,存储格式 (XHTML)
  • version_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 (字符串) (必需):要发送的文本消息

使用 Google AI Search 搜索网络。最佳工具用于实时信息更新

参数:

  • 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 状态(opened/closed/merged)

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):流水线状态(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 的搜索语法搜索邮件

参数:

  • 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 Query Language) 搜索 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 (字符串) (必需):来自可用转换列表的转换 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

列出内存中的所有向量集合

基于查询在集合中搜索内存

参数:

  • 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 (字符串):执行目录路径(默认:用户主目录)。验证以防止未经授权访问系统位置

使用 Brave Search API 搜索网络

参数:

  • query (字符串) (必需):要搜索的查询(最大 400 个字符,50 个单词)
  • count (数字) (默认:5):结果数量(1-20,默认 5)
  • country (字符串) (默认:ALL):国家代码

sequentialthinking

`用于动态和反思性问题解决的详细工具。
此工具通过灵活的思维过程帮助分析问题,该过程可以适应和发展。
每个想法都可以建立、质疑或修改先前的见解,随着理解的加深。

何时使用此工具:

  • 将复杂问题分解成步骤
  • 具有修订空间的规划和设计
  • 可能需要调整方向的分析
  • 最初可能不清楚全部范围的问题
  • 需要多步骤解决方案的问题
  • 需要在多个步骤中保持上下文的任务
  • 需要过滤掉无关信息的情况

主要功能:

  • 您可以根据进展调整 total_thoughts 的增减
  • 您可以质疑或修改先前的想法
  • 即使达到了看似终点的地方,也可以添加更多想法
  • 您可以表达不确定性并探索替代方法
  • 并非每个想法都需要线性构建 - 您可以分支或回溯
  • 生成解决方案假设
  • 基于 Chain of Thought 步骤验证假设
  • 重复此过程直到满意
  • 提供正确答案

参数说明:

  • thought:您的当前思考步骤,可以包括:
    • 常规分析步骤
    • 修改先前的想法
    • 对先前决定的质疑
    • 关于需要更多分析的认识
    • 方法的改变
    • 假设生成
    • 假设验证
  • nextThoughtNeeded:如果需要更多思考,即使是在看似终点的地方
  • thoughtNumber:当前序列编号(如果需要,可以超出初始总数)
  • totalThoughts:当前估计的所需想法数量(可以增减)
  • isRevision:布尔值,表示此想法是否修改了先前的思考
  • revisesThought:如果 isRevision 为真,正在重新考虑哪个想法编号
  • branchFromThought:如果分支,哪个想法编号是分支点
  • branchId:当前分支的标识符(如果有)
  • needsMoreThoughts:如果到达终点但意识到需要更多想法

您应该:

  1. 从对所需想法的初步估计开始,但准备好调整
  2. 不妨质疑或修改先前的想法
  3. 如果需要,即使在“结尾”处也不要犹豫添加更多想法
  4. 在存在不确定性时表达出来
  5. 标记修改先前想法或分支到新路径的想法
  6. 忽略与当前步骤无关的信息
  7. 在适当的时候生成解决方案假设
  8. 基于 Chain of Thought 步骤验证假设
  9. 重复此过程直到对解决方案满意
  10. 提供单一的、理想正确的答案作为最终输出
  11. 仅在真正完成并且达到满意的答案时将 nextThoughtNeeded 设置为 false`

参数:

  • thought (字符串) (必需):您的当前思考步骤
  • nextThoughtNeeded (布尔值) (必需):是否需要另一个思考步骤
  • thoughtNumber (数字) (必需):当前思考编号
  • totalThoughts (数字) (必需):估计的总思考数量
  • isRevision (布尔值):是否修改了先前的思考
  • revisesThought (数字):正在重新考虑哪个想法编号
  • branchFromThought (数字):分支点的想法编号
  • branchId (字符串):分支标识符
  • needsMoreThoughts (布尔值):是否需要更多思考

tool_manager

管理 MCP 工具 - 启用或禁用工具

参数:

  • action (字符串) (必需):要执行的操作:list, enable, disable
  • tool_name (字符串):要启用/禁用的工具名称

tool_use_plan

创建激活工具的使用计划以解决问题

参数:

  • request (字符串) (必需):需要制定计划的要求
  • context (字符串) (必需):与要求相关的上下文

youtube_transcript

获取 YouTube 视频字幕

参数:

  • video_id (字符串) (必需):YouTube 视频 ID

youtube_update_video

在 YouTube 上更新视频的标题和描述

参数:

  • video_id (字符串) (必需):要更新的视频 ID
  • title (字符串) (必需):视频的新标题
  • 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 (字符串) (必需):要列出视频的频道 ID
  • max_results (数字) (必需):要返回的最大视频数量