MCP HubMCP Hub
athapong

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

8created 26/02/2025
Visit
AI
integration

πŸ“Œ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:

  1. Ensure GOPATH is set (default: $HOME/go on Unix or %USERPROFILE%\go on Windows).
  2. Make sure $GOPATH/bin is in your system's PATH.

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, optional count, 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