AIO-MCP服务器
一个强大的模型上下文协议(MCP)服务器实现,集成了GitLab、Jira、Confluence、YouTube等。该服务器提供基于人工智能的搜索功能和用于开发工作流程的各种实用工具。
先决条件
- 达到1.23.2或更高
- 要使用的服务的各种API密钥和令牌
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的AIO-MCP服务器 史密瑟里 (将指导您完成交互式CLI设置):
npx -y @smithery/cli install @athapong/aio-mcp --client claude*注意:Smithery将以交互方式提示您输入所需的配置值,并自动处理环境设置*
通过Go安装
要设置 go install 命令安装到Go bin路径中,您需要确保您的Go环境变量配置正确。操作方法如下:
- 首先,确保你有一个正确的设置
GOPATH环境变量,默认为$HOME/go在类Unix系统上或%USERPROFILE%\go在Windows上。
- 这
go install命令将二进制文件放置在$GOPATH/bin默认情况下。确保此目录位于您的系统中PATH环境变量。
以下是如何在不同的操作系统上进行设置:
Linux/macOS:
# Add these to your ~/.bashrc, ~/.zshrc, or equivalent shell config file
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin添加这些行后,重新加载shell配置:
source ~/.bashrc # or ~/.zshrcWindows(PowerShell):
# Set environment variables
[Environment]::SetEnvironmentVariable("GOPATH", "$env:USERPROFILE\go", "User")
[Environment]::SetEnvironmentVariable("PATH", "$env:PATH;$env:USERPROFILE\go\bin", "User")Windows(命令提示符):
setx GOPATH "%USERPROFILE%\go"
setx PATH "%PATH%;%USERPROFILE%\go\bin"设置这些变量后,您可以验证它们是否正常工作:
go env GOPATH
echo $PATH # On Unix/Linux/macOS
echo %PATH% # On Windows CMD
$env:PATH # On Windows PowerShell现在,当你奔跑时 go install,二进制文件将安装到您的 $GOPATH/bin 目录,它位于您的PATH中,因此您可以从任何地方运行它们。
最后,安装服务器:
go install github.com/athapong/aio-mcp@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=
OPENAI_EMBEDDING_MODEL=
DEEPSEEK_API_KEY=
QDRANT_PORT=
GOOGLE_TOKEN_FILE=
GOOGLE_CREDENTIALS_FILE=
QDRANT_API_KEY=
USE_OLLAMA_DEEPSEEK=
ENABLE_SSE=
SSE_ADDR=
SSE_BASE_PATH=- 配置你的claude配置:
{
"mcpServers": {
"aio-mcp": {
"command": "aio-mcp",
"args": ["-env", "/path/to/.env", "-sse", "-sse-addr", ":8080", "-sse-base-path", "/mcp"],
}
}
}或覆盖环境值,如
{
"mcpServers": {
"aio-mcp": {
"command": "aio-mcp",
"env": {
"ENABLE_TOOLS": "",
"OPENAI_BASE_URL": "",
"GOOGLE_AI_API_KEY": "",
"GITLAB_TOKEN": "",
"GITLAB_HOST": "",
"QDRANT_HOST": "",
"QDRANT_API_KEY": "",
"PROXY_URL": "",
"OPENAI_API_KEY": "",
"GOOGLE_TOKEN_FILE": "",
"GOOGLE_CREDENTIALS_FILE": "",
"ATLASSIAN_TOKEN": "",
"BRAVE_API_KEY": "",
"QDRANT_PORT": "",
"ATLASSIAN_HOST": "",
"ATLASSIAN_EMAIL": "",
"USE_OPENROUTER": "", // "true" if you want to use openrouter for AI to help with reasoning on `tool_use_plan`, default is false
"DEEPSEEK_API_KEY": "", // specify the deepseek api key if you want to use deepseek for AI to help with reasoning on `tool_use_plan`
"OPENROUTER_API_KEY": "", // specify the openrouter api key if you want to use openrouter for AI to help with reasoning on `tool_use_plan`
"DEEPSEEK_API_BASE": "", // specify the deepseek api key if you want to use deepseek for AI to help with reasoning on `tool_use_plan`
"USE_OLLAMA_DEEPSEEK": "", // "true" if you want to use deepseek with local ollama, default is false
"OLLAMA_URL": "" // default with http://localhost:11434
}
}
}
}服务器模式
AIO-MCP服务器支持两种操作模式:
- 标准模式(默认):服务器通过标准输入/输出进行通信,这是Claude Desktop和其他MCP客户端使用的默认模式。
- SSE(服务器发送事件)模式:服务器作为HTTP服务器运行,支持服务器发送事件进行实时通信。这对于基于web的客户端或需要通过网络访问MCP服务器时非常有用。
启用SSE模式
您可以通过以下两种方式之一启用SSE模式:
- 命令行标志:
aio-mcp -sse -sse-addr ":8080" -sse-base-path "/mcp"- 环境变量 (在你的
.env文件):
ENABLE_SSE=true
SSE_ADDR=:8080
SSE_BASE_PATH=/mcp启用SSE模式后,服务器将启动一个在指定地址上侦听的HTTP服务器。服务器提供两个端点:
- SSE端点:
{SSE_BASE_PATH}/sse(默认值:/mcp/sse) - 消息端点:
{SSE_BASE_PATH}/message(默认值:/mcp/message)
客户端可以连接到SSE端点以接收服务器事件并向消息端点发送消息。
启用工具
存在一个隐藏变量 ENABLE_TOOLS 在环境变量中。这是一个以逗号分隔的要启用的工具组列表。如果未设置,将启用所有工具。将其留空以启用所有工具。
以下是工具组列表:
gemini:双子动力搜索fetch:获取工具brave_search:Brave搜索工具google_maps:谷歌地图工具confluence:汇流工具youtube:YouTube工具jira:Jira工具gitlab:GitLab工具script:脚本工具rag:RAG工具deepseek:Deepseek AI工具,包括推理和高级搜索,如果“USE_OLLAMA_Deepseek”设置为true,默认的OLLAMA端点为http://localhost:11434使用deepseek-r1:8b型号
可用工具
日历创建事件
在Google日历中创建新事件
论据:
summary(字符串)(必填):事件的标题description(字符串):事件描述start_time(字符串)(必填):RFC3339格式的事件开始时间(例如2023-12-25T09:00:00Z)end_time(String)(必选):RFC3339格式的事件结束时间attendees(字符串):与会者电子邮件地址的逗号分隔列表
日历列表事件
在Google日历中列出即将发生的事件
论据:
time_min(String):RFC3339格式的搜索开始时间(默认值:现在)time_max(字符串):RFC3339格式的搜索结束时间(默认值:1周后)max_results(数字):要返回的最大事件数(默认值:10)
日历更新事件
更新Google日历中的现有事件
论据:
event_id(String)(必选):要更新的事件的IDsummary(String):事件的新标题description(String):事件的新描述start_time(String):RFC3339格式的事件的新开始时间end_time(String):RFC3339格式的事件的新结束时间attendees(字符串):以逗号分隔的新与会者电子邮件地址列表
日历响应事件
在谷歌日历中回复活动邀请
论据:
event_id(String)(必选):要响应的事件的IDresponse(字符串)(必填):您的回复(接受、拒绝或暂定)
汇流研究
搜索汇流
论据:
query(字符串)(必填):Atlassian汇流查询语言(CQL)
conference_get_page
获取Confluence页面内容
论据:
page_id(字符串)(必填):汇流页ID
conference_create_page
创建新的Confluence页面
论据:
space_key(String)(必选):创建页面的空格键title(字符串)(必填):页面标题content(String)(必选):存储格式(XHTML)的页面内容parent_id(String):父页面的ID(可选)
conference_update_page
更新现有的Confluence页面
论据:
page_id(String)(必选):要更新的页面的IDtitle(String):页面的新标题(可选)content(String):存储格式(XHTML)的页面新内容version_number(String):乐观锁定的版本号(可选)
汇流_比较_转换
比较Confluence页面的两个版本
论据:
page_id(字符串)(必填):汇流页IDsource_version(字符串)(必填):源版本号target_version(字符串)(必填):目标版本号
深度推理
使用Deepseek的人工智能功能进行多步问题解决、批判性分析和战略决策支持的高级推理引擎
论据:
question(String)(必选):需要深入分析和推理的结构化查询或问题陈述context(String)(必选):定义MCP生态系统中查询的操作上下文和目的knowledge(字符串):为MCP感知推理提供相关的聊天历史、知识库条目和结构化数据上下文
get_web_content
从给定的HTTP/HTTPS URL获取内容。此工具允许您从网页、API或任何可访问的HTTP端点检索文本内容。以文本形式返回原始内容。
论据:
url(String)(必选):从中获取内容的完整HTTP/HTTPS URL(例如。,https://example.com)
gchat_list_spaces
列出所有可用的谷歌聊天空间/房间
gchat_send_消息
向Google聊天空间发送消息或直接消息
论据:
space_name(String)(必选):要向其发送消息的空间的名称message(字符串)(必填):要发送的短信
ai_web_search
使用谷歌人工智能搜索来搜索网络。更新实时信息的最佳工具
论据:
question(String)(必选):要问的问题。应该是个问题context(String)(必选):问题的上下文/目的,帮助双子座更好地理解问题
gitlab_list_项目
列出GitLab项目
论据:
group_id(字符串)(必填):gitlab组IDsearch(String):可以提供多个项,用转义空格分隔,可以是+或%20,它们将一起进行and运算。示例:一+二将匹配子字符串一和二(以任何顺序)。
gitlab_get-project
获取GitLab项目详细信息
论据:
project_path(字符串)(必填):项目/仓库路径
gitlab_list_mrs
列出合并请求
论据:
project_path(字符串)(必填):项目/仓库路径state(字符串)(默认:全部):MR状态(打开/关闭/合并)
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(String)(必选):存储库中文件的路径ref(String)(必选):分支名称、标签或提交SHA
gitlab_list_pipelines
列出GitLab项目的管道
论据:
project_path(字符串)(必填):项目/仓库路径status(字符串)(默认值:all):管道状态(运行/挂起/成功/失败/取消/跳过/all)
gitlab_list_commits
列出GitLab项目中日期范围内的提交
论据:
project_path(字符串)(必填):项目/仓库路径since(字符串)(必填):开始日期(YYYY-MM-DD)until(字符串):结束日期(YYYY-MM-DD)。如果未提供,则默认为当前日期ref(String)(必选):分支名称、标签或提交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(String):合并请求描述
gitlab_clone_repo
在本地克隆或更新GitLab存储库
论据:
project_path(字符串)(必填):项目/仓库路径ref(String):分支名称或标签(可选,默认为项目的默认分支)
gmail_search
使用Gmail的搜索语法在Gmail中搜索电子邮件
论据:
query(字符串)(必填):Gmail搜索查询。遵循Gmail的搜索语法
gmail_move_to_sam
按邮件ID将特定电子邮件移动到Gmail中的垃圾邮件文件夹
论据:
message_ids(字符串)(必填):以逗号分隔的邮件ID列表,用于移动到垃圾邮件
gmail_create_filter
使用指定的条件和操作创建Gmail筛选器
论据:
from(字符串):筛选来自此发件人的电子邮件to(字符串):筛选此收件人的电子邮件subject(字符串):筛选包含此主题的电子邮件query(字符串):其他搜索查询条件add_label(布尔值):为匹配的消息添加标签label_name(String):要添加的标签的名称(如果add_label为true,则必填)mark_important(布尔值):将匹配的消息标记为重要mark_read(布尔值):将匹配的消息标记为已读archive(布尔值):存档匹配的消息
gmail_list_筛选器
列出帐户中的所有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(字符串)(必填):JQL查询字符串(例如,“项目=KP AND状态=“进行中””)
jira_list_sprints
列出特定Jira板的所有活动和未来冲刺,包括冲刺ID、名称、状态和日期
论据:
board_id(字符串)(必填):Jira板的数字ID(可以在板URL中找到)
jira_create_issue
使用指定的详细信息创建新的Jira问题。返回创建的问题的密钥、ID和URL
论据:
project_key(字符串)(必填):创建问题的项目标识符(例如KP、PROJ)summary(String)(必选):问题的简要标题或标题description(String)(必填):问题的详细解释issue_type(字符串)(必填):要创建的问题类型(常见类型:Bug、Task、Story、Epic)
jira_update_issue
修改现有Jira问题的详细信息。支持部分更新-只更改指定的字段
论据:
issue_key(String)(必选):要更新的问题的唯一标识符(例如KP-2)summary(字符串):问题的新标题(可选)description(String):问题的新描述(可选)
jira_list_status
检索特定Jira项目的所有可用问题状态ID及其名称
论据:
project_key(字符串)(必填):项目标识符(例如KP、PROJ)
jira_transition问题
使用有效的转换ID通过其工作流转换问题。从jira_Get_issue获取可用的转换
论据:
issue_key(String)(必选):要转换的问题(例如KP-123)transition_id(字符串)(必填):来自可用转换列表的转换IDcomment(String):可选择添加带有过渡的注释
RAG_内存_索引_内容
将内容索引到内存中,可以插入或更新
论据:
collection(字符串)(必填):内存集合名称filePath(String)(必选):内容文件路径payload(字符串)(必填):纯文本有效载荷model(字符串):要使用的嵌入模型(默认值:text-Embedding-3-large)
RAG_memory_index_file
将本地文件索引到内存中
论据:
collection(字符串)(必填):内存集合名称filePath(String)(必选):要索引的本地文件的路径
RAG_memory_create_collection
在内存中创建新的向量集合
论据:
collection(字符串)(必填):内存集合名称model(字符串):要使用的嵌入模型(默认值:text-Embedding-3-large)
RAG_memory_delete_collection
删除内存中的向量集合
论据:
collection(字符串)(必填):内存集合名称
RAG_memory_list_collections
列出内存中的所有向量集合
RAG_内存搜索
基于查询在集合中搜索内存
论据:
collection(字符串)(必填):内存集合名称query(String)(必选):搜索查询,应为关键字model(字符串):要使用的嵌入模型(默认值:text-Embedding-3-large)
RAG_memory_delete_index_by_filepath
按filePath删除向量索引
论据:
collection(字符串)(必填):内存集合名称filePath(String)(必选):要删除的本地文件的路径
execute_cond_line_script
在有安全限制的用户系统上安全执行命令行脚本。具有沙盒执行、超时保护和输出捕获功能。支持跨平台脚本编写和自动环境检测。
论据:
content(字符串)(必填):interpreter(字符串)(默认值:/bin/sh):解释器二进制文件的路径(例如/bin/sh、/bin/bash、/usr/bin/python、cmd.exe)。根据安全允许列表进行验证working_dir(String):执行目录路径(默认:用户主页)。经过验证,可防止未经授权访问系统位置
网络搜索
使用Brave Search API搜索网页
论据:
query(字符串)(必填):要搜索的查询(最多400个字符,50个单词)count(数字)(默认值:5):结果数量(1-20,默认值5)country(字符串)(默认值:ALL):国家代码
顺序思维
\`一个通过思考动态和反思性解决问题的详细工具。 该工具通过灵活的思维过程来帮助分析问题,这种思维过程可以适应和发展。 随着理解的加深,每个想法都可以建立、质疑或修改之前的见解。
何时使用此工具:
- 将复杂问题分解为步骤
- 规划和设计,有修改空间
- 可能需要修正航向的分析
- 最初可能不清楚全部范围的问题
- 需要多步骤解决方案的问题
- 需要在多个步骤中保持上下文的任务
- 需要过滤掉无关信息的情况
主要特点:
- 您可以随着进度向上或向下调整total_thours
- 你可以质疑或修改之前的想法
- 即使在到达终点后,你也可以添加更多的想法
- 您可以表达不确定性并探索替代方法
- 不是每个想法都需要线性构建——你可以分支或回溯
- 生成解决方案假设
- 基于思维链步骤验证假设
- 重复该过程,直到满意为止
- 提供正确答案
参数说明:
- thought:你当前的思考步骤,可能包括:
- 常规分析步骤
- 对以往思想的修正
- 关于以往决定的问题
- 关于需要更多分析的认识
- 方法的改变
- 假设生成
- 假设验证
- next_thouth_needed:如果你需要更多的思考,即使在看似结束的时候,也是正确的
- thought_number:当前序列号(如果需要,可以超过初始总数)
- total_thouths:当前所需想法的估计值(可以向上/向下调整)
- is_revision:一个布尔值,表示这个想法是否修改了之前的想法
- revises_thought:如果is_revision为真,则重新考虑哪个思想数
- branch_from_thought:如果分支,哪个思维数是分支点
- branch_id:当前分支的标识符(如果有的话)
- needs_more_thours:如果到达终点但意识到需要更多的想法
您应该:
- 从对所需想法的初步估计开始,但要做好调整的准备
- 请随时质疑或修改之前的想法
- 如果需要,即使在“结束”时,也不要犹豫,添加更多想法
- 表达存在的不确定性
- 标记修改先前思维或分支到新路径的想法
- 忽略与当前步骤无关的信息
- 在适当的时候生成解决方案假设
- 根据思维链步骤验证假设
- 重复该过程,直到对解决方案满意为止
- 提供一个单一的、理想情况下正确的答案作为最终输出
- 只有当真正完成并达到满意的答案时,才将next_thouth_needed设置为false\`
论据:
thought(String)(必选):您当前的思考步骤nextThoughtNeeded(布尔值)(必填):是否需要另一个思考步骤thoughtNumber(数字)(必填):当前想法数totalThoughts(数量)(必填):估计所需的总想法isRevision(布尔值):这是否改变了之前的想法revisesThought(数字):正在重新考虑哪个想法branchFromThought(数字):分支点思想数branchId(String):分支标识符needsMoreThoughts(布尔值):如果需要更多思考result(String):这个想法的最终结果或结论summary(字符串):思想要点简述
顺序思维_历史
检索当前思维过程的思维历史
论据:
branchId(String):用于获取历史记录的可选分支ID
工具管理员
管理MCP工具-启用或禁用工具
论据:
action(String)(必选):要执行的操作:列表、启用、禁用tool_name(字符串):启用/禁用的工具名称
tool_use_plan
使用可用工具创建计划以解决请求
论据:
request(String)(必填):计划请求context(String)(必选):与请求相关的上下文
youtube_transcript
获取YouTube视频记录
论据:
video_id(字符串)(必填):YouTube视频ID
youtube_update_video
在YouTube上更新视频的标题和描述
论据:
video_id(String)(必选):要更新的视频的IDtitle(String)(必选):视频的新标题description(String)(必选):视频的新描述keywords(String)(必选):以逗号分隔的视频关键字列表category(字符串)(必填):视频的类别ID。看https://developers.google.com/youtube/v3/docs/videoCategories/list了解更多信息。
youtube_get_video_details
获取特定视频的详细信息(标题、描述等)
论据:
video_id(String)(必选):视频的ID
youtube_list_视频
列出用户管理的YouTube视频
论据:
channel_id(String)(必选):要列出视频的频道IDmax_results(数量)(必填):要返回的最大视频数量

