mcpField
T
THE PROJECT IS MOVED

THE PROJECT IS MOVED

本地服务
youtube.com记忆与知识10787 周前更新

关于 THE PROJECT IS MOVED

该仓库已迁移,原为一个集成 GitLab、Jira、Confluence、YouTube 等服务的 MCP 服务。README 说明项目已拆分为多个独立仓库,本条目保留原有工具分组与配置信息。适合查看既有配置或迁移方向的用户。

主要功能

  1. 01按工具分组启用的 ENABLE_TOOLS 配置
  2. 02GitLab 与 Jira 相关工具
  3. 03Confluence 页面的搜索与编辑
  4. 04Google Calendar 与 Gmail 相关工具

适用场景

  1. 01查询与评论 GitLab 合并请求
  2. 02搜索与更新 Confluence 页面
  3. 03通过 JQL 检索 Jira 工单

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 GitLab、Jira、Confluence、Google 等服务的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"all-in-one-model-context-protocol": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

项目已迁移

项目已拆分并迁移到各个独立仓库。

  • Google Kit:Gmail、Google Calendar、Google Chat 工具
  • RAG Kit:RAG、Memory 工具
  • Dev Kit:面向开发者的工具,包括 jira、confluence、gitlab、github 等
  • Fetch Kit:抓取、爬取等工具
  • Research Kit:研究、学术、推理等工具

MyMCP Server

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

教程

社区

如需社区支持、参与讨论和获取最新动态,请访问我们的论坛:community.aiocean.io。

先决条件

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

安装

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 MyMCP Server(将通过交互式 CLI 设置引导你完成安装):

npx -y @smithery/cli install @nguyenvanduocit/all-in-one-model-context-protocol --client claude

注意:Smithery 会通过交互方式提示你输入所需的配置值,并自动处理环境设置。

通过 Go 安装
  1. 安装服务:
go install github.com/nguyenvanduocit/all-in-one-model-context-protocol@latest
  1. 需要手动设置 - 创建包含配置的 .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 的设置:
{
  "mcpServers": {
    "my_mcp_server": {
      "command": "all-in-one-model-context-protocol",
      "args": ["-env", "/path/to/.env"],
    }
  }
}

密钥

GOOGLE_TOKEN_FILE 用于 Gemini、Google Search、Google Calendar 等 Google AI 服务。

GOOGLE_CREDENTIALS_FILE 是用于 Google Chat 等高级功能的服务账号。你需要在 Google Cloud Console 中创建项目和服务账号,然后还需要为其创建 Google Cloud 聊天机器人。可以让任意大模型帮你完成这些操作。

启用工具

环境变量中有一个隐藏变量 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(String)(必填):事件标题
  • description(String):事件描述
  • start_time(String)(必填):事件开始时间,采用 RFC3339 格式(例如:2023-12-25T09:00:00Z)
  • end_time(String)(必填):事件结束时间,采用 RFC3339 格式
  • attendees(String):以逗号分隔的参会者电子邮件地址列表
calendar_list_events

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

参数:

  • time_min(String):搜索的开始时间,采用 RFC3339 格式(默认:现在)
  • time_max(String):搜索的结束时间,采用 RFC3339 格式(默认:从现在起 1 周)
  • max_results(Number):要返回的事件最大数量(默认:10)
calendar_update_event

更新 Google Calendar 中的现有活动

参数:

  • event_id(String)(必填):要更新的活动 ID
  • summary(String):活动的新标题
  • description(String):活动的新描述
  • start_time(String):活动的新开始时间,采用 RFC3339 格式
  • end_time(String):活动的新结束时间,采用 RFC3339 格式
  • attendees(String):新的参与者邮箱地址列表,以逗号分隔
calendar_respond_to_event

回复 Google Calendar 中的活动邀请

参数:

  • event_id(String)(必填):要回复的活动 ID
  • response(String)(必填):你的回复(accepted、declined 或 tentative)
confluence_search

搜索 Confluence

参数:

  • query(String)(必填):Atlassian Confluence 查询语言(CQL)
confluence_get_page

获取 Confluence 页面内容

