Skip to main content
Glama

Omni MCP Server ๐Ÿš€

One MCP server instead of six. GitHub, local Git, Slack, web fetching, persistent memory, and filesystem tools โ€” 15 tools in a single config entry, with dangerous capabilities off by default.

npm version npm downloads License: MIT Model Context Protocol

Omni MCP Server setup wizard configuring Claude Desktop and listing all 15 bundled tools, with Agent Mode off by default

Why Omni?

Setting up MCP usually means installing and configuring a separate server for every capability โ€” one for GitHub, one for filesystem, one for memory, one for fetch. Each has its own config block, its own runtime, its own startup cost.

Omni bundles the everyday developer tools into one server, one config entry, one npx command:

You'd normally installโ€ฆ

With Omni

server-github

โœ… built in

server-filesystem

โœ… built in

server-memory

โœ… built in

server-fetch

โœ… built in

a git server

โœ… built in

a Slack server

โœ… built in

  • ๐Ÿ”’ Safe by default โ€” shell execution and file writes are disabled unless you explicitly opt in to Agent Mode.

  • ๐Ÿ  Local & private โ€” runs on your machine over stdio. You bring your own tokens; nothing is proxied through a third party.

  • ๐Ÿชถ Zero install โ€” runs straight from npm via npx.

Related MCP server: Modular MCP Server

๐Ÿš€ Quick Start

Interactive setup (Claude Desktop)

npx -y @bitofacoder/omni-mcp-server@latest setup

The wizard asks for your optional tokens (GitHub, Slack), asks whether to enable Agent Mode, and updates your Claude Desktop config for you. Restart Claude Desktop and you're done.

Claude Code

claude mcp add omni -e GITHUB_PERSONAL_ACCESS_TOKEN=your_gh_token -- npx -y @bitofacoder/omni-mcp-server@latest

Manual config (Claude Desktop, Cursor, Windsurf, Codex CLIโ€ฆ)

Add this to your client's MCP config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "omni": {
      "command": "npx",
      "args": ["-y", "@bitofacoder/omni-mcp-server@latest"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_gh_token",
        "SLACK_BOT_TOKEN": "your_slack_token"
      }
    }
  }
}

All env vars are optional โ€” tools that need a missing token simply tell you so.

๐Ÿ› ๏ธ Tools (15)

Group

Tool

What it does

๐Ÿ™ GitHub

github_search_repos

Search GitHub repositories

github_get_issue

Get details of a specific issue

๐ŸŒณ Local Git

git_status

Working tree + staging area status

git_diff

View local code changes

git_log

View commit history

git_commit

Commit staged changes with a message

๐Ÿ’ป System

system_read_file

Read a local file

system_list_dir

List a directory

system_write_file

โš ๏ธ Write a file (Agent Mode only)

system_execute_command

โš ๏ธ Run a shell command (Agent Mode only)

๐ŸŒ Web

web_fetch

Fetch any public URL as clean Markdown โ€” no API key needed

๐Ÿง  Memory

memory_store

Save a note/preference across chats

memory_retrieve

Retrieve a saved memory

memory_list

List everything remembered

๐Ÿ’ฌ Slack

slack_send_message

Send a message to a Slack channel

๐Ÿ”’ Agent Mode (opt-in)

system_execute_command and system_write_file let the AI act on your machine โ€” run tests, install packages, edit files. Because that's real power, they are disabled by default and don't even appear in the tool list until you enable them:

"env": {
  "OMNI_AGENT_MODE": "true"
}

Everything else (reading files, git status, web fetch, memory) is read-only or sandboxed to its own data file.

๐Ÿค Contributing

PRs welcome โ€” especially new integrations (Linear, Notion, Jira, Discord) and Agent Mode hardening (allowlists, working-dir scoping). Open an issue first for bigger changes.

If Omni saved you some config wrangling, a โญ helps other people find it.

๐Ÿ“„ License

MIT โ€” see LICENSE.

Available Tools

13 tools
git_commitA

Commit currently staged changes with a specific message.

Inputs: message (required).

git_diffB

Run git diff to see exact line-by-line code changes. Shows unstaged changes by default.

Inputs: staged.

github_get_issueA

Get details of a specific GitHub issue

Inputs: repo (required), owner (required), issue_number (required).

github_search_reposB

Search for GitHub repositories

Inputs: query (required).

git_logB

Run git log to see recent commit history.

Inputs: maxCount.

git_statusA

Run git status to see the state of the working directory and staging area.

Inputs: no named parameters.

memory_listA

List all the memory keys currently saved in persistent storage.

Inputs: no named parameters.

memory_retrieveB

Retrieve a previously saved memory by its key.

Inputs: key (required).

memory_storeA

Save a note, preference, or piece of context to persistent memory so it can be recalled in future conversations.

Inputs: key (required), content (required).

slack_send_messageA

Send a message to a Slack channel

Inputs: text (required), channel (required).

system_list_dirB

List contents of a local directory

Inputs: path (required).

system_read_fileB

Read a local file from the system

Inputs: path (required).

web_fetchA

Fetch a public web page and read its content as clean Markdown

Inputs: url (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    B3.4/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool has a unique domain prefix (github_, slack_, system_, web_, memory_, git_) and a distinct action, making it clear which tool to use for a given task. There is no overlap in functionality between tools from different domains.

    Naming Consistency3/5

    Most tools follow a <domain>_<verb> or <domain>_<verb>_<object> pattern (e.g., github_search_repos, slack_send_message), but git tools use nouns (git_status, git_diff, git_log) instead of verbs, breaking the consistency. Memory tools also use verbs without objects (memory_store) rather than verb_noun.

    Tool Count4/5

    With 13 tools covering 6 different domains, the count is reasonable for an omnibus server. It provides a focused set of utilities without overwhelming the user, though some domains could benefit from a few more tools.

    Completeness2/5

    Each domain has significant gaps: GitHub only offers search and get issue (no create/update/delete), Slack only send message (no read/list), system only read and list dir (no write/delete), and git lacks add, push, pull, and branch operations. This can cause agent failures when users request common operations.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A unified MCP server with composable tools for GitHub operations, file management, shell execution, kanban boards, Discord messaging, and package management. Features role-based security, HTTP/stdio transports, and a web-based development UI.
      GPL 3.0
    • A
      license
      B
      quality
      D
      maintenance
      A config-driven, zero-dependency MCP server with plugin architecture that enables filesystem operations, shell commands, HTTP requests, and utilities through simple JSON configuration.
      3
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A secure, git-aware MCP server for working with local repositories, enabling file management, shell commands, and full git operations within allowed directories.
      134 npm
      1
      GPL 3.0