
avelino/mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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+ optionalheaders) - 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:
- OAuth 2.0 — If the server supports it,
mcpopens your browser, completes the flow, and saves the token
インストール
npx -y slack-mcp-server@latest --transport stdio設定
{
"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"
}
}
}