参数:

  • page_id(String)(必填):Confluence 页面 ID
confluence_create_page

创建新的 Confluence 页面

参数:

  • space_key(String)(必填):要创建页面的空间键
  • title(String)(必填):页面标题
  • content(String)(必填):采用存储格式(XHTML)的页面内容
  • parent_id(String):父页面 ID(可选)
confluence_update_page

更新现有 Confluence 页面

参数:

  • page_id(String)(必填):要更新的页面 ID
  • title(String):页面的新标题(可选)
  • content(String):采用存储格式(XHTML)的页面新内容
  • version_number(String):用于乐观锁定的版本号(可选)
deepseek_reasoning

利用 Deepseek 的 AI 能力,为多步骤问题解决、批判性分析和战略决策支持提供高级推理引擎

参数:

  • question(String)(必填):需要深入分析和推理的结构化查询或问题陈述
  • context(String)(必填):定义 MCP 生态系统中查询的运行环境和目的
  • knowledge(String):提供相关聊天记录、知识库条目和结构化数据上下文,以支持具备 MCP 感知能力的推理
get_web_content

从给定的 HTTP/HTTPS URL 获取内容。此工具可检索网页、API 或任何可访问 HTTP 端点中的文本内容,并以文本形式返回原始内容。

参数:

gchat_list_spaces

列出所有可用的 Google Chat 空间/聊天室

gchat_send_message

向 Google Chat 空间或私信发送消息

参数:

  • space_name(String)(必填):要发送消息的空间名称
  • message(String)(必填):要发送的文本消息
ai_web_search

使用 Google AI Search 搜索网页。用于获取实时信息的最佳工具

参数:

  • question(String)(必填):要提问的问题。应为疑问句
  • context(String)(必填):问题的上下文/目的,可帮助 Gemini 更好地理解问题
gitlab_list_projects

列出 GitLab 项目

参数:

  • group_id(String)(必填):gitlab 组 ID
  • search(String):可提供多个词语,以转义空格分隔;空格可用 + 或 %20 表示,词语之间按 AND 关系匹配。例如,one+two 将匹配包含 one 和 two 子串的内容(顺序不限)。
gitlab_get_project

获取 GitLab 项目详情

参数:

  • project_path(String)(必填):项目/仓库路径
gitlab_list_mrs

列出合并请求

参数:

  • project_path(String)(必填):项目/仓库路径
  • state(String)(默认值:all):MR 状态(opened/closed/merged)
gitlab_get_mr_details

获取合并请求详情

参数:

  • project_path(String)(必填):项目/仓库路径
  • mr_iid(String)(必填):合并请求 IID
gitlab_create_MR_note

在合并请求中创建备注

参数:

  • project_path(String)(必需):项目/仓库路径
  • mr_iid(String)(必需):合并请求 IID
  • comment(String)(必需):评论内容
gitlab_get_file_content

获取 GitLab 仓库中的文件内容

参数:

  • project_path(String)(必需):项目/仓库路径
  • file_path(String)(必需):仓库中的文件路径
  • ref(String)(必需):分支名称、标签或提交 SHA
gitlab_list_pipelines

列出 GitLab 项目的流水线

参数:

  • project_path(String)(必需):项目/仓库路径
  • status(String)(默认值:all):流水线状态(running/pending/success/failed/canceled/skipped/all)
gitlab_list_commits

列出 GitLab 项目在指定日期范围内的提交

参数:

  • project_path(String)(必需):项目/仓库路径
  • since(String)(必需):开始日期(YYYY-MM-DD)
  • until(String):结束日期(YYYY-MM-DD)。如果未提供,默认为当前日期
  • ref(String)(必需):分支名称、标签或提交 SHA
gitlab_get_commit_details

获取提交详情

参数:

  • project_path(String)(必需):项目/仓库路径
  • commit_sha(String)(必需):提交 SHA
gitlab_list_user_events

列出 GitLab 用户在指定日期范围内的活动

参数:

  • username(String)(必需):GitLab 用户名
  • since(String)(必需):开始日期(YYYY-MM-DD)
  • until(String):结束日期(YYYY-MM-DD)。如果未提供,默认为当前日期
