项目已迁移
项目已拆分并迁移到各个独立仓库。
- Google Kit: 用于 Gmail、Google Calendar、Google Chat 的工具
- RAG Kit: 用于 RAG、Memory 的工具
- Dev Kit: 用于开发者、Jira、Confluence、GitLab、GitHub 等的工具
- Fetch Kit: 用于 fetch、scrape 等的工具
- Research Kit: 用于研究、学术、推理等工具
MyMCP Server
一个强大的 Model Context Protocol (MCP) 服务器实现,集成了 GitLab、Jira、Confluence、YouTube 等功能。该服务器提供 AI 驱动的搜索功能以及多种开发工作流实用工具。
社区
如需社区支持、讨论和更新,请访问我们的论坛 community.aiocean.io。
前置条件
- Go 1.23.2 或更高版本
- 各种 API 密钥和令牌,用于您想要使用的服务
安装
通过 Smithery 安装
通过 Smithery 自动安装 MyMCP Server(将引导您完成交互式 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 Search、Google Calendar 等。
GOOGLE_CREDENTIALS_FILE 是用于高级功能的 Google Chat 的服务账户。您需要在 Google Cloud Console 中创建项目并创建服务账户。然后还需要为其创建 Google 云聊天机器人。让任何 LLM 模型为您创建这些。
启用工具
环境变量中有一个隐藏变量 ENABLE_TOOLS。它是一个用逗号分隔的工具组列表,用于启用。如果未设置,将启用所有工具。留空以启用所有工具。
以下是工具组的列表:
gemini: Gemini 驱动的搜索fetch: 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 格式(默认:一周后)max_results(Number): 返回的最大事件数量(默认:10)
calendar_update_event
更新 Google Calendar 中的现有事件
参数:
event_id(String) (必需): 要更新的事件 IDsummary(String): 新的事件标题description(String): 新的事件描述start_time(String): 新的事件开始时间,RFC3339 格式end_time(String): 新的事件结束时间,RFC3339 格式attendees(String): 新的参与者邮箱地址列表
calendar_respond_to_event
对 Google Calendar 中的事件邀请做出回应
参数:
event_id(String) (必需): 要回应的事件 IDresponse(String) (必需): 您的回应(接受、拒绝或暂定)
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) (必需): 要更新的页面的 IDtitle(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 端点检索文本内容。以纯文本形式返回原始内容。
参数:
url(String) (必需): 要从中获取内容的完整 HTTP/HTTPS URL(例如,https://example.com)
gchat_list_spaces
列出所有可用的 Google Chat 空间/房间
gchat_send_message
向 Google Chat 空间或直接消息发送消息
参数:
space_name(String) (必需): 要发送消息的空间名称message(String) (必需): 要发送的文本消息
ai_web_search
使用 Google AI 搜索进行网络搜索。更新实时信息的最佳工具
参数:
question(String) (必需): 要询问的问题。应该是问题context(String) (必需): 问题的上下文/目的,有助于 Gemini 更好地理解问题
gitlab_list_projects
列出 GitLab 项目
参数:
group_id(String) (必需): gitlab 组 IDsearch(String): 可以提供多个术语,用转义空格、+ 或 %20 分隔,并将被 AND 连接。示例:one+two 将匹配子字符串 one 和 two(顺序不限)
gitlab_get_project
获取 GitLab 项目详情
参数:
project_path(String) (必需): 项目/仓库路径
gitlab_list_mrs
列出合并请求
参数:
project_path(String) (必需): 项目/仓库路径state(String) (默认:all): MR 状态(打开/关闭/合并)
gitlab_get_mr_details
获取合并请求详情
参数:
project_path(String) (必需): 项目/仓库路径mr_iid(String) (必需): 合并请求 IID
gitlab_create_MR_note
在合并请求上创建备注
参数:
project_path(String) (必需): 项目/仓库路径mr_iid(String) (必需): 合并请求 IIDcomment(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): 管道状态(运行中/挂起/成功/失败/取消/跳过/全部)
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) (必需): 将创建问题的项目标识符(例如,KP、PROJ)source_branch(String) (必需): 源分支名称target_branch(String) (必需): 目标分支名称title(String) (必需): 合并请求标题description(String): 合并请求描述
gmail_search
使用 Gmail 搜索语法搜索 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 板的活跃和未来的 Sprints,包括 Sprint ID、名称、状态和日期
参数:
board_id(String) (必需): Jira 板的数字 ID(可以在板 URL 中找到)
jira_create_issue
创建具有指定详细信息的 Jira 问题。返回创建的问题的键、ID 和 URL
参数:
project_key(String) (必需): 将创建问题的项目标识符(例如,KP、PROJ)summary(String) (必需): 问题的简短标题或头条description(String) (必需): 问题的详细说明issue_type(String) (必需): 要创建的问题类型(常见类型:Bug、任务、故事、史诗)
jira_update_issue
修改现有 Jira 问题的详细信息。支持部分更新——仅更改指定的字段
参数:
issue_key(String) (必需): 要更新的问题的唯一标识符(例如,KP-2)summary(String): 问题的新的标题(可选)description(String): 问题的新的描述(可选)
jira_list_statuses
检索特定 Jira 项目的所有可用问题状态 ID 及其名称
参数:
project_key(String) (必需): 项目标识符(例如,KP、PROJ)
jira_transition_issue
使用有效的转换 ID 将问题通过其工作流进行转换。从 jira_get_issue 获取可用转换
参数:
issue_key(String) (必需): 要转换的问题(例如,KP-123)transition_id(String) (必需): 可用转换列表中的转换 IDcomment(String): 可选的转换时添加的评论
RAG_memory_index_content
将内容索引到内存中,可以插入或更新
参数:
collection(String) (必需): 内存集合名称filePath(String) (必需): 内容文件路径payload(String) (必需): 纯文本有效负载
RAG_memory_index_file
将本地文件索引到内存中
参数:
collection(String) (必需): 内存集合名称filePath(String) (必需): 要索引的本地文件路径
RAG_memory_create_collection
在内存中创建新的向量集合
参数:
collection(String) (必需): 内存集合名称
RAG_memory_delete_collection
删除内存中的向量集合
参数:
collection(String) (必需): 内存集合名称
RAG_memory_list_collections
列出内存中的所有向量集合
RAG_memory_search
基于查询在集合中搜索内存
参数:
collection(String) (必需): 内存集合名称query(String) (必需): 搜索查询,应该是关键词
RAG_memory_delete_index_by_filepath
通过文件路径删除向量索引
参数:
collection(String) (必需): 内存集合名称filePath(String) (必需): 要删除的本地文件路径
execute_comand_line_script
在用户的系统上安全地执行命令行脚本,具有安全限制。具有沙盒执行、超时保护和输出捕获功能。支持跨平台脚本,自动检测环境。
参数:
content(String) (必需):interpreter(String) (默认:/bin/sh): 解释器二进制文件的路径(例如,/bin/sh、/bin/bash、/usr/bin/python、cmd.exe)。根据安全要求验证允许列表working_dir(String): 执行目录路径(默认:用户主目录)。验证以防止未经授权访问系统位置
web_search
使用 Brave Search API 进行网络搜索
参数:
query(String) (必需): 要搜索的查询(最多 400 个字符,50 个词)count(Number) (默认:5): 结果数量(1-20,默认 5)country(String) (默认:ALL): 国家代码
sequentialthinking
`一个用于动态和反思问题解决的详细工具,通过思考进行分析。 该工具通过灵活的思考过程帮助分析问题,该过程可以适应和演变。 随着理解的加深,每个思考步骤都可以建立、质疑或修订先前的见解。
何时使用此工具:
- 将复杂问题分解为步骤
- 规划和设计留有修改空间
- 可能需要纠正的分析
- 问题的完整范围最初可能不明确
- 需要分步骤解决的问题
- 需要在多个步骤中保持上下文的任务
- 情况下需要过滤掉不相关信息
关键功能:
- 您可以根据进展调整 total_thoughts 的数量
- 您可以质疑或修订先前的思考步骤
- 即使在看似结束时,您也可以添加更多思考步骤
- 您可以表达不确定性并探索替代方法
- 每个思考步骤不需要线性构建——您可以分支或回退
- 生成解决方案假设
- 基于思维链步骤验证假设
- 重复过程,直到满意为止
- 提供正确答案
参数说明:
- thought: 您当前的思考步骤,可以包括:
- 常规分析步骤
- 修订先前的思考步骤
- 关于先前决策的问题
- 需要更多分析的 realization
- 方法上的变化
- 假设生成
- 假设验证
- 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(String) (必需): 您当前的思考步骤nextThoughtNeeded(Boolean) (必需): 是否需要另一个思考步骤thoughtNumber(Number) (必需): 当前思考步骤编号totalThoughts(Number) (必需): 估计需要的总思考步骤数量isRevision(Boolean): 此步骤是否修订了先前的思考revisesThought(Number): 正在重新考虑的思考步骤branchFromThought(Number): 分支点思考步骤编号branchId(String): 分支标识符needsMoreThoughts(Boolean): 如果需要更多思考