
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에 살고 있습니다: 서버의 세 가지 유형 : - CLI는 로컬 프로세스 (command + args) - - - CLI는 원격 URL (url + 옵션 헤더)에 연결 - - - MCP 서버 (command + 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] +args) - 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"
}
}
}