gitlab_list_group_users

列出 GitLab 群组中的所有用户

参数:

  • group_id(String)(必需):GitLab 群组 ID
gitlab_create_mr

创建新的合并请求

参数:

  • project_path(String)(必需):项目/仓库路径
  • source_branch(String)(必需):源分支名称
  • target_branch(String)(必需):目标分支名称
  • title(String)(必需):合并请求标题
  • description(String):合并请求描述
gmail_search

使用 Gmail 的搜索语法搜索电子邮件

参数:

  • query(String)(必需):Gmail 搜索查询。请遵循 Gmail 的搜索语法
gmail_move_to_spam

根据邮件 ID 将指定邮件移至 Gmail 垃圾邮件文件夹

参数:

  • message_ids(String)(必需):要移至垃圾邮件的邮件 ID 列表,以逗号分隔
gmail_create_filter

根据指定条件和操作创建 Gmail 过滤器

参数:

  • from(String):筛选来自此发件人的邮件
  • to(String):筛选发给此收件人的邮件
  • subject(String):筛选主题为此内容的邮件
  • query(String):其他搜索查询条件
  • add_label(Boolean):为匹配的邮件添加标签
  • label_name(String):要添加的标签名称(如果 add_label 为 true,则必填)
  • mark_important(Boolean):将匹配的邮件标记为重要
  • mark_read(Boolean):将匹配的邮件标记为已读
  • archive(Boolean):将匹配的邮件归档
gmail_list_filters

列出账号中的所有 Gmail 过滤器

gmail_list_labels

列出账号中的所有 Gmail 标签

gmail_delete_filter

根据 ID 删除 Gmail 过滤器

参数:

  • filter_id(String)(必需):要删除的过滤器 ID
gmail_delete_label

根据 ID 删除 Gmail 标签

参数:

  • label_id(String)(必需):要删除的标签 ID
jira_get_issue

检索特定 Jira 问题的详细信息,包括其状态、经办人、描述、子任务和可用的状态转换

参数:

  • issue_key(String)(必需):Jira 问题的唯一标识符(例如,KP-2、PROJ-123)
jira_search_issue

使用 JQL(Jira 查询语言)搜索 Jira 问题。返回匹配问题的摘要、状态、经办人和优先级等关键信息

参数:

  • jql(String)(必需):JQL 查询字符串(例如,'project = KP AND status = "In Progress"')
jira_list_sprints

列出特定 Jira 看板的所有活跃和未来冲刺,包括冲刺 ID、名称、状态和日期

Arguments:

  • board_id (String) (Required):Jira 看板的数字 ID(可在看板 URL 中找到)
jira_create_issue

使用指定的详细信息创建新的 Jira 问题。返回已创建问题的键、ID 和 URL

Arguments:

  • project_key (String) (Required):创建问题所在项目的标识符(例如 KP、PROJ)
  • summary (String) (Required):问题的简短标题
  • description (String) (Required):问题的详细说明
  • issue_type (String) (Required):要创建的问题类型(常见类型:Bug、Task、Story、Epic)
jira_update_issue

修改现有 Jira 问题的详细信息。支持部分更新——仅更改指定字段

Arguments:

  • issue_key (String) (Required):要更新问题的唯一标识符(例如 KP-2)
  • summary (String):问题的新标题(可选)
  • description (String):问题的新描述(可选)
jira_list_statuses

获取特定 Jira 项目的所有可用问题状态 ID 及其名称

Arguments:

  • project_key (String) (Required):项目标识符(例如 KP、PROJ)
jira_transition_issue

使用有效的转换 ID,按照工作流转换问题。可通过 jira_get_issue 获取可用转换

Arguments:

  • issue_key (String) (Required):要转换的问题(例如 KP-123)
  • transition_id (String) (Required):可用转换列表中的转换 ID
  • comment (String):转换时添加的可选评论
RAG_memory_index_content

将内容编入记忆索引,可插入或更新

Arguments:

  • collection (String) (Required):记忆集合名称
  • filePath (String) (Required):内容文件路径
  • payload (String) (Required):纯文本内容
RAG_memory_index_file

将本地文件编入记忆索引

