Back to MCP Servers

All In One Model Context Protocol

Some useful tools for developer, almost everything an engineer need: confluence, Jira, Youtube, run script, knowledge base RAG, fetch URL, Manage youtube channel, emails, calendar, gitlab

other-tools-and-integrationsgitlabjiraairag
By nguyenvanduocit
10213Updated 1 year ago

Installation

npx -y all-in-one-model-context-protocol

Configuration

{
  "mcpServers": {
    "all-in-one-model-context-protocol": {
      "command": "npx",
      "args": ["-y", "all-in-one-model-context-protocol"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

THE PROJECT IS MOVED

THE PROJECT HAS BEEN SPLIT AND MOVED TO INDIVIDUAL REPOSITORIES.

  • Google Kit: Tools for Gmail, Google Calendar, Google Chat
  • RAG Kit: Tools for RAG, Memory
  • Dev Kit: Tools for developers, jira, confluence, gitlab, github, ...
  • Fetch Kit: Tools for fetch, scrape, ...
  • Research Kit: Tools for research, academic, reasoning, ...

MyMCP Server

smithery badge 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.

Tutorial

Community

For community support, discussions, and updates, please visit our forum at community.aiocean.io.

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 MyMCP Server for Claude Desktop automatically via Smithery (will guide you through interactive CLI setup):

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

Note: Smithery will interactively prompt you for required configuration values and handle environment setup automatically

Installing via Go

  1. Install the server:
go install github.com/nguyenvanduocit/all-in-one-model-context-protocol@latest
  1. Manual setup required - Create a .env file with your configuration:
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. Config your claude's config:
{
  "mcpServers": {
    "my_mcp_server": {
      "command": "all-in-one-model-context-protocol",
      "args": ["-env", "/path/to/.env"],
    }
  }
}

Secret

GOOGLE_TOKEN_FILE is using for Google AI like Gemini, Google Search, Google Calendar, etc.

GOOGLE_CREDENTIALS_FILE is service account for advanced feature like Google Chat. You need to create project in Google Cloud Console and create service account. Then also need to create Google cloud bot chat for it. Ask any LLM model to create these for you.

Enable Tools

There are a hidden variable ENABLE_TOOLS in the environment variable. It is a comma separated list of tools group to enable. If not set, all tools will be enabled. Leave it empty to enable all tools.

Here is the list of tools group:

  • gemini: Gemini-powered search
  • fetch: Fetch tools
  • confluence: Confluence tools
  • youtube: YouTube tools
  • jira: Jira tools
  • gitlab: GitLab tools
  • script: Script tools
  • rag: RAG tools
  • deepseek: Deepseek AI tools

Available Tools

calendar_create_event

Create a new event in Google Calendar

Arguments:

  • summary (String) (Required): Title of the event
  • description (String): Description of the event
  • start_time (String) (Required): Start time of the event in RFC3339 format (e.g., 2023-12-25T09:00:00Z)
  • end_time (String) (Required): End time of the event in RFC3339 format
  • attendees (String): Comma-separated list of attendee email addresses

calendar_list_events

List upcoming events in Google Calendar

Arguments:

  • time_min (String): Start time for the search in RFC3339 format (default: now)
  • time_max (String): End time for the search in RFC3339 format (default: 1 week from now)
  • max_results (Number): Maximum number of events to return (default: 10)

calendar_update_event

Update an existing event in Google Calendar

Arguments:

  • event_id (String) (Required): ID of the event to update
  • summary (String): New title of the event
  • description (String): New description of the event
  • start_time (String): New start time of the event in RFC3339 format
  • end_time (String): New end time of the event in RFC3339 format
  • attendees (String): Comma-separated list of new attendee email addresses

calendar_respond_to_event

Respond to an event invitation in Google Calendar

Arguments:

  • event_id (String) (Required): ID of the event to respond to
  • response (String) (Required): Your response (accepted, declined, or tentative)

confluence_search

Search Confluence

Arguments:

  • query (String) (Required): Atlassian Confluence Query Language (CQL)

confluence_get_page

Get Confluence page content

Arguments:

  • page_id (String) (Required): Confluence page ID

confluence_create_page

Create a new Confluence page

Arguments:

  • space_key (String) (Required): The key of the space where the page will be created
  • title (String) (Required): Title of the page
  • content (String) (Required): Content of the page in storage format (XHTML)
  • parent_id (String): ID of the parent page (optional)

confluence_update_page

Update an existing Confluence page

Arguments:

  • page_id (String) (Required): ID of the page to update
  • title (String): New title of the page (optional)
  • content (String): New content of the page in storage format (XHTML)
  • version_number (String): Version number for optimistic locking (optional)

deepseek_reasoning

advanced reasoning engine using Deepseek's AI capabilities for multi-step problem solving, critical analysis, and strategic decision support

Arguments:

  • question (String) (Required): The structured query or problem statement requiring deep analysis and reasoning
  • context (String) (Required): Defines the operational context and purpose of the query within the MCP ecosystem
  • knowledge (String): Provides relevant chat history, knowledge base entries, and structured data context for MCP-aware reasoning

get_web_content

Fetches content from a given HTTP/HTTPS URL. This tool allows you to retrieve text content from web pages, APIs, or any accessible HTTP endpoints. Returns the raw content as text.

Arguments:

  • url (String) (Required): The complete HTTP/HTTPS URL to fetch content from (e.g., https://example.com)

gchat_list_spaces

List all available Google Chat spaces/rooms

gchat_send_message

Send a message to a Google Chat space or direct message

Arguments:

  • space_name (String) (Required): Name of the space to send the message to
  • message (String) (Required): Text message to send

ai_web_search

search the web by using Google AI Search. Best tool to update realtime information

Arguments:

  • question (String) (Required): The question to ask. Should be a question
  • context (String) (Required): Context/purpose of the question, helps Gemini to understand the question better

gitlab_list_projects

List GitLab projects

Arguments:

  • group_id (String) (Required): gitlab group ID
  • search (String): Multiple terms can be provided, separated by an escaped space, either + or %20, and will be ANDed together. Example: one+two will match substrings one and two (in any order).

gitlab_get_project

Get GitLab project details

Arguments:

  • project_path (String) (Required): Project/repo path

gitlab_list_mrs

List merge requests

Arguments:

  • project_path (String) (Required): Project/repo path
  • state (String) (Default: all): MR state (opened/closed/merged)

gitlab_get_mr_details

Get merge request details

Arguments:

  • project_path (String) (Required): Project/repo path
  • mr_iid (String) (Required): Merge request IID

gitlab_create_MR_note

Create a note on a merge request

Arguments:

  • project_path (String) (Required): Project/repo path
  • mr_iid (String) (Required): Merge request IID
  • comment (String) (Required): Comment text

gitlab_get_file_content

Get file content from a GitLab repository

Arguments:

  • project_path (String) (Required): Project/repo path
  • file_path (String) (Required): Path to the file in the repository
  • ref (String) (Required): Branch name, tag, or commit SHA

gitlab_list_pipelines

List pipelines for a GitLab project

Arguments:

  • project_path (String) (Required): Project/repo path
  • status (String) (Default: all): Pipeline status (running/pending/success/failed/canceled/skipped/all)

gitlab_list_commits

List commits in a GitLab project within a date range

Arguments:

  • project_path (String) (Required): Project/repo path
  • since (String) (Required): Start date (YYYY-MM-DD)
  • until (String): End date (YYYY-MM-DD). If not provided, defaults to current date
  • ref (String) (Required): Branch name, tag, or commit SHA

gitlab_get_commit_details

Get details of a commit

Arguments:

  • project_path (String) (Required): Project/repo path
  • commit_sha (String) (Required): Commit SHA

gitlab_list_user_events

List GitLab user events within a date range

Arguments:

  • username (String) (Required): GitLab username
  • since (String) (Required): Start date (YYYY-MM-DD)
  • until (String): End date (YYYY-MM-DD). If not provided, defaults to current date

gitlab_list_group_users

List all users in a GitLab group

Arguments:

  • group_id (String) (Required): GitLab group ID

gitlab_create_mr

Create a new merge request

Arguments:

  • project_path (String) (Required): Project/repo path
  • source_branch (String) (Required): Source branch name
  • target_branch (String) (Required): Target branch name
  • title (String) (Required): Merge request title
  • description (String): Merge request description

gmail_search

Search emails in Gmail using Gmail's search syntax

Arguments:

  • query (String) (Required): Gmail search query. Follow Gmail's search syntax

gmail_move_to_spam

Move specific emails to spam folder in Gmail by message IDs

Arguments:

  • message_ids (String) (Required): Comma-separated list of message IDs to move to spam

gmail_create_filter

Create a Gmail filter with specified criteria and actions

Arguments:

  • from (String): Filter emails from this sender
  • to (String): Filter emails to this recipient
  • subject (String): Filter emails with this subject
  • query (String): Additional search query criteria
  • add_label (Boolean): Add label to matching messages
  • label_name (String): Name of the label to add (required if add_label is true)
  • mark_important (Boolean): Mark matching messages as important
  • mark_read (Boolean): Mark matching messages as read
  • archive (Boolean): Archive matching messages

gmail_list_filters

List all Gmail filters in the account

gmail_list_labels

List all Gmail labels in the account

gmail_delete_filter

Delete a Gmail filter by its ID

Arguments:

  • filter_id (String) (Required): The ID of the filter to delete

gmail_delete_label

Delete a Gmail label by its ID

Arguments:

  • label_id (String) (Required): The ID of the label to delete

jira_get_issue

Retrieve detailed information about a specific Jira issue including its status, assignee, description, subtasks, and available transitions

Arguments:

  • issue_key (String) (Required): The unique identifier of the Jira issue (e.g., KP-2, PROJ-123)

jira_search_issue

Search for Jira issues using JQL (Jira Query Language). Returns key details like summary, status, assignee, and priority for matching issues

Arguments:

  • jql (String) (Required): JQL query string (e.g., 'project = KP AND status = "In Progress"')

jira_list_sprints

List all active and future sprints fo

View source on GitHub