aio-mcp
by: athapong
π All-in-one MCP server with AI search, RAG, and multi-service integrations (GitLab/Jira/Confluence/YouTube) for AI-enhanced development workflows. Folk from https://github.com/nguyenvanduocit/all-in-one-model-context-protocol
πOverview
Purpose: To provide a robust Model Context Protocol (MCP) server that seamlessly integrates with various development tools, enhancing productivity through AI-powered capabilities.
Overview: The AIO-MCP Server is an advanced server implementation designed for developers, enabling efficient interactions with platforms like GitLab, Jira, Confluence, and YouTube. It leverages AI technologies for enhanced search capabilities and offers a suite of utility tools that streamline development workflows.
Key Features:
-
AI-Powered Search: Utilizes advanced search algorithms to improve data retrieval from integrated platforms, facilitating quicker access to needed information.
-
Multi-Platform Integration: Provides easy connectivity with various tools such as GitLab, Jira, Confluence, and YouTube, enhancing versatility and efficiency in project management and collaboration.
AIO-MCP Server
A powerful Model Context Protocol (MCP) server implementation with integrations for GitLab, Jira, Confluence, YouTube, and more. This server provides AI-powered search capabilities and various utility tools for development workflows.
Prerequisites
- Go 1.23.2 or higher
- Various API keys and tokens for the services you want to use
Installation
Installing via Smithery
To install AIO-MCP Server for Claude Desktop automatically via Smithery (interactive CLI setup):
npx -y @smithery/cli install @athapong/aio-mcp --client claude
Smithery will prompt for required configuration values and handle environment setup.
Installing via Go
Set up the Go environment so binaries install into your Go bin path:
- Ensure
GOPATH
is set (default:$HOME/go
on Unix or%USERPROFILE%\go
on Windows). - Make sure
$GOPATH/bin
is in your system'sPATH
.
For Linux/macOS, add to your shell config (e.g., ~/.bashrc
or ~/.zshrc
):
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
Reload shell config:
source ~/.bashrc
For Windows PowerShell:
[Environment]::SetEnvironmentVariable("GOPATH", "$env:USERPROFILE\go", "User")
[Environment]::SetEnvironmentVariable("PATH", "$env:PATH;$env:USERPROFILE\go\bin", "User")
For Windows Command Prompt:
setx GOPATH "%USERPROFILE%\go"
setx PATH "%PATH%;%USERPROFILE%\go\bin"
Verify environment variables:
go env GOPATH
echo $PATH # Unix/macOS
echo %PATH% # Windows CMD
$env:PATH # Windows PowerShell
Install the server:
go install github.com/athapong/aio-mcp@latest
Configuration
Create a .env
file with your configuration (example keys):
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=
Configure Claude Desktop:
{
"mcpServers": {
"aio-mcp": {
"command": "aio-mcp",
"args": ["-env", "/path/to/.env"]
}
}
}
Alternatively, override environment variables directly:
{
"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": "",
"DEEPSEEK_API_KEY": "",
"OPENROUTER_API_KEY": "",
"DEEPSEEK_API_BASE": "",
"USE_OLLAMA_DEEPSEEK": "",
"OLLAMA_URL": ""
}
}
}
}
Enable Tools
The ENABLE_TOOLS
environment variable is a comma-separated list of tool groups to enable. If empty or unset, all tools are enabled.
Available tool groups:
- gemini
- fetch
- brave_search
- google_maps
- confluence
- youtube
- jira
- gitlab
- script
- rag
- deepseek (includes reasoning and advanced search, requires
USE_OLLAMA_DEEPSEEK=true
)
Available Tools
Calendar Tools
-
calendar_create_event: Create new Google Calendar event
Required arguments:summary
,start_time
,end_time
-
calendar_list_events: List upcoming events
Optional arguments:time_min
,time_max
,max_results
-
calendar_update_event: Update an event
Required:event_id
-
calendar_respond_to_event: Respond to an event invitation
Required:event_id
,response
Confluence Tools
-
confluence_search: Search by CQL query
Required:query
-
confluence_get_page: Get page content by ID
Required:page_id
-
confluence_create_page: Create page
Required:space_key
,title
,content
-
confluence_update_page: Update page
Required:page_id
-
confluence_compare_versions: Compare page versions
Required:page_id
,source_version
,target_version
Deepseek Reasoning
- deepseek_reasoning: AI multi-step problem-solving engine
Required:question
,context
Optional:knowledge
Web Content
- get_web_content: Fetch raw text content from an HTTP/HTTPS URL
Required:url
Google Chat
- gchat_list_spaces: List Google Chat spaces
- gchat_send_message: Send message to a space
Required:space_name
,message
AI Web Search
- ai_web_search: Google AI Search with context
Required:question
,context
GitLab Tools
-
gitlab_list_projects: List projects in a group
Required:group_id
-
gitlab_get_project: Get project details
Required:project_path
-
gitlab_list_mrs: List merge requests
Required:project_path
Optional:state
-
gitlab_get_mr_details: Get MR details
Required:project_path
,mr_iid
-
gitlab_create_MR_note: Create note on MR
Required:project_path
,mr_iid
,comment
-
gitlab_get_file_content: Retrieve file content
Required:project_path
,file_path
,ref
-
gitlab_list_pipelines: List pipelines
Required:project_path
Optional:status
-
gitlab_list_commits: List commits by date range
Required:project_path
,since
,ref
Optional:until
-
gitlab_get_commit_details: Get commit details
Required:project_path
,commit_sha
-
gitlab_list_user_events: List user events
Required:username
,since
Optional:until
-
gitlab_list_group_users: List users in group
Required:group_id
-
gitlab_create_mr: Create merge request
Required:project_path
,source_branch
,target_branch
,title
-
gitlab_clone_repo: Clone or update repo
Required:project_path
Optional:ref
Gmail Tools
-
gmail_search: Search emails using Gmail syntax
Required:query
-
gmail_move_to_spam: Move emails to spam
Required:message_ids
-
gmail_create_filter: Create an email filter with criteria and actions
-
gmail_list_filters: List all filters
-
gmail_list_labels: List all labels
-
gmail_delete_filter: Delete a filter
Required:filter_id
-
gmail_delete_label: Delete a label
Required:label_id
Jira Tools
-
jira_get_issue: Get issue details
Required:issue_key
-
jira_search_issue: Search Jira issues with JQL
Required:jql
-
jira_list_sprints: List active/future sprints
Required:board_id
-
jira_create_issue: Create new issue
Required:project_key
,summary
,description
,issue_type
-
jira_update_issue: Update issue
Required:issue_key
-
jira_list_statuses: List issue statuses
Required:project_key
-
jira_transition_issue: Transition issue status
Required:issue_key
,transition_id
RAG Memory Tools
- RAG_memory_index_content: Index content into memory
- RAG_memory_index_file: Index local file
- RAG_memory_create_collection: Create a vector collection
- RAG_memory_delete_collection: Delete a collection
- RAG_memory_list_collections: List collections
- RAG_memory_search: Search memory by query
- RAG_memory_delete_index_by_filepath: Delete index by file path
Command Line Script Execution
- execute_comand_line_script: Safely execute command line scripts with security restrictions
Arguments:content
(script),interpreter
(default: /bin/sh),working_dir
Web Search
- web_search: Search using Brave Search API
Arguments:query
, optionalcount
,country
Sequential Thinking
- Detailed tool for dynamic, reflective problem-solving through stepwise thoughts
- Supports revisions, branching, uncertainty expressions, hypothesis generation, and verification
- Arguments include current thought, flags for need of further thoughts, revision info, summary, and results
Tool Management
- tool_manager: Manage MCP tools
Arguments:action
(list, enable, disable),tool_name
Tool Use Planning
- tool_use_plan: Create a plan using available tools
Arguments:request
,context
YouTube Tools
- youtube_transcript: Get video transcript by
video_id
- youtube_update_video: Update video metadata
- youtube_get_video_details: Get details of a video
- youtube_list_videos: List user-managed videos
Required:channel_id
,max_results