Arguments:

  • collection (String) (Required):记忆集合名称
  • filePath (String) (Required):要编入索引的本地文件路径
RAG_memory_create_collection

在记忆中创建新的向量集合

Arguments:

  • collection (String) (Required):记忆集合名称
RAG_memory_delete_collection

删除记忆中的向量集合

Arguments:

  • collection (String) (Required):记忆集合名称
RAG_memory_list_collections

列出记忆中的所有向量集合

RAG_memory_search

根据查询在集合中搜索记忆

Arguments:

  • collection (String) (Required):记忆集合名称
  • query (String) (Required):搜索查询,应为关键词
RAG_memory_delete_index_by_filepath

根据 filePath 删除向量索引

Arguments:

  • collection (String) (Required):记忆集合名称
  • filePath (String) (Required):要删除的本地文件路径
execute_comand_line_script

在安全限制下,安全地在用户系统上执行命令行脚本。支持沙盒执行、超时保护和输出捕获。支持跨平台脚本,并自动检测环境。

Arguments:

  • content (String) (Required):
  • interpreter (String) (Default: /bin/sh):解释器二进制文件的路径(例如 /bin/sh、/bin/bash、/usr/bin/python、cmd.exe)。出于安全考虑,会根据允许列表进行验证
  • working_dir (String):执行目录路径(默认为用户主目录)。会进行验证,以防止未经授权访问系统位置
web_search

使用 Brave Search API 搜索网页

Arguments:

  • query (String) (Required):要搜索的查询(最多 400 个字符、50 个单词)
  • count (Number) (Default: 5):结果数量(1–20,默认值为 5)
  • country (String) (Default: 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:如果已到达终点但意识到还需要更多思考,则为 true

你应该:

  1. 先估算所需的思考次数,但要准备好进行调整
  2. 可以质疑或修正先前的思考
  3. 如果需要,即使在“终点”也可以继续添加思考
  4. 在存在不确定性时表达出来
  5. 标记修正先前思考或分支到新路径的思考
  6. 忽略与当前步骤无关的信息
  7. 适当时生成解决方案假设
  8. 根据思维链步骤验证假设
  9. 重复这一过程,直到对解决方案满意为止
  10. 最终只提供一个尽可能正确的答案
  11. 只有在确实完成并得出满意答案时,才将 next_thought_needed 设为 false`

参数:

  • thought (String)(必填):当前思考步骤
  • nextThoughtNeeded (Boolean)(必填):是否需要继续思考
  • thoughtNumber (Number)(必填):当前思考步骤编号
  • totalThoughts (Number)(必填):预估所需的思考总数
  • isRevision (Boolean):此步骤是否修正了先前的思考
  • revisesThought (Number):正在重新考虑的思考步骤编号
  • branchFromThought (Number):分支起始的思考步骤编号
  • branchId (String):分支标识符
  • needsMoreThoughts (Boolean):是否需要更多思考
tool_manager

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

参数:

  • action (String)(必填):要执行的操作:list、enable、disable
  • tool_name (String):要启用或禁用的工具名称
tool_use_plan

制定使用已启用工具解决请求的计划

参数:

  • request (String)(必填):需要制定计划的请求
  • context (String)(必填):与请求相关的上下文
youtube_transcript

获取 YouTube 视频字幕文本

参数:

  • video_id (String)(必填):YouTube 视频 ID
youtube_update_video

更新 YouTube 视频的标题和描述

参数:

  • video_id(String)(必填):要更新的视频 ID
  • title(String)(必填):视频的新标题
  • description(String)(必填):视频的新描述
  • keywords(String)(必填):以逗号分隔的视频关键词列表
  • category(String)(必填):视频的类别 ID。更多信息请参阅 https://developers.google.com/youtube/v3/docs/videoCategories/list。
youtube_get_video_details

获取特定视频的详细信息(标题、描述等)

参数:

  • video_id(String)(必填):视频 ID
youtube_list_videos

列出用户管理的 YouTube 视频

参数:

  • channel_id(String)(必填):要列出视频的频道 ID
  • max_results(Number)(必填):要返回的视频数量上限

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。