AM

avelino/mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

72 stars 19 forks 品質 84 トレンド 34MIT

MCP サーバーをターミナルコマンドに変える CLI、単一バイナリ

概要

MCP サーバーをターミナルコマンドに変える CLI です。 SDKはありません。 ラッパーコードはありません。 1つのバイナリ、任意のMCPサーバー。 MCP (Model Context Protocol) サーバは、検索の問題、クエリログ、メッセージの送信、ファイル読み込みなどのツールを公開します。 このCLIでは、端末から直接これらのツールを呼び出すことができます。 サーバを一度設定し、他のコマンドと同様に使用します。 出力は常に JSON です。 それを配管し、それをjq、スクリプトします。 CLI は config (~/.config/mcp/servers.json) を読み込み、 stdio または HTTP を使用してサーバーに接続し、JSON-RPC 2.0 を呼び出してツールを呼び出します。 認証(OAuth 2.0、APIトークン)は自動的に処理されます。 サーバは ~/.config/mcp/servers.json で動作します。 ローカルプロセス(コマンド + args) - - - CLI は、リモート URL (url + オプションヘッダー) に接続します。 - - - - - コマンドラインツールを MCP サーバー (コマンド + cli: true) としてラップします。 環境変数は ${VAR NAME} 構文を使用し、実行時に解決します.

概要(AI 翻訳)

MCP サーバーをターミナルコマンドに変える CLI です。

SDKはありません。 ラッパーコードはありません。 1つのバイナリ、任意のMCPサーバー。

それが何をするか

MCP (Model Context Protocol) サーバは、検索の問題、クエリログ、メッセージの送信、ファイル読み込みなどのツールを公開します。 このCLIでは、端末から直接これらのツールを呼び出すことができます。 サーバを一度設定し、他のコマンドと同様に使用します。

出力は常に JSON です。 [jq] をパイプします。

クイックスタート

インストール:

レジストリからサーバーを追加します。

HTTPサーバを手動で追加する:

利用可能なツールを参照してください。

ツールの呼び出し:

です。 MCP を利用しています。

使い方

CLI は config ([~/.config/mcp/servers.json) を読み、 stdio または HTTP を使用してサーバーに接続し、 JSON-RPC 2.0 を呼び出してツールを呼び出します。 認証(OAuth 2.0、APIトークン)は自動的に処理されます。

設定

[~/.config/mcp/servers.json にサーバーが住んでいます。

3種類のサーバー: -Stdio — CLI はローカルプロセスをスポーン ([command]) + [[[T4]) -HTTP — CLI はリモート URL ([url]) + オプション [headers に接続します。

  • CLI — MCP サーバー ([[command]] + cli: true) としてコマンドラインツールをラップ)

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

mcp

CLI that turns MCP servers into terminal commands.

mcp sentry search_issues '{"query": "is:unresolved level:error"}'

No SDKs. No wrapper code. One binary, any MCP server.

What it does

MCP (Model Context Protocol) servers expose tools — search issues, query logs, send messages, read files. This CLI lets you call those tools directly from your terminal. You configure a server once, then use it like any other command.

$ mcp slack list_channels
$ mcp grafana search_dashboards '{"query": "api-latency"}'
$ mcp sentry get_issue_details '{"issue_id": "12345"}'

Output is always JSON. Pipe it, jq it, script it.

Quick start

Install:

# Homebrew (macOS and Linux)
brew tap avelino/mcp https://github.com/avelino/mcp.git
brew install avelino/mcp/mcp

# Docker
docker pull ghcr.io/avelino/mcp
alias mcp='docker run --rm -v ~/.config/mcp:/root/.config/mcp ghcr.io/avelino/mcp'

# Pre-built binary from GitHub Releases
# Download the latest from https://github.com/avelino/mcp/releases

# From source (requires Rust)
cargo install --path .

Add a server from the registry:

mcp add filesystem

Or add an HTTP server manually:

mcp add --url https://mcp.sentry.dev/sse sentry

See what tools are available:

mcp sentry --list

Call a tool:

mcp sentry search_issues '{"query": "is:unresolved"}'

That’s it. You’re using MCP.

How it works

graph LR
    You["You(terminal)"] --> CLI["mcp CLI"]
    CLI |"JSON-RPC 2.0stdio or HTTP"| Server["MCP Server"]
    Server  API["Service API"]
    Config[("servers.json")] -.-> CLI

    style CLI fill:#4a9,color:#fff

The CLI reads your config (~/.config/mcp/servers.json), connects to the server using stdio or HTTP, and speaks JSON-RPC 2.0 to call tools. Authentication (OAuth 2.0, API tokens) is handled automatically.

Configuration

Servers live in ~/.config/mcp/servers.json:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "slack-mcp-server@latest", "--transport", "stdio"],
      "env": {
        "SLACK_MCP_XOXP_TOKEN": "${SLACK_TOKEN}",
        "SLACK_MCP_TEAM_ID": "${SLACK_TEAM_ID}"
      }
    },
    "sentry": {
      "url": "https://mcp.sentry.dev/sse"
    }
  }
}

Three types of servers:

  • Stdio — the CLI spawns a local process (command + args)
  • HTTP — the CLI connects to a remote URL (url + optional headers)
  • CLI — wraps any command-line tool as an MCP server (command + cli: true)

Environment variables use ${VAR_NAME} syntax and are resolved at runtime.

Authentication

For HTTP servers that require auth, mcp handles it automatically:

  1. OAuth 2.0 — If the server supports it, mcp opens your browser, completes the flow, and saves the token
GitHub で README 全文を見る

インストール

npx -y slack-mcp-server@latest --transport stdio
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "slack": { "command": "npx", "args": ["-y", "slack-mcp-server@latest", "--transport", "stdio"], "env": { "SLACK_MCP_XOXP_TOKEN": "${SLACK_TOKEN}", "SLACK_MCP_TEAM_ID": "${SLACK_TEAM_ID}" } }, "sentry": { "url": "https://mcp.sentry.dev/sse" } } }