VOOZH about

URL: https://glama.ai/mcp/servers/mshegolev/kibana-mcp?locale=ko-KR

⇱ mshegolev/kibana-mcp by mshegolev | Glama


kibana-mcp

πŸ‘ PyPI version
πŸ‘ Python 3.10+
πŸ‘ License: MIT
πŸ‘ Tests

Claude 및 λͺ¨λ“  MCP ν˜Έν™˜ μ—μ΄μ „νŠΈλ₯Ό 톡해 Kibana / Elasticsearch 둜그 검색, 집계, 인덱슀 탐색 및 λŒ€μ‹œλ³΄λ“œ λΈŒλΌμš°μ§•μ„ μˆ˜ν–‰ν•˜λŠ” MCP μ„œλ²„μž…λ‹ˆλ‹€.

μ™œ λ‹€λ₯Έ Kibana MCP인가?

κΈ°μ‘΄ 톡합 방식은 λΈŒλΌμš°μ € μˆ˜μ€€μ˜ 자격 증λͺ…이 μžˆλŠ” μ‹€ν–‰ 쀑인 Kibana μΈμŠ€ν„΄μŠ€κ°€ ν•„μš”ν•˜λ©°, μ’…μ’… μ•ˆμ •μ μΈ REST API λŒ€μ‹  Kibana UIλ₯Ό λž˜ν•‘ν•©λ‹ˆλ‹€. 이 μ„œλ²„λŠ” λ‹€μŒκ³Ό 같은 νŠΉμ§•μ΄ μžˆμŠ΅λ‹ˆλ‹€:

  • 둜그 쿼리λ₯Ό μœ„ν•΄ Elasticsearch REST API에 직접 μ—°κ²° (더 λΉ λ₯΄κ³ , Kibana UI 변경에도 μ•ˆμ •μ μž„)

  • 직접적인 ES URL이 κ΅¬μ„±λ˜μ§€ μ•Šμ€ 경우 Kibana μ½˜μ†” ν”„λ‘μ‹œλ‘œ λŒ€μ²΄ (μΆ”κ°€ λ°©ν™”λ²½ κ·œμΉ™ λΆˆν•„μš”)

  • ApiKey 인증(μ—μ΄μ „νŠΈμ— 졜적), κΈ°λ³Έ 인증 및 읡λͺ… μ•‘μ„ΈμŠ€ 지원

  • λͺ¨λ“  MCP ν΄λΌμ΄μ–ΈνŠΈμ™€ μž‘λ™ν•˜λ„λ‘ κ΅¬μ‘°ν™”λœ JSON(outputSchema)κ³Ό λ§ˆν¬λ‹€μš΄ ν…μŠ€νŠΈλ₯Ό λͺ¨λ‘ λ°˜ν™˜

  • 읽기 μ „μš© β€” λͺ¨λ“  λ„κ΅¬λŠ” readOnlyHint: trueλ₯Ό ν¬ν•¨ν•˜λ©°, 데이터λ₯Ό μˆ˜μ •ν•˜μ§€ μ•ŠμŒ

Related MCP server: Elasticsearch/OpenSearch MCP Server

도ꡬ

도ꡬ

API

μ„€λͺ…

kibana_list_indices

GET ES/_cat/indices

μƒνƒœ, λ¬Έμ„œ 수, 크기λ₯Ό ν¬ν•¨ν•œ μ‚¬μš© κ°€λŠ₯ν•œ 인덱슀 탐색

kibana_search_logs

POST ES/{index}/_search

μ‹œκ°„ λ²”μœ„, μ •λ ¬, 크기λ₯Ό ν¬ν•¨ν•œ 전체 ν…μŠ€νŠΈ 둜그 검색

kibana_aggregate_logs

POST ES/{index}/_search

count/avg/sum/min/max λ©”νŠΈλ¦­μ„ μ‚¬μš©ν•œ μš©μ–΄ κ·Έλ£Ήν™”

kibana_list_dashboards

GET Kibana/api/saved_objects/_find

검색 및 νŽ˜μ΄μ§€ 맀김을 ν¬ν•¨ν•œ μ €μž₯된 λŒ€μ‹œλ³΄λ“œ λͺ©λ‘

kibana_get_dashboard

GET Kibana/api/saved_objects/dashboard/{id}

νŒ¨λ„ 뢄석을 ν¬ν•¨ν•œ 단일 λŒ€μ‹œλ³΄λ“œ κ°€μ Έμ˜€κΈ°

μ„€μΉ˜

pip install kibana-mcp

λ˜λŠ” uvxλ₯Ό μ‚¬μš©ν•˜μ—¬ 직접 μ‹€ν–‰:

uvx kibana-mcp

ꡬ성

ν™˜κ²½ λ³€μˆ˜

λ³€μˆ˜

ν•„μˆ˜

μ„€λͺ…

KIBANA_URL

예

Kibana 기본 URL (예: https://kibana.example.com)

ELASTICSEARCH_URL

μ•„λ‹ˆμš”

직접적인 ES μ—”λ“œν¬μΈνŠΈ. μ„€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ ES μš”μ²­μ΄ Kibana μ½˜μ†” ν”„λ‘μ‹œλ₯Ό 톡함

KIBANA_API_KEY

μ•„λ‹ˆμš”

ES API ν‚€ (ApiKey base64(id:api_key) ν˜•μ‹). μ—μ΄μ „νŠΈμ— ꢌμž₯

KIBANA_USERNAME

μ•„λ‹ˆμš”

HTTP κΈ°λ³Έ 인증 μ‚¬μš©μž 이름 (API ν‚€κ°€ μ„€μ •λ˜μ§€ μ•Šμ€ 경우 μ‚¬μš©)

KIBANA_PASSWORD

μ•„λ‹ˆμš”

HTTP κΈ°λ³Έ 인증 λΉ„λ°€λ²ˆν˜Έ

KIBANA_SSL_VERIFY

μ•„λ‹ˆμš”

true (κΈ°λ³Έκ°’) λ˜λŠ” 자체 μ„œλͺ… μΈμ¦μ„œλ₯Ό μœ„ν•œ false

인증 μš°μ„ μˆœμœ„: ApiKey > κΈ°λ³Έ 인증 > 읡λͺ….

.env.example을 .env둜 λ³΅μ‚¬ν•˜κ³  값을 μž…λ ₯ν•˜μ„Έμš”.

MCP ν΄λΌμ΄μ–ΈνŠΈ ꡬ성 (Claude Desktop / claude.app)

{
 "mcpServers": {
 "kibana": {
 "command": "uvx",
 "args": ["kibana-mcp"],
 "env": {
 "KIBANA_URL": "https://kibana.example.com",
 "KIBANA_API_KEY": "your-api-key-here"
 }
 }
 }
}

λ˜λŠ” 더 λ‚˜μ€ μ„±λŠ₯을 μœ„ν•΄ 직접 ES μ•‘μ„ΈμŠ€ μ‚¬μš©:

{
 "mcpServers": {
 "kibana": {
 "command": "uvx",
 "args": ["kibana-mcp"],
 "env": {
 "KIBANA_URL": "https://kibana.example.com",
 "ELASTICSEARCH_URL": "https://es.example.com:9200",
 "KIBANA_API_KEY": "your-api-key-here"
 }
 }
 }
}

Docker

docker run --rm -i \
 -e KIBANA_URL=https://kibana.example.com \
 -e KIBANA_API_KEY=your-key \
 ghcr.io/mshegolev/kibana-mcp

μ‚¬μš© μ˜ˆμ‹œ

둜그 검색

Find the last 50 ERROR logs from the API service in the last hour

β†’ kibana_search_logs(index="logs-*", query="level:ERROR AND service:api", size=50, time_from="2026-04-18T09:00:00Z")

Show 500 HTTP errors sorted oldest first for incident replay

β†’ kibana_search_logs(index="nginx-*", query="status:500", sort_order="asc", size=100)

집계

How many logs per log level in the last hour?

β†’ kibana_aggregate_logs(index="logs-*", group_by="level", time_from="2026-04-18T09:00:00Z")

What is the average response time per service?

β†’ kibana_aggregate_logs(index="logs-*", group_by="service.keyword", metric="avg", metric_field="response_time_ms")

인덱슀 탐색

What log indices are available?

β†’ kibana_list_indices()

Show me all filebeat indices

β†’ kibana_list_indices(pattern="filebeat-*")

λŒ€μ‹œλ³΄λ“œ

Find the infrastructure dashboard

β†’ kibana_list_dashboards(search="infrastructure")

What panels does dashboard X have?

β†’ kibana_get_dashboard(dashboard_id="<id from list_dashboards>")

μ„±λŠ₯ νŠΉμ„±

  • 둜그 검색 (kibana_search_logs): 직접 ES URL μ‚¬μš© μ‹œ 일반적으둜 50-500ms; Kibana μ½˜μ†” ν”„λ‘μ‹œλ₯Ό 톡할 경우 100-200ms μΆ”κ°€

  • 집계 (kibana_aggregate_logs): size:0 쿼리 β€” νžˆνŠΈκ°€ μ „μ†‘λ˜μ§€ μ•ŠμœΌλ©°, 일반적으둜 10-100ms

  • 인덱슀 λͺ©λ‘: 단일 _cat/indices 호좜, O(index_count) 응닡, 일반적으둜 100ms 미만

  • λŒ€μ‹œλ³΄λ“œ API: Kibana μ €μž₯ 객체 API, 일반적으둜 50-200ms; μ§€μ—° μ‹œκ°„μ€ λ„€νŠΈμ›Œν¬κ°€ μ•„λ‹Œ Kibana μΈ‘μ—μ„œ λ°œμƒ

  • μ—μ΄μ „νŠΈκ°€ λΉˆλ²ˆν•˜κ²Œ 둜그λ₯Ό κ²€μƒ‰ν•˜λŠ” 경우 ELASTICSEARCH_URL을 직접 μ„€μ •ν•˜μ„Έμš” β€” ν”„λ‘μ‹œ μ˜€λ²„ν—€λ“œκ°€ μ œκ±°λ©λ‹ˆλ‹€.

개발

git clone https://github.com/mshegolev/kibana-mcp
cd kibana-mcp
pip install -e '.[dev]'
pytest tests/ -v
ruff check src tests
ruff format src tests

λΌμ΄μ„ μŠ€

MIT β€” LICENSEλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

A
license - permissive license
A
quality
A
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
1Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mshegolev/kibana